- 0x88 board representation
- Iterative deepening negamax search
- Quiescence search
- Evaluation using material, piece-square tables, and pawn structures
- Transposition table with Zobrist hashing
- Move ordering using PV move, TT move, MVV-LVA, Killer moves, and History heuristic
- Check extension
- Null move pruning
- Principal variation search
- Detect repetitions and fifty-move rule
- Basic UCI support
Quick build & run
cargo runBuild for release
cargo build -rRun tests
cargo testFormat code
cargo fmtThanks to
- Maksim Korzh for his Bitboard CHESS ENGINE in C and 0x88 MOVE GENERATOR youtube series which inspired me to start programming chess engines.
- Chess Programming Wiki for all the knowledge
- Authors of TSCP, Blunder, Rustic
- For folks at chess programming discord servers
