Welcome

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 (eventually) Tamerlane Chess.

Supported variants (most of them can only be played by Sjaak, unless noted otherwise):

  • Normal chess (Jazz, Sjaak and Leonidas all play this).
  • Spartan chess, where black and white play with different armies and black has two kings (Sjaak and Leonidas can both play this).
  • Seirawan chess, 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.
  • Amazon chess, where the queen moves as an amazon (needs to be played as variant "fairy" in XBoard).
  • Knightmate, where the king moves as a knight and the knights move as a king.
  • Berolina Chess, where pawns move one square diagonal and capture straight ahead.
  • Shatranj, a historic precursor of modern chess.
  • Capablanca Chess, a variant played on a 10x8 board with two extra pieces.
  • Gothic Chess, the same as Capablanca Chess but with a different starting position.
  • Fischer Random Chess and Capablanca 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).
  • Makruk, the Thai version of Chess. ASEAN chess and Ai-Wok are supported Makruk variants.
  • Pocket Knight, like normal chess, but players have an extra knight they can drop on the board.
  • Grand Chess, on a 10x10 board.
  • Indian Grand Chess, or possibly Turkish Grand Chess. On a 10x10 with four extra pieces.
  • Burmese chess (Sittuyin), needs to be played in XBoard with legality testing off.
  • Courier 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).
  • Traditional Mongolian Chess (Shatar), which has restrictions on how mate can be delivered.
  • Omicron Chess, which is basically Omega Chess on a slightly smaller board.
  • Omega Chess, a variant on a 12x12 (effectively 10x10 with four extra squares) board.
  • Grande Acedrex, 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 Postduif.
  • Various minor variantions and challanges, including Peasant's 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 GNU General Public Licence) and can be used with any chess GUI that implements the UCI (Jazz) or XBoard/WinBoard (Jazz, Sjaak, Leonidas, Postduif) protocols.