Skip to content

camc/chess

Repository files navigation

A chess game & engine

Features

  • 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

Screenshot

Installation

Binaries are available forLinux and Windows.

Building

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