Check out Atomic Chess, our featured variant for November, 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

Asymmetric Chess. Chess with alternative units but classical types and mechanics. (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
H. G. Muller wrote on Thu, Nov 24, 2016 07:39 PM UTC:

I think I have a satisfactory solution implemented in WinBoard, now. I improved the standard move generation and execution for Pawns to always remember the square skipped by a Pawn or Lance that moves more than 1 step forward, as well as where that Pawn ended up. And I now always allow a diagonal Pawn move to the same file as such a square, and then always remove the Pawn moved on the preceding move. Pawns (or Lances) with redefined moves, however, will consider every move to the skipped square an attempt to e.p. capture, also if that move in the move definition did not have e.p. capture rights (but some other move did), or indeed any capture rights at all.

This fails for Berolina Pawns, which can move through their diagonal non-capture to the square skipped by an anti-diagonal double-push. But there would hardly ever be any need to define Pawns as Berolina Pawns, as Berolina Chess is a standard variant, which has these Pawns and their e.p. habits hard-coded, and other variants could inherit that by defining 'berolina' as parent variant.

The Elvish and Orkish Pawns  do not have this problem:  all their moves can capture, and thus presumably also e.p. capture when they go to a square skipped by a double-push. Only FIDE Pawns have a problem against Elvish Pawns, in that their straight-forward non-capture can reach a skipped square. But this can then be solved by not redefining the Human Pawn, so that the built-in default move generation is used for that. And this does know that only diagonal moves can e.p. capture.

The only problem is that e.p. rights will not always be properly taken into account when comparing positions for the purpose of determining 3-fold-repetition draws. WinBoard might mistakenly think that no e.p. rights exists after a double-push because there are no Pawns next to the double-pushed Pawn that could e.p. capture it. While in fact the Pawns that can e.p. capture it are further away (e.g. after e2-e4 an Orkish Pawn on d3, or after e2-g4 an Elvish Pawn on e4). I suppose we can live with that; Fairy-Max assumes any repetition of a previous position will be a draw anyway.

The fixed WinBoard executable can be dowloaded from http://hgm.nubati.net/winboard.zip .