Skip to content

camc/chess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 using Raylib and Raygui
  • Local player-vs-player and player-vs-computer modes
  • Game loading and saving in FEN (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 for Linux and Windows.

Building

Required dependencies to build are CMake, a C11 compiler and the build dependencies of Raylib.

Build steps on Linux:

git clone https://github.com/camc/chess
cd chess
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
# Run: ./build/chess