Repository for Horus - My Chess Engine.
Licensed under the GNU General Public License ( GPL 3.0 ).
Horus is a CECP compatible chess engine that obeys full FIDE rules.
- Mailbox style board representation
- Negamax with alpha-beta pruning
- Quiescence search
- Simple eval function using piece square tables
- Static Exchange Evaluation(for analyzing captures)
- Object Oriented Design
Building - Linux
The Makefile is configured to build 3 executables, namely: Horus_Debug, Horus and Horus_SuperFast.
Horus is the normal release build while Horus_SuperFast uses flags to make use of the native architecture of the processor.
git clone https://github.com/universecoder/Horus-Chess.git cd Horus-Chess/ make make install
'make clean' deletes the executables.
'make install' copies Horus to the '/usr/games/' directory.
First install xboard(apt-get install xboard) and then click Options->Load New First Engine.
Navigate to /usr/games/ and select Horus.
- Transposition tables
- Bitboard based Engine - leads to faster move generation.
- Opening Book
- Null move heuristic
- Better eval function - use more heuristics
- Endgame tables
I built Horus to learn about basic AI algorithms. I ended up studying iterative deepening, quiescence search, alpha-beta pruning, negamax etc. Implementing "board game" specific stuff like the concept of move generation and evaluation functions was a good experience. Another advantage included learning the GNU Make utility along with the importance of object oriented design.
Special thanks to Sven Schüle for the guidance. A big thank you to the Freenode IRC community ##chessprogramming, where you can hang out daily and interact with like minded people.