Aart's Computer Chess Page

Aart Bik got his first chess computer in 1981. Since then, he has been fascinated by programming computers to play chess. Excellent resources related to this topic can be found, for example, in David Levy's Computer Chess Compendium, and on the web at CCRL Forum, Chess Programming Wiki, Chess2U, ChessWar, Countrychess, Ed Schröder's website, Hiarcs ChesForum, Jim Ablett's Chess Projects, Le Fou Numérique, Open Chess Forum, Prof. Hyatt's website, RWBC, Rybka Forum, TalkChess Forum, TCEC, WBEC Ridderkerk, WB Olympic Games, and Winboard Forum. The source code of Peter Jennings' famous Microchess ported to the Commodore 64 can be found at Aart's C64 page.

Ongoing thoughts related to chess programming can often be found at Aart's blog. Private test games are broadcasted here.

UCI Chess Engine: BikJump

[BIKJUMPLOGO] Aart occasionally works on his UCI chess engine, called BikJump. Here, UCI stands for Universal Chess Interface, designed by Stefan Meyer-Kahlen and Rudolf Huber as an open interface between a chess engine and a graphical chess program. The UCI approach allows aspirant chess programmers to focus on writing the chess engine, leaving details such as board setup and play, clock and notation display, and possibly opening book and root-level endgame tablebases play to the graphical chess program. Examples of programs that support UCI engines are Arena, ChessBase Fritz, Chess for Android, Lucas Chess, and Sigma Chess.

Downloads of BikJump v2.01 for various platforms appear below (unzip the downloaded file in the "Engines" folder and import the UCI chess engine binary into the GUI; detailed instructions for Fritz are given at Chessbase Cafe and for Android at UCI and XBoard Procotols for Android):

All source code of BikJump (except the probing and decompression code for the endgame tablebases, which are used with kind permission of Eugene Nalimov and Andrew Kadatch) has been built from the ground up by Aart as a fun after-hours project to gain experience with chess programming and experiment with new ideas. Aart is a chess hobbyist who enjoys writing his own, original code. He obviously used ideas found in chess-related books, papers, and web postings, but sees no fun in copying-and-pasting code and claiming it as his own.

History and Future Plans for BikJump

The first generation of BikJump (v1.x), released in January 2007, was based on a mailbox representation, and increased in strength from about 1750 to 2000 RUEL. The second and current generation (v2.x), released in November 2008, is based on a bitboard representation. Aart now has started work on "Deep" BikJump, featuring multi-threading to perform the search in parallel (commonly referred to as SMP support). Upcoming version will be designated with the suffix P (e.g. v2.1P) to denote this new parallel support.

Chess for Android

[Icon] Chess for Android is a standalone application that consists of a chess engine (a Java version derived from the C++ engine BikJump) together with a GUI. The application also supports the Universal Chess Interface (UCI) and Chess Engine Communication Protocol (often simply called the XBoard or WinBoard protocol) which allows users to replace the built-in Java chess engine with more powerful third party engines. Details can be found at UCI and XBoard Protocols for Android. Engines that can be imported are listed at UCI and XBoard Engines for Android.

Please note that this page is privately maintained by Aart Bik. LinkedIn