Another UCI-compatible chess engine written in C++.
For now it only supports CPUs with AVX2 and BMI2 instructions. Support for other architectures might be added in the future.
See Release page for precompiled binaries
You can play against the engine on lichess: https://lichess.org/@/BabChess-Engine
The Bot is hosted on a machine with a Core i7 4785T. It will accept challenges up to 15min+10s, rated and casual.
Tested on Windows and Linux with GCC >= 12. Might also work with CLang
make release
Executable will be in ./build/Release/bin/belette[.exe]
Log every input and output of the engine to the specified file
Specify the hash table size in megabytes
For now this option doesn't do anything. It's only for compatibility purpose
- Bitboard
- Zobrist hashing
- Fast legal move enumeration inspired by Gigantua
perft 7, start position, Core i7 12700k
Nodes: 3195901860
NPS: 925007774
Time: 3455ms
- Iterative deepening
- Aspiration window
- Negamax
- Transpositation Table
- Check extension
- Null move pruning (NMP)
- Reverse futility pruning (RFP)
- Internal iterative reduction (IIR)
- Late move reduction (LMR)
- Late move pruning (LMP)
- SEE pruning
- Quiescence
- Hash move (TT Move)
- MVV-LVA
- Killer moves
- Counter move
- Threats
- Checks
- Butterfly history heuristic
- Staged move generation (good captures, good quiets, bad captures, bad quiets)
- Tapered
- Material
- PSQT (PeSTO)
Resources and other engines that inspired me: