To play engine with GUI:
pip install pygame
Optional: edit main.cc file to play white/black, set time format, set custum position, etc.
make
./main
~3200 ELO
- NNUE (Efficiently Updatable Neural Network) used to evaluate positions
- Trained on data from Lc0 (deep NN based engine)
- Bitboard representation (including magic bitboards for sliding pieces) for fast move generation
- Negamax search with alpha-beta pruning and iterative deepening.
- Move ordering heuristics: history, hash move, MVV-LVA, etc.
- Search heuristics: late move reduction, null move pruning, futility pruning, etc.
- Zobrist hashing
- Transposition table: store information learned about a position to avoid re-searching it.
- Opening book support: play random opening from database so it is not deterministic.
- GUI: run in python
- UCI support