New! This page will be soon reorganized to include my new engine, called Hamsters. In the meanwhile, please find all info in the Hamsters homepage!

Welcome to my computer chess page, which is mostly dedicated to Kiwi, a nice bird and also a Winboard/XBoard chess engine I'm developing.

Latest version

Latest version is 0.6d. Here is the Windows executable and the source files (extract all files in a "src" subdirectory and it should compile without problems on Linux and Mac). More binaries available: Mac.

Here are also some bitbase files (122K zipped, includes KPK, KPPK, KBPK and KBNK for both sides). More to come in the future.

Important notice: the book format has changed from version 0.6b, please download the new books from the links below if you have an older version!

Opening books

Kiwi allows you can create your own books using games from PGN databases (see readme for instructions), but you'll probably find it easier to use one of the precompiled books below. The book file must be placed in the directory where the engine runs (which is tipically the same as where the program file is, though not always).

Note: these books are compatible only with version 0.6b and later. For older versions, opening books must be created from scratch. (263K) is made from various game collections, using Scid to eliminate duplicates and then taking the first 15 moves of games that are at least 30 moves long. The book contains only positions that have been played at least 6 times. This book offers relatively solid play and should be used in tournaments. (624K). Similar to the above, but includes positions that have been played at least three times. This book offers more variety but is more risky (for the engine) because there is a greater chance of finding unsound lines.


A few logos for Kiwi...

130x65 100x50 100x50 by David Dahlem

Many thanks to David for his wonderful logo! You can find many others of his creations at the WBEC-Ridderkerk site (click Downloads then Logo's).

Older versions

V0.6b (source code, binaries for Win32) is an important step up for Kiwi's strength, thanks to fixing a critical bug

V0.6a (source code, binaries for Win32)

V0.5d (Win32)

V0.4d (Win32) gets rid of some experimental stuff and replaces it with more traditional methods. It's less original maybe, but plays better.

V0.3c (Win32) is the first relatively bug-free release.

V0.2b (Win32) adds support for opening books.

V0.1c (Win32) includes a bugfix for using the engine under Windows 95/98.

System dependent library

My source code for handling system-dependent stuff like reading input and keeping time. It is a C++ class that compiles as-is for Windows, Linux and Solaris but should work on most other Unix systems with little or no modifications. Note: because of repeatedly reported problems under some Windows systems, by default the library now uses polling if standard input is a pipe.

Winboard modifications

I have added many new features to Winboard! Get more info and download the modified version on the Winboard "X" page. Here's just a couple of examples:

Kiwi around the world...

Kiwi played in the 2005 Italian Championship (CIPS 2005) and finished 2nd behind Delphi.

It also played in the Computer Chess Cup 2005 and got the 3rd place behind Delphi and Chiron.

If you like this nice bird and want to wish him luck, he's played up to the C class in the Chess War online tournament... finished just one place above demotion, but it's still there!

Kiwi is playing in the D class of the Regensburg Winboard Circuit tournament... not a good start but playing on!

Kiwi was promoted and now plays in the 3rd division of the WBEC-Ridderkerk tournament! :-)

Everyone's favorite bird is playing in the Bishop class of the AEGT4 tournament ideated by Heinz van Kempen, and is struggling to survive!

The Infinite Loop tournament by Igor Gorelikov will give you an idea of the engine rating, although probably there will be a slighly older (and hopefully weaker) version there.

Besides playing in tournaments, I am also a tester in the CEGT group, which currently provides the best chess engine ratings at 40/40 and 40/4 time controls (normalized for a 2 GHz machine).


I have converted Claude Shannon's seminal paper Programming a Computer for Playing Chess to PDF. Also, all the original examples have been translated to algebraic notation.

Here is a UML statechart diagram of the Winboard protocol that I found useful while developing Kiwi.

A quick table to correlate the winning probabilities and the Elo ratings of two players.

A table that shows the score percentage needed to conclude that one engine is better than another (in a direct match).

Interesting links

For programmers interested in computer chess, the Computer Chess Club forum, hosted by America's Largest Chess Store - chess sets and
, is a great place... do not forget to check the archives!

However, the Winboard Forum created by Volker Pittlik currently the best IMO. Thanks to good moderation and a nice frontend, it's a really great place to exchange ideas and information with other chess computer fans. Note that at the bottom of the page you can find many links to all the best computer chess places on the net!

Test suites

Some test suites I found on the internet. All archives contain a single file in EPD format.

Endgame themes: misc, pawn, knight, bishop, rook, queen, underpromotion.

Copyright (c) 2004-2006 Alessandro Scotti. All rights reserved.

 Home :: Computer Programming

Site Map