Building
[!WARNING]
Due to a bug present in older gcc versions compiling with versions < 12 isn't officially supported.
$ git clone https://github.com/PGG106/Alexandria
$ cd alexandria
$ make
$ ./Alexandria
How to use the engine
The Universal Chess Interface (UCI) is a standard protocol used to communicate with
a chess engine, and is the recommended way to do so for typical graphical user interfaces
(GUI) or chess tools. Alexandria implements the majority of its options as described
in the UCI protocol.
Acknowledgements
This project would not have been possible without the following people
- BluefeverSoftware for his Vice chess engine from which i learnt the basic structure and functionality of a chess engine
- CodeMonkeyKing for his bbc chess engine from which i learnt how bitboards work and several refined search techniques
- The whole Stockfish Discord server and Disservin in particular for the sharing of code and the availability in answering questions
- Andrew Grant for the OpenBench platform .
- Morgan Houppin, author of Stash for being a real G
- Older Alexandria's nets were trained with Cudad, a big thanks to the authors of Cudad (Luecx and Jay Honnold), extra thanks to Luecx for initiating me in the way of NNUE.
- Current Alexandria's nets are trained with Bullet the Official™️ SWE™️ Trainer™️, a big thanks to JW for being a Cuda god.