Numbat Computer Chess - 2024-2025
I think it's important to keep the brain busy in retirement. Some people will do crosswords, suduko, or jigsaw puzzles. But I
decided to write small snippets of Verilog to implement the various operations of a traditional computer chess program.
This inevitably led to me writing a full chess playing program that I have called numbat. I am not a chess
player, and wasn't entirely familiar with all the rules of chess, let alone the decades of research that have gone into the development
of strong chess programs, so I relied on numbat playing other computer players, especially Phalanx, to spot blunders...and numbat makes many.
Anyway, numbat runs on an AMD Kria KR260
robotics test kit. This platform is the best bang-for-the-buck I have found for an affordable but capable FPGA based
board. If you are interested in learning digital design and entering the Byzantine and frustrating world of
AMD/Xilinx toolsets, this hardware is a very reasonable place to start.
The image above is numbat's Vivado block diagram. The recursive Negamax portion of numbat is written in C. The full source code for numbat is available at Codeberg. I
included a lengthy acknowledgements file with the source.
|