For engine authors

Chess Programming Tools

A growing collection of tools, formats and resources for chess-engine authors — the practical building blocks gathered over four decades of writing chess software. From the UCI protocol and Polyglot opening-book format to EPD test suites for PERFT and engine analysis, these are the bits and pieces that make developing and testing a chess engine that much easier. More to come.

EPD Test Suites

Various EPD test suites — position sets for testing and analysing chess engines. 59 files (PERFT, standard suites and chess-odds positions), subdirectories preserved.

Browse on GitHub →

UCI Protocol

The Universal Chess Interface — the command-line protocol between chess engines and GUIs (original specification by Stefan Meyer-Kahlen).

View on GitHub →

Polyglot Opening Book

Polyglot book binary files for chess engines that support the Polyglot book format — a selection of opening books to choose from.

Browse on GitHub →
Polyglot & Zobrist docs for engine authors →
Video — credit to Steve Maughan