The Chess Variant Pages
Custom Search

Enter Your Reply

The Comment You're Replying To
H. G. Muller wrote on 2020-04-28 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 .

Edit Form

Comment on the page Chess with Different Armies page

Quick Markdown Guide

By default, new comments may be entered as Markdown, simple markup syntax designed to be readable and not look like markup. Comments stored as Markdown will be converted to HTML by Parsedown before displaying them. This follows the Github Flavored Markdown Spec with support for Markdown Extra. For a good overview of Markdown in general, check out the Markdown Guide. Here is a quick comparison of some commonly used Markdown with the rendered result:

Top level header: <H1>

Block quote

Second paragraph in block quote

First Paragraph of response. Italics, bold, and bold italics.

Second Paragraph after blank line. Here is some HTML code mixed in with the Markdown, and here is the same <U>HTML code</U> enclosed by backticks.

Secondary Header: <H2>

  • Unordered list item
  • Second unordered list item
  • New unordered list
    • Nested list item

Third Level header <H3>

  1. An ordered list item.
  2. A second ordered list item with the same number.
  3. A third ordered list item.

Alt text for a graphic image

A definition list
A list of terms, each with one or more definitions following it.
An HTML construct using the tags <DL>, <DT> and <DD>.
A term
Its definition after a colon.
A second definition.
A third definition.
Another term following a blank line
The definition of that term.