Dear Visitor,

This site isn't officially live yet. However, I have released a beta version of Tom Thumb for friends to give it a try.

Tom Thumb Chess is a program written in the Scala programming language.

One of the unique features is a 'Suprise me!' option in the 'Game' menu. It generates new variants of chess by varying board size and the initial position of the pieces. There are litterally billions of unique positions, so you are almost guaranteed to play a game of chess no one has ever played before! Of course mostly Tom Thumb too plays these games for the first time ever on your computer!

Another fun feature: create your own unique game of chess and play against it immediately. Tom Thumb has a position editor that lets you take away any square on the board (punch a hole in it) and you can setup the pieces where ever you like. The maximum size of your board is 10x10, plenty of room to get creative. But you as a game inventor will be responsible for creating a variant of chess that is fun to play. Should you find a good variant, Tom Thumb has a feature to simply copy and paste it as text. Send me your chess variant via email and I will consider including it in the standard installation of the program.

Installing Tom Thumb on Windows 10

(last update 2020-05-12)

Installing Tom Thumb on Ubuntu 18.04 or 20.04

(last update 2020-05-04)

UCI Engine

To run Tom Thumb as UCI engine execute the following within a terminal: 'tomthumb uci' (without the quotation marks)

Example commands when in engine mode ('d' and 'perft' are actually not UCI but where added for testing purposes):


Although you really can play chess against Tom Thumb and it ships with a working database, the program is by no means finished and still has bugs and some things are still missing.

Tom Thumb has been tested on OS X 10.x, Windows 10 Home en Ubuntu 16.04 met Java 1.8.0_121-b13.

have fun!
Tom Kalmijn

PS care for a puzzle? select the right version given an alpha beta treestructuur.

Circles are 'maximizers' and always choose the highest value, squares are 'minimizers' and choose the lowest value (they counter the decisions made by circles).