This project is an attempt at making a readable and accessible chess engine. It's written in plain C and it currently uses the GPLv3+ license. The command help
will show you the list of human-friendly commands. You can also set it to UCI mode with the command uci
.
All comments and feedback are appreciated. Feel free to join us at ##chessprogramming
on Freenode IRC and share your thoughts.
You are also free to challenge it at Lichess.
The project is under active development and new features will come shortly.
- Plain magic bitboards
- Legal move generation
- Material count
- Piece-Square tables
-
AlphaBeta Pruning
-
Move ordering
-
Transposition Table
-
Time management
-
Quiescence search
-
Check extensions
-
Late move reduction
-
Aspiration windows
-
Null window search
-
Internal Iterative Deepening
-
Pruning
- Razoring
- Delta pruning
- Null move pruning
- Futility pruning
- Reverse futility pruning
- Late move pruning
You can get the code running by following three simple steps:
- Download the code
git clone https://github.com/Tempate/Achillees
- Type the command:
make release
- An executable should now appear inside your bin folder, you can run it by doing:
./Achillees
Special thanks to the chessprogramming wiki, as most of the knowledge needed came from reading through it; to ROCE, without which it would have taken ages to pass perft; and to Daily Chess for their fantastic guide.
I also feel the need to thank everyone on ##chessprogramming
on Freenode IRC for their support, encouragement, and exhaustive help.