A chess engine developed from scratch in C++ that achieved an 800 rating on Lichess. The project demonstrates understanding of game theory, algorithm optimization, and efficient data structure implementation.
Key Features
- • Complete chess rule implementation including castling and en passant
- • Move evaluation using piece-square tables
- • Alpha-beta pruning for search tree optimization
- • Achieved 800 rating on Lichess
- PlatformWindows/macOS/Linux
- LanguageC++
- Rating800 on Lichess
- Lichesslichess.org
Technical Implementation
The engine uses a bitboard representation for efficient board state manipulation, allowing for fast move generation and position evaluation. The search algorithm implements minimax with alpha-beta pruning to explore the game tree efficiently.
Algorithms & Techniques
- • Minimax Algorithm: Core decision-making for optimal move selection
- • Alpha-Beta Pruning: Reduces search space by eliminating branches
- • Move Ordering: Prioritizes captures and checks for better pruning
- • Piece-Square Tables: Position-based evaluation heuristics
- • Bitboard Representation: Efficient 64-bit board state encoding
Future Improvements
Planned enhancements include implementing transposition tables for position caching, adding an opening book database, implementing iterative deepening, and exploring neural network-based evaluation functions similar to those used in modern engines.