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
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
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.