Variants descriptions (wiki)
Chess programming links
Chess programming wiki
Ed Schröder's programming pages
XBoard communication protocol
Talk Chess forum
Welcome to the homepage dedicated to my expanding family of chess engines:
Jazz, Sjaak and Leonidas!
Jazz is a fairly standard chess program. It currently has no opening book,
and doesn't use an endgame database.
Sjaak is a much weaker chess program (Sjaak II less so than the old
version), but in addition to normal chess it
can play a (large) number of other games and chess variants.
Leonidas is intermediate between Jazz and Sjaak and was designed primarily
to play Spartan Chess (see below), but it plays some more variants.
The latest addition to the family is Postduif (Dutch for Carrier
Pigeon), which is designed specifically to play Grande Acedrex and
Supported variants (most of them can only be played by Sjaak, unless noted
Normal chess (Jazz, Sjaak and Leonidas all play this).
where black and white play with different armies and black has two
kings (Sjaak and Leonidas can both play this).
where both sides start with an extra off-the-board piece that can be
introduced later (Sjaak and Leonidas both play this).
The Maharaja and the Sepoys,
where white has only one piece (the Maharaja) (needs to be played as
variant "fairy" in XBoard). In Sjaak II you need to load the
variants.txt configuration file to make this variant available.
where the queen moves as an amazon (needs to be played as variant
"fairy" in XBoard).
where the king moves as a knight and the knights move as a king.
where pawns move one square diagonal and capture straight ahead.
a historic precursor of modern chess.
a variant played on a 10x8 board with two extra pieces.
the same as Capablanca Chess but with a different starting position.
Fischer Random Chess and
Random Chess, which are like normal chess and normal Capablanca
chess, but with a randomised starting position (Sjaak does not
generate a starting position, however).
Thai version of Chess. ASEAN
chess and Ai-Wok
are supported Makruk variants.
Knight, like normal chess, but players have an extra knight they
can drop on the board.
on a 10x10 board.
Grand Chess, or possibly Turkish Grand Chess. On a 10x10 with
four extra pieces.
chess (Sittuyin), needs to be played in XBoard with legality testing off.
chess, a medieval variant played on a 12x8 board.
Chinese chess (Xiangqi),
Black and white face eachother across the river that runs along the
board, with their kings confined to their palaces.
Japanese chess (Shogi),
where captured pieces can be dropped on the board to reinforce your
own army. Also supported are a number of Shogi variants (sho-shogi,
mini-shogi and tori-shogi).
Mongolian Chess (Shatar), which has restrictions on how mate can
which is basically
on a slightly smaller board.
a variant on a 12x12 (effectively 10x10 with four extra squares)
a large (12x12) mediaeval variant of chess with divergent pieces: the
Rhinoceros/Unicorn (first as Knight, then as Bishop) and the
Gryphon/Aanca (first as Ferz, then as Rook). Can be played by
Various minor variantions and challanges, including
revolt, Legan's chess.
The structure of Sjaak, Jazz and Leonidas is very similar. Some modules
are shared between the programs, but others are rewritten from scratch.
The programs are more like siblings than descendants. Except for Postduif,
which is more like a cousin.
Sjaak comes with a command-line tool for playing engine-engine matches
called Sjef. This uses Sjaak as a referee so it can handle all variants
that Sjaak knows about (in particular, it does not handle Seirawan chess,
although I have a work-around in mind for that).
All programs are freely available (under the terms of the
and can be used with any chess GUI that implements the UCI (Jazz) or
XBoard/WinBoard (Jazz, Sjaak, Leonidas, Postduif) protocols.