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

Chess with Different Armies. Betza's classic variant where white and black play with different sets of pieces. (Recognized!)[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Tue, Apr 28, 2020 09:45 PM UTC:

I did some more work on the CwDA version of KingSlayer, and finally put the source code on line. The latest version now also supports the Daring Dragons army. This was not a trivial addition; this army needed several unusual features that were not implemented yet. For one, the Dragoons (KimN) need a divergent virgin move, and neither divergence nor virgin moves were implemented (other than in the hard-coded Pawn). The Wyvern has a ski-sliding move, which thoroughly affects the way we have to test for check, and what evasions to generate. It introduces a new mode of checking (which I call 'tandem check'), which is a double check where both checks come from the same direction. These can not be cured by capture of the checker, but unlike normal double check, it can be cured by interposition.

The Dragonfly is a tricky piece, with binding to odd or even files. It requires special evaluation to handle it well in the end-game. One of the unusual properties is that it is a 'semi-major': it can force checkmate on a bare King, but the KFK end-game also has fortress draws. Which of the two it is, is about an even call, like a promotion race in KPK: If the bare King can reach the b-file before the Dragonfly gets there, he can take safe shelter on the a-file, and it is draw. Otherwise it is a win. From the material composition alone, you cannot make a good guess. So I put in a routine that makes a reasonable guess based on the actual locations. (Not perfect yet, as it doesn't take account of the bare King hindering the Dragonfly in its attempt to reach the b-file, or vice versa, but that only happens in a minority of the positions.)

When the weak side still has Pawns (e.g. KFKP), I classify the end-game as drawish. (But not as bad as for KBKP, where you have no chance at all.) This assumes that the Pawn can act as a sufficient distraction for the strong side that the weak side has a very good chance of reaching safety with his King in the mean time. In fact a fair amount of positions in this end-game are won for the Pawn! If the Dragonfly cannot visit the file the Pawn is on, you only have the King to stop it, and the Pawn can easily be outside its reach as well. So Dragonfly endings, like Pawn endings, should really test for 'unstoppable passers' in their evaluation. (At the moment, KingSlayer doesn't do that for either, with as a consequence that is sometimes trades the last (non-Dragonfly) piece in a near-equal position, and on the next move (where it can search much deeper) sees the score dropping to -8.xx because the opponent's promotion can no longer be prevented.

The version I uploaded has the announcement of equal-army sub-variants commented out. With all combinations of the 5 supported armies, the list of variants in the CECP variants feature had become so long that it crashed XBoard!

I also started implementing limited configurability: it supports a variant 'custom', for which the user can specify (in a file gamedef.ini) the armies as an arbitrary selection of all the supported CwDA pieces. In addition there are two user-configurable pieces that can be selected too. These pieces can be built as an arbitrary combination of the move sets used to construct the standard CwDA pieces, plus one user-specified set of leaper moves. I am still thinking about a way to also allow specification of divergent or lame moves on these pieces. It might also be useful to allow redefinition of the set of leaps that is only used for the Charging Knight, in cases where the latter doesn't participate. And perhaps to redefine one or two slider moves, e.g. by making the range of R4 configurable, or perhaps replaceable by B3 or B4, or fB.

[Edit] I now uploaded a Windows binary of the latest version to http://hgm.nubati.net/CwDA.zip .