C3 - an educational chess engine that balances performance with readability, built to explore chess programming techniques using modern C++23.
Author: Edd Mann
Why
This project grew out of a fascination with chess programming and a desire to deepen my C++ experience. The engine is heavily documented and draws inspiration from Tom Cant's chess-rs 🙏🏻.
Features
Bitboards with magic bitboard move generation
Iterative deepening with aspiration windows
Negamax with alpha-beta pruning and principal variation search
Null-move pruning, futility pruning, quiescence search, check extensions
Transposition table with Zobrist hashing
Move ordering: TT move, MVV-LVA, killer moves
Material and piece-square table evaluation
Full UCI protocol with time management
GoogleTest suite with perft validation
Fastchess gauntlet testing with SPRT
This project grew out of a fascination with chess programming and a desire to deepen my C++ experience. The engine is heavily documented and draws inspiration from Tom Cant's chess-rs 🙏🏻.
Features
Bitboards with magic bitboard move generation
Iterative deepening with aspiration windows
Negamax with alpha-beta pruning and principal variation search
Null-move pruning, futility pruning, quiescence search, check extensions
Transposition table with Zobrist hashing
Move ordering: TT move, MVV-LVA, killer moves
Material and piece-square table evaluation
Full UCI protocol with time management
GoogleTest suite with perft validation
Fastchess gauntlet testing with SPRT

Comments
Post a Comment