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.dll
is 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