C++ version will no longer be maintained. Will now be using C#
Open Source Chess program
A C++ chess application featuring classic chess rules with a basic GUI and optional integration with the Stockfish engine.
-
Standard Chess Rules
Implements classic chess movement and rules, including:- Pawn movement (single/double, captures, en passant)
- Castling (kingside and queenside)
- Pawn promotion (promotion dialog included)
- Check and check detection
- Move legality checking
-
Modes
- Singleplayer vs Stockfish: Play against a built-in Stockfish engine with selectable difficulty/ELO settings.
- Multiplayer (Local): Two players can play on the same computer.
-
Stockfish Engine Integration
- Supports engine ELO/skill adjustment
- UCI protocol communication via dynamic loading (
Engine.dll) - FEN serialization for communicating board state
-
Basic GUI
- Piece and board image customization
- Dialogs for selecting color, game mode, and difficulty
- C++17 or newer
- CMake (build system)
- Make (recommended for UNIX systems)
- On Windows: Ensure access to
Engine.dll(Stockfish engine)
git clone https://github.com/incep-tives/Chess.git
cd Chess
mkdir build
cd build
cmake ..
make- On UNIX:
./Chess - On Windows:
Chess.exe - For Stockfish support, ensure
Engine.dllis available in the executable directory.
main.cpp– Main application entry and UI/dialog logic/game/ChessBoard.{cpp,h}– Core chessboard and move validation logic/game/ChessGame.{cpp,h}– Game state management/game/StockfishEngine.cpp– Stockfish engine interface (dynamic loading)/stockfish/– Embedded Stockfish sources (for reference and DLL build)- CMake/Makefile – Build scripts
- No online play (local only)
- No move history or PGN export (move list function is a stub)
- No save/load games (FEN support is only partial)
- No advanced GUI features (minimal dialogs only)
- Chess app: MIT or as specified
- Stockfish: GNU GPL v3 (see
/stockfish)
- Chess app by @incep-tives
- Stockfish by the Stockfish developers