Skip to content

A chess engine written in C

Notifications You must be signed in to change notification settings

gideongrinberg/gce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b5702fa · · Jul 25, 2025

History

82 Commits
Jul 23, 2025
Jul 25, 2025
Jul 25, 2025
Jul 23, 2025
Jul 21, 2025
Jul 24, 2025
Jul 23, 2025
Jul 8, 2025
Jul 23, 2025
Jul 14, 2025
Jul 23, 2025
Jul 24, 2025
Jul 25, 2025
Jul 18, 2025

Repository files navigation

Gideon's Chess Engine

This is a chess engine I'm developing to learn more about chess and C programming. GCE ships with a graphical user interface, and is compatible with the Universial Chess Interface protocol so you can use it in your favorite software ( cutechess, Banskia, Arena, etc).).

The engine's core is written in C99, and the various interfaces and extraneous tools are written in C++. It currently features bitboard-based move generation, alpha-beta pruning, a transposition table, a basic eval function, and extremely rudimentary time management. The GUI interface supports Polyglot opening books.s.

The project builds using CMake. An Emscripten version of the GUI is available, although the graphics are a bit blurry due to limitations of WebGL. Executables of the UCI and GUI interfaces are available in the releases tab. They are built for Windows, Linux, and Mac (Intel/Silicon) using Github Actions.s.