Please login to view all of the forum content.

NoC Chess Engine..

Go down

NoC Chess Engine.. Empty NoC Chess Engine..

Post  supersharp77 on Fri Jun 12, 2020 6:44 pm

Just happened to stumble across this Gem on The CCRL totally by accident while researching something else...don't recall coming across it before...enjoy!! Smile Wink

An attempt at making a chess engine from scratch. Under active development.


The TT size is currently a compile time constant set to 120MB, to change it go to hash.h and change the first define. I'll change that later, maybe.


Download and extract, $ cd Engine and then execute $ make all, this will generate a binary with the name of the engine.

The engine makes use of the UCI protocol, to list the implemented commands type help.


This engine uses the gaviota tablebases instead of syzygy due to the use of DTM, this is done to ensure mate is given in won situations such as KQvK, and that it is efficient. The tablebases for 3 pieces are already included in gav/, to use them simply execute the engine with $ pwd == ../Engine or pass the absolute path as the first argument $ ./Engine /home/../Engine/gav/.

To add more tablebases generate them using gaviota or download them from my mega, they are already compressed and ready to use. Include the files in /gav or pass the directory as an argument as shown before.

You should see a message such as [+] Using tablebases: 3 4 ~5 where the numbers represent the tablebases available and ~ # means they are incomplete.

The tablebases are currently used to give a fast mate in endgames, and in the search function as an oracle. There is currently no way to not use them besides altering the source code, to do this go to gaviota.c and set *tbIsAv = 0 in gavWDL / gavScore to disable search oracle and DTM queries respectively, or remove the tablebases you don't want to be used.

They aren't of much use when the match uses tablebases or engine scores to award a premature win.


Chess engine written in C. Currently used in as 'usr25'. From the testing I've done it should be around 2300 elo.

No guarantees are made about the engine. All the testing matches were done using cutechess.

The version corresponds to the month and year of release. 11.19 == Nov 19, unless there is a big change there will be one version max per month.


Special thanks to chessprogramming, cutechess, and lichess-bot. Huge thanks to Miguel balliroca for providing the gaviota tablebases and the easy to use API!
© 2020 GitHub, Inc."


Posts : 194
Points : 397
Reputation : -21
Join date : 2013-03-04
Age : 56
Location : Southwest USA

Back to top Go down

Back to top

Permissions in this forum:
You cannot reply to topics in this forum