Demolito is a UCI chess engine written in C. As such, it is a command line program, which is not designed to be used directly, but instead through an UCI capable UI, such as CuteChess or Banksia, or c-chess-cli.
Version numbers are automatically generated to be the ISO date of the last commit (ie. YYYY-MM-DD).
Here: releases.
Windows binaries are automatically generated when patches are pushed to github, and can be found here:
master
branch. Be sure to choose master because other
branches are (mostly) elo-regressive experimental garbage.The archive contains 3 .exe
files, and this is how you choose:
popcnt
if it works, otherwise no_popcnt
(very old machine).pext
if it works, otherwise popcnt
(old machine), and if that still fails then
no_popcnt
(very old machine).By default playing strength is at maximum. This is suitable for engine vs. engine matches, but far stronger than the best human players. Here are some rating lists which have tested Demolito:
If you want to play against Demolito, you are advised to use the Level
UCI option.
0
, which means the level feature is off, and Demolito plays at
full strength. Level 1
is the weakest, and 15
is the strongest (but still weaker than switching
off strength limitation with Level=0
). Note that Demolito plays quasi-instantly when using levels,
and the quality of moves is the same regardless of the time control. Also, Demolito becomes
non-deterministic (on purpose), so that it will play differently every time you restart the game.Level
feature, if you want Demolito to pretend to
use time, instead of moving instantly. Does not affect playing strength of any level, but makes game
play more human friendly (ie. you can think on your opponent's turn, as you would against a human).In a terminal:
git clone https://github.com/lucasart/Demolito.git
cd Demolito/src
make CC=clang pext # for Intel Haswell+ only
make CC=clang # for AMD or older Intel
You can use gcc instead of clang, but Demolito will be a bit slower (hence weaker).
Run the following benchmark:
./demolito bench|tail -4
The seal
is a functional signature of the program. It must match exactly the one indicated in the
last commit message. Otherwise, Demolito was miscompiled.
The rest is obvious: nodes, time, nodes per seconds (speed benchmark).