Check out Grant Acedrex, our featured variant for April, 2024.


[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Single Comment

[Subject Thread] [Add Response]
H. G. Muller wrote on Tue, Sep 29, 2009 07:00 PM UTC:
Well, it says 'was patented', pasted tense. I think my strategy for
avoiding conflicts is a lot more sensible than censoring the occurrence of
a certain word in any context, like is done here on CVP...

The source code can be downloaded from:
http://home.hccnet.nl/h.g.muller/capablanca.tar.gz
To my dismay I found out that I can no longer compile it on Ubuntu 9.04
(which I had to run on the server because older versions did not recognize
my network card and left me without internet connection). I get an obscure
error in some script that generates C source files. So I have to compile it
on Ubuntu 8.04 (Hardy Heron), and then transfer the binaries to the EeePC laptop. (I just found out that the mentioned tarball contains a bug; in 
board.c it has swapped the 'A' and 'H' for indicators of Xiangqi Advisor 
and Knightrider, so that Xiangqi did not work.)

The way categories and boards are implemented is by directory and filenames. Each category is a directory name, and each file in that directory corresponds to a board name. So in the standard setup there were files wild/1, wild/2 etc. The contents of the files described the positon. I extended that to also specifying board size, castling type, holdings type, pawn type and of course having more piece types. So the files pretty much describe the game, no matter in which directory they are placed. But the problem is to convey that info to the WinBoard client. WinBoard derives the variant it is playing from the 'Issuing' message of the ICS, which contains as only clue about the variant 'loaded from category/board'. So the naming of categories and boards must be such that WinBoard recognizes the variant that belongs to the position and game rules described in the corresponding file. The WinBoard variant-name parser recognizes wild/# or w/# as the FICS or ICC wild types, but such naming is not very user friendly. It also looks for occurrence of a sub-string equal to a WinBoard variant name. This is why wild/crazyhouse does work as well. I make use of this mechanism by naming the directories after the variant that WinBoard should switch to, and then put all boards belonging to that variant in that directory. So capablanca/bird is recognized as variant capablanca, and the opening array is then taken from the file bird. When no board is mentioned, the filename for it defaults to '0', so capablanca/0 is a file that contains the Capablanca array. When playing on ICS the ICS sends a full board position for every move (even your own) so knowing the opening array is never a problem for WinBoard. There is no restriction on the type of position that can be in the board files.