- Computer move generation
- minimax (negamax), Alpha -beta pruning & iterative deepening
- Multithreaded search (Lazy SMP) on platforms supporting C11 threads
- Move ordering based on captures and a stored principal variation
- Polyglot BIN format opening book support
- Transposition table optimisations
- Chess GUI implemented usingRaylibandRaygui
- Local player-vs-player and player-vs-computer modes
- Game loading and saving inFEN (Forsyth–Edwards Notation)
- All chess rules are supported except the 50 move rule, repetition and promotion to non-queen pieces
- Supports Linux, Windows, macOS, FreeBSD, probably anything Raylib supports
Binaries are available forLinux and Windows.
Required dependencies to build are CMake, a C11 compiler and thebuild dependencies of Raylib.
Build steps on Linux:
git clone https://github /camc/chess
cdchess
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
#Run:./build/chess