Neurosis 1.7

Archive of the old Parsimony forum. Some messages couldn't be restored. Limitations: Search for authors does not work, Parsimony specific formats do not work, threaded view does not work properly. Posting is disabled.

Neurosis 1.7

Postby Stan Arts » 28 Apr 2004, 18:23

Geschrieben von:/Posted by: Stan Arts at 28 April 2004 19:23:05:

Hi everyone
I've finished a new version of my program Neurosis. 1.7 .
A new winboard and 3D version.
Lot's of improvements everywhere, hopefully 50-100 elo stronger then 1.6,
also the speculative option works better, better time-use and many other
things. This version has played at CSVN's ICT4 in Leiden last weekend.
And for the 3D version I've rewritten all my 3D code. I'm working on another
3D game, and now using that in Neurosis-3D too, and so the graphics have
improved, especially when you are flying around. Also the chessclock now has
buttons, that go up and down, hopefully looks more realistic and making it
easyer to see who's on turn. Shapes of the chesspieces (pawns shorter, back-
row pieces a little taller, and fixed the knight's ears) and board has improved.
And you can't fly upside down anymore.
Available for download on Leo Dijksman's WBEC website.
http://wbec-ridderkerk.nl/
(Thanks Leo!)
Stan
Stan Arts
 

Re: Neurosis 1.7

Postby Sune Fischer » 29 Apr 2004, 00:58

Geschrieben von:/Posted by: Sune Fischer at 29 April 2004 01:58:00:
Als Antwort auf:/In reply to: Neurosis 1.7 geschrieben von:/posted by: Stan Arts at 28 April 2004 19:23:05:
Hi everyone
I've finished a new version of my program Neurosis. 1.7 .
A new winboard and 3D version.
Lot's of improvements everywhere, hopefully 50-100 elo stronger then 1.6,
also the speculative option works better, better time-use and many other
things. This version has played at CSVN's ICT4 in Leiden last weekend.
And for the 3D version I've rewritten all my 3D code. I'm working on another
3D game, and now using that in Neurosis-3D too, and so the graphics have
improved, especially when you are flying around. Also the chessclock now has
buttons, that go up and down, hopefully looks more realistic and making it
easyer to see who's on turn. Shapes of the chesspieces (pawns shorter, back-
row pieces a little taller, and fixed the knight's ears) and board has improved.
And you can't fly upside down anymore.
Available for download on Leo Dijksman's WBEC website.
http://wbec-ridderkerk.nl/
(Thanks Leo!)
Stan
Very cool program, what library and language did you use for the 3D stuff?
Since you've gone to all that trouble already, perhaps adding a 2D board would
also be possible?
Would be nice with a higher polygon count and anti-aliasing, but I guess that
would be too expensive if it is software emulated graphics.
I don't suppose you care to make the protocol public? ;)
-S.
Sune Fischer
 

Re: Neurosis 1.7

Postby Stan Arts » 29 Apr 2004, 15:08

Geschrieben von:/Posted by: Stan Arts at 29 April 2004 16:08:16:
Als Antwort auf:/In reply to: Re: Neurosis 1.7 geschrieben von:/posted by: Sune Fischer at 29 April 2004 01:58:00:

Hi Sune!
Very cool program, what library and language did you use for the 3D stuff?
Since you've gone to all that trouble already, perhaps adding a 2D board would
also be possible?
Would be nice with a higher polygon count and anti-aliasing, but I guess that
would be too expensive if it is software emulated graphics.
I don't suppose you care to make the protocol public? ;)
Thank you. It's written in Pascal. No library for the 3D, that's part of my
main program, also the graphical functions to draw polygons and texturemapping
and pixels and drawing the font, it's all hobbied together from over a longer
time.
The .dll however is used to initialise a fullscreen direct-draw screenmode,
where I'm able to directly acces the screenmemory and draw to that. It comes
from an open Free-Pascal library called vgfx. I'm not good (=looking into it
gave me a headache and I stopped) at the to-windows-related-programming and
that has code that handles that for me. ie. : initialising the screenmode,
mouse, keyboard, and windowsevents.
Yes, I want to do that sometime, maybe so the user can switch back and forth
between 2D and 3D, but otherwise the winboard version will run under any 2D
gui like winboard and arena and those are good. But maybe I'll make an option
to view the board from above and the pieces flipped sideways and see what that
looks like. It would be fake 2D though.
Yes the graphics don't look so modern, but that's not so easy. :( Especially
when looking at those boards the commercial programs now have.. Hmm, anyway
currently a full board is a bit over 2000 polygons for me. (pawn has 48
polygons, knight 54, bishop 64, rook 44, queen 64 and the king 64) Well and it
took me quite some time to create the pieces.. I also don't have any descent
editor for how I store 3D data except my old 320x200x256 Dos editor I wrote
long ago without mouse-support, but then it's faster for me to just text-edit
a row of numbers into a 3D shape.
The 3D costs me a lot in chess-speed. Depending on how fast the computer's
video-memory and memory is, the 3D version runs something like 20% slower and
that's with doing 15.000 nodes between each screenframe.
Anti-aliasing or anything other with light or blending texture-squares or so
would be really expencive indeed, also just texturemapping everything is too
expencive for me, but that's because of how I texturemap. Also things like anti-
aliasing are currently impossible speed-wise because of how I do the 3D. : I
handle and calculate the polygons separatly and then display them to screen,
instead of "raycasting" a screenpixel back to a polygon and it's texture-square
or lighting and so.
I could try to make the pieces more complex though, especially after the rewrite
the number of polygons isn't much of a problem anymore, and there's no noticable
slowing till about 10.000 polygons on a modern computer. But making new more
complicated pieces will take me another month..
There isn't one. It's hard-coded, N3D.exe also has all chess-code in it. But if
anyone's interested I can make a clean frame-ish code of the 3D board and then
they can try to make a gui out of it that can communicate with other engines.
I don't really understand pipes very well..
Here's how the neurosis-unit (have two versions, the winboard version is
one file as a main program, and the version for neurosis-3d works in a
unit) code communicates (through functions and procedures to transfer things
back and forth) with the interface part, by the way. :
procedure zetnieuwop(speelzijde:byte;tijdprsec:integer);
function doemenszet(veldje1,veldje2,promostuk:byte):byte;
function geefPV:string;
function denk1000:byte;
function hoediep:byte;
function transferbord(tveldnr:byte):byte;
function spelstatus:byte;
function geefnodes:longint;
procedure free_geheugen;
procedure opslaan_pgn(bestandnaam,tijdcontrols:string);
function geef_kijknaar:string;
function geef_score:string;
function zetuitlijst(zetnummerr:integer):string[20];
function geef_zetnmr:integer;
function geefspeleind:string;
function handletijd:byte;
procedure geeflevc(lclijn:string);
procedure deovertijd(tijdinsecover:longint);
function volgendetijdc:byte;
procedure zetmensachtig(zetmenswat:byte);
function wieschaak:byte;
procedure loggen(logaanofuit:byte);
procedure brdnaarneuro(tveldnr,inhvveldnr:byte);
procedure startvanedit(speelzijde,wieszet:byte);
procedure hoespecul(hoespec:byte);
procedure ilimt(hoevliter:smallint);
procedure zetvarren(varaanuit:byte);
function inhoudvangeslagenvak:byte;
Hmm..
Goodluck with Frenzee!
Stan
Stan Arts
 

Re: Neurosis 1.7

Postby Sune Fischer » 29 Apr 2004, 16:14

Geschrieben von:/Posted by: Sune Fischer at 29 April 2004 17:14:00:
Als Antwort auf:/In reply to: Re: Neurosis 1.7 geschrieben von:/posted by: Stan Arts at 29 April 2004 16:08:16:
Hi Sune!
Very cool program, what library and language did you use for the 3D stuff?
Would be nice with a higher polygon count and anti-aliasing, but I guess that
would be too expensive if it is software emulated graphics.
I don't suppose you care to make the protocol public? ;)
Thank you. It's written in Pascal. No library for the 3D, that's part of my
main program, also the graphical functions to draw polygons and texturemapping
and pixels and drawing the font, it's all hobbied together from over a longer
time.
The .dll however is used to initialise a fullscreen direct-draw screenmode,
where I'm able to directly acces the screenmemory and draw to that. It comes
from an open Free-Pascal library called vgfx. I'm not good (=looking into it
gave me a headache and I stopped) at the to-windows-related-programming and
that has code that handles that for me. ie. : initialising the screenmode,
mouse, keyboard, and windowsevents.
Yes the graphics don't look so modern, but that's not so easy. :( Especially
when looking at those boards the commercial programs now have.. Hmm, anyway
currently a full board is a bit over 2000 polygons for me. (pawn has 48
polygons, knight 54, bishop 64, rook 44, queen 64 and the king 64) Well and it
took me quite some time to create the pieces.. I also don't have any descent
editor for how I store 3D data except my old 320x200x256 Dos editor I wrote
long ago without mouse-support, but then it's faster for me to just text-edit
a row of numbers into a 3D shape.
The 3D costs me a lot in chess-speed. Depending on how fast the computer's
video-memory and memory is, the 3D version runs something like 20% slower and
that's with doing 15.000 nodes between each screenframe.
Anti-aliasing or anything other with light or blending texture-squares or so
would be really expencive indeed, also just texturemapping everything is too
expencive for me, but that's because of how I texturemap. Also things like anti-
aliasing are currently impossible speed-wise because of how I do the 3D. : I
handle and calculate the polygons separatly and then display them to screen,
instead of "raycasting" a screenpixel back to a polygon and it's texture-square
or lighting and so.
There isn't one. It's hard-coded, N3D.exe also has all chess-code in it. But if
anyone's interested I can make a clean frame-ish code of the 3D board and then
they can try to make a gui out of it that can communicate with other engines.
I don't really understand pipes very well..
Goodluck with Frenzee!
Stan
I played a little with this in OpenGL for a real time fractal zooming program, it worked ok, of course plotting one pixel at a time is still very slow.
If anyone is interested I can release the code, it's just one file.
You'll need Mesa3D, pthreads and a linux box to compile it, I have no idea if it still works, I haven't tried it for years.
DirectX is probably better for windows but it's also a lot more advanced.
Isn't it possible to create pieces as objects and then somehow transform the object as a whole?
I guess this is how it is done in DirectX, invoking the card to handle the trigonomety part.
Do you re-draw the board continuesly or just when the frame changes?
I don't think it is necessary to re-calcuate the frame if e.g. only the mouse moves, usually it it possible to save it to a back buffer or something.
Yes, you really need hardware support for that.
Pipes? No thanks, I don't smoke. :)
But, I also don't use Pascal so it probably wouldn't be of much practical use to me :(
Thanks for offering though, I have been thinking about starting on a GUI, would be nice to have that kind of flexibility.
Thanks, and good luck to you with Neurosis!
-S.
Sune Fischer
 


Return to Archive (Old Parsimony Forum)

Who is online

Users browsing this forum: No registered users and 25 guests