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, Oct 5, 2008 12:51 PM UTC:
Reinhard:

When I rigged WinBoard and Fairy-Max to play Superchess, I interpreted the
rules that are given on the superchess website rather liberally, in order to
have a quick result. (The Dutch Championship takes place Oct 12!)

I did not feel like implementing the prelude as it is described in the
rules. The prelude in my eyes is merely a way to randomize the opening
array without the aid of any external equipment, so that it can be used in
Human over-the-board play. No strategical advantage can be derived from it,
as one is forced to symmetrize after every choice by the opponent, undoing
every advantage the choice could have had. It is just a clever way of
making sure both players have an effect on the opening position, so that
neither of them can be sure what he gets to play, and derive opening
theory for it.

When a computer participates, there is no need for this. Even if the
engine cannot be trusted not to cheat, one can have the GUI set up a
shuffled array, and transmit it as a FEN to the engine(s). So this is what
I do. The GUI creates a random setup according to the rules, by starting
with the FIDE array, and then randomly deleting 2 pieces from a1-d1, and
two pieces from f1-h1, and then randomly filling the holes with the four
'exo-pieces'. If people object that this gives them less influence on
the opening array than with te prelude method, they are in fact wrong:
when playing a computer, they can click 'new game' until they get a
position that they like, and if they are patient enough, they could even
get exactly what they want. (There are 6 x 3 x 24 = 432 arays possible.)

This avoids the problem of having to design a protocol for exchanging the
pieces. (These are basically drop moves to occupied squares, so I could
have used the WinBoard crazyhouse syntax for drop moves, e.g. A@d1. But it just did not seem worth it.)

You are right about the FEN complication. In implementing Superchess, I
leaned strongly on the WinBoard Crazyhouse capabilities: in Crazyhouse
captured pieces are also put next to the board. And of course there you
also have the problem that these 'holdings' are part of the game state.

WinBoard uses for Crazyhouse, Bughouse and Shogi (the three variants with
holdings it supports) a FEN format that contains between board and stm field an optional holdings field. This field contains all pieces in the holdings (indicated by the same letter as they woud be on the board), enclosed in brackets []. So a FEN for an opening position could look like this:

rnavkser/pppppppp/8/8/8/8/PPPPPPPP/RNAVKSER[NBBQnbbq] w KQkq - 0 1

(I used A=Amazon=QN, E=Empress=RN, S=Princess=BN and V=Veteran=KN, but in
WinBoard this is user-adjustable.) On input WinBoard also understands the
b-FEN standard, which encodes the holdings as an extra rank of the board.

Castling in Superchess is possible only with a Rook; the fact that all
Rooks are still on the board in the FEN I gave is accidental. You might
have no Rooks at all, and then there is no castling.

It would be great if you could make SMIRF play Superchess. If it would
play through Smirfoglot uder WinBoard, it would just be a matter of
implementing the two new pieces, and adapting the promotion choice.
(Something I haven't fixed in Fairy-Max yet. It is a bit hard to fix
this, as Fairy-Max / micro-Max used to be an 'always-promote-to-Queen
engine'.) WinBoard already takes care of shuffling the opening array.