Search
Alpha-beta search (PVS) with late-move reductions, ProbCut and static pruning near the horizon. It runs on several threads at once (lazy SMP).
Checkers System Tal · a checkers engine for Windows PCs
An engine for English draughts — American checkers — for Windows PCs. It plays inside CheckerBoard, Martin Fierz's free program for checkers engines. It is free and open source, under the Apache 2.0 licence.
It began on 6 October 2026 as a fork of the engine in Retro Checkers, the hand-held version on an ESP32 board. On the PC it was freed to grow.
Project name on GitHub: Checkers-System-Tal.
Version 1.0 is on the
releases page on GitHub.
The engine is the file cstal64.dll and a folder, cstal, that
goes beside it.
cstal64.dll and the cstal folder into CheckerBoard's
engines folder.Settings are under Engine > Engine command: hash size, the opening book on or off, the number of threads, and the endgame tables. While it thinks, the engine shows its search on CheckerBoard's status line, prefixed “CST”.
The 6-piece endgame tables (777 MB) are too large to ship. They can be built from the source with its table builder, which takes about two hours on a laptop; the engine uses them as soon as the file is in place.
Alpha-beta search (PVS) with late-move reductions, ProbCut and static pruning near the horizon. It runs on several threads at once (lazy SMP).
A small neural network (NNUE): 128 values for each side, built up incrementally as moves are made, then two small hidden layers. Alongside them it sees the exact arrangement of every 2×2 block of squares. The whole network is about 0.6 MB.
Its own endgame tables, to six pieces, with exact distances to the result. The 5-piece tables (8 MB) come with it. The opening book has 425,000 positions and covers every 3-move ballot to ply 20.
The book was built “warm”. Each book move was searched the way a game move is, with the work on the previous moves still in memory, rather than as a fresh position each time. At one second a move against Cake, that was worth +6 Elo over a book built the conventional way.
| Opponent | Conditions | Elo |
|---|---|---|
| Cake 1.85 | 100 ms a move, from positions eight plies in | +129 |
| GuiNN 2.06 | 100 ms a move, from positions eight plies in | +14 |
| KingsRow 1.20 (its default opening book) | 100 ms a move, from positions eight plies in | +17 |
| KingsRow 1.20 (its best-moves book) | 100 ms a move, from positions eight plies in | −3 (about level) |
| Cake 1.89f | 100 ms a move, from positions eight plies in | +4 |
| Cake 1.89f | 1 second a move, from positions eight plies in | about level |
| Cake 1.89f | 1 second a move, from the 3-move ballots, both engines using their opening books | −5.5 ± 3.7 |
Cake 1.89f is the strongest freely available checkers engine. At one second a move, from positions eight plies into the game, the two are about level. From the 3-move ballots, with both engines using their books, Checkers System Tal is a few Elo behind. That remaining gap is Cake's opening book, which it built over weeks.
The margins between all these engines shrink as the time per move grows, because more games are drawn. So the fast-game figures flatter the differences.
Cake by Martin Fierz, KingsRow by Ed Gilbert and GuiNN were used only as opponents for testing, and CheckerBoard by Martin Fierz to run the matches and to play. None of their code or data is in the engine.