Check out Janggi (Korean Chess), our featured variant for December, 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 Sun, Nov 23, 2008 11:28 AM UTC:
I added crazyhouse to the server, and made it such that the initial
position is printed together with a move list, in games that were not
starting from the default opening position. This latter feature now allows
correct implementation of shuffle variants, and I am working on
implementing Chess960. (For this, I have to add more liberal castling
styles to the move generator and checker.)

My current plan is to make the server configurable for a wide range of
variants by supplying game-definition files. The original design was
already using this system, but the files could only describe an (8x8)
board setup, while the rules were immutable. I want to make it possible to
write some extra lines in those files, defining other game parameters. So
far I already did this for the board format, and some flags I implemented
in the server to tell it if captured pieces should go into the holdings
(and if their color should be flipped before doing so), and if drops from
the holdings are allowed. I also want to add options for setting the
castling style (none, normal, wild, Fischer, free). 

Currently I also have a flag which indicates if the Capablanca pieces are
allowed as promotion choice, represented by the hard-coded letters A and
C. But in the future I would like to handle piece types in a different
way. Each variant must be able to define its own piece set, and the
letters by which they will be indicated in the board and move
representation. In particular, I am looking for ideas how to describe a
nonstandard piece, in a way that is easy to understand and apply by the
move generator. Betza notation could be one way to do it, although I am
not sure how to describe lame leapers in it. Pieces whose move depends on
their position on the board (the Xiangqi palace and river contsrains being
a simple example of that) are also problematic. Pieces with side effects,
such as catapult pieces, pose an even larger challenge.

Are there any suggestions on how this could be done?