Shuffle is a UCI based chess engine written entirely in C. It is a magic bitboards based engine with an ELO of around 2200
- Magic Bitboards to pre-calculate sliding piece attacks quickly and efficiently
- Zobrist Hashing and use of Transposition Table to store evaluated positions and detect 3-fold repetition
- Negamax search with Alpha-Beta Pruning to quickly search for all possible positions
- Advanced move ordering techniques like Principle Variation Search, Null Move Pruning, Late Move Reduction to reduce search times
- Tapered Evaluation for static evaluation of given board state
- Dynamically allocated transposition table to allow allocation of memory from the GUI or UCI command
- Custom Polyglot Opening Book for enhanced opening performance
- Ability to play at various time controls
- UCI compatibility
Version | ELO |
---|---|
version 1.2.1 | 2048 |
version 5.2.0 | 2173 |
- Go to the Releases page and install the binaries for your operating system
- Open the binary in any UCI based GUI like Arena GUI or Cute Chess GUI
- Set any time control of choice
- Have fun!
- Install the
shuffle.bin
polyglot book from the Releases page or use any polyglot book of your choice and rename it toshuffle.bin
- Keep the book in the same directory from which you are running the bianry
Type the following command in the terminal to create a fresh build for your system -
git clone https://github.com/ArjunBasandrai/shuffle-chess-engine.git
make windows v=<version-suffix>
make apple v=<version-suffix>
make linux v=<version-suffix>
Once compilation is completed, the executable can be found in the root directory as shuffle_<version_suffix>
Arjun Basandrai
Bitboard Chess Engine in C Series by Chess Programming
VICE Chess Engine in C by Bluefever Software
Coding Adventures: Chess Bot by Sebastian Lague
- If you're in India and using the Jio Network, you may experience difficulties viewing the images in this file. Please consider switching to a different network provider or utilizing a VPN to access the images