Skip to content

cucumberbolts/Chess

Repository files navigation

Chess

Overview

A chess GUI written in C++ using ImGui and OpenGL. It supports Windows and Linux and requires OpenGL 4.6.

Compiling

Requirements

  • C++ 17
  • CMake

Clone the repository:

git clone --recursive https://github.com/cucumberbolts/Chess.git
cd Chess

Build using CMake:

cmake -B build
cmake --build build

Or on MSVC (Visual Studio), to build release:

cmake --build build --config Release

Note: If you modify the resources in the resources/ directory, run python embed_resources.py to regenerate the resource file.

Future features

  • Better UCI engine integration with evaluation bar and engine settings
  • PGN
  • Chessboard annotations with arrows, highlighted squares
  • Board editor
  • Opening explorer, game database
  • Chess 960, and potentially other variants

Credits

Much of the OpenGL rendering code was inspired by The Cherno's Game Engine Series. The bitboard logic for chess move generation is from the Chess Programming wiki.

Dependencies

Assets

Preparing for build

You can fetch the entire source with git clone --recurse-submodules https://... To avoid downloading the full repos you could do instead:

cd .\dependencies\
git clone --depth 1 https://github.com/glfw/glfw.git
git clone --depth 1 https://github.com/g-truc/glm.git
git clone --depth 1 --branch docking https://github.com/ocornut/imgui.git

About

A Chess GUI written in C++ using ImGui and OpenGL

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages