I would like to introduce You to a chess engine that I've created. I've been trying to accomplish this for a while and at some point I've finally done it. The engine is open-source, written in pure C, it doesn't have any dependencies, it was mainly designed to work on Linux, but it can also run on Windows. It supports UCI protocol, though it may lack some of the more advanced UCI commands.
I've implemented Zobrist Hashing, Transposition Tables, PVS, NMP, LMR, Aspiration Windows, Killer Heuristics, Magic Bitboards. It uses alpha-beta pruning for searching the game tree, the evaluation function is static.
The current release is something like 'alpha' version. The engine works, I've tested it using Chess Arena, though it needs some improvements (for example it has a problem with recognizing 3-fold repetitions). If anyone is interested in testing/analyzing it, the source code is available here: https://github.com/jszczerbinsky/zeppelin. The engine requires a file 'precomputed.bin', where it stores various bitboards, magic numbers etc, it can be generated automatically by using:
Code: Select all
./zeppelin --gen-precompI'm waiting for some feedback, I hope someone may be interested in checking out the engine!