Currently I'm working on a converter between different notation styles, e.g. conversion between SAN and CAN, which also works for any chess variant. The basis for such a converter, which has to understand any variant, is the mapping of specific game rules to a formal system. This system comprises the behaviour of the pieces - how they move, how to promote, how to drop, etc. - and general board rules, e.g. which piece is the royal piece (can be checkmated), how is the promotion zone defined (last three ranks in Shogi, for instance), and so on.
In project C/CIF I've described 90 chess variants (including orthodox chess) so far, see Chess Variants. I'm using FBR (Formalized Board Rules), and MBN (Modified Betza Notation) as a basis, also the FEN for the definition of the standard setup plays an important role. Both system, FBR and MBN, are the result of an analysis of about 100 chess variants. It seems to be difficult to really describe any chess variant, for instance the chess variant Omega Chess is not yet included, I don't see a way how to handle the corners without the definition of very complex and ugly rules. Thus such a system, handling many chess variants, has his limits.
This formal system is also a good basis to write a chess engine supporting all these variants. Of course such an engine cannot be very strong, a specialized engine is required to be strong, but I think that such an super-engine is good enough to try some variants out.
NB: Due to my analysis neither Betza 1 nor Betza 2 was sufficient for the definition of all these variants, for instance it is required that the move notation is linked with the general board rules, so I've invented MBN.
Chess variants and converters
Moderator: Ras
-
gcramer
- Posts: 40
- Joined: Mon Oct 28, 2013 11:21 pm
- Location: Bad Homburg, Germany