Since you’re here...

We hope you will consider supporting us today. We need your support to continue to exist, because good entries are more and more work time. Every reader contribution, however big or small, is so valuable. Support "Chess Engines Diary" even a small amount– and it only takes a minute. Thank you.
============================== My email: jotes@go2.pl



Revolution 4.80 120226 - UCI chess engine (based on Stockfish)


Revolution - Revolution is a free, open-source UCI chess engine derived from Stockfish. Jorge Ruiz Centelles, with credit to ChatGPT, modifies and extends the code to explore new concepts. The engine implements cutting-edge search algorithms combined with neural network evaluation. Derived from fundamental chess programming principles, Revolution analyzes positions through parallelized alpha-beta search enhanced with null-move pruning and late move reductions.

As a UCI-compliant engine, Revolution operates through standard chess interfaces without an integrated graphical interface. Users must employ compatible chess GUIs (Arena, Scid vs PC, etc.) for board visualization and move input. Consult your GUI documentation for implementation details.

Revolution 4.80 120226 what's new?

The main focus of this update is to ensure the engine remains fully aligned with the current Stockfish/SFNNv11 NNUE expectations and to provide audit-grade proof that the delivered binaries use embedded NNUE networks (no external network dependencies, no runtime fallbacks).

What changed from 4.70 (010126) to 4.80 (120226)

SFNNv11 NNUE compatibility ensured: the release is aligned with the current network identifiers expected by modern Stockfish-derived code paths (big + small networks).
Embedded-only delivery model: the build is produced so that NNUE evaluation is available without relying on a .nnue file located on disk.
Distribution resilience: the binary remains functional even in environments where network downloads are blocked or paths differ across hosts.
Note: this post documents behavioural / distribution-level changes and includes strict verification steps. (Internal patch details depend on the repository history between these tags.)
Why this matters: A Stockfish-derived engine may compile successfully yet fail at runtime if the expected NNUE networks are not available (typical symptom: “Network evaluation parameters compatible with the engine must be available.”). IJCCRL releases are therefore validated not only by compiling, but also by proving that the NNUE evaluation is present and used by the final executable.

NNUE verification — “certainty-grade” checks (Windows / PowerShell)

The following steps were executed against Revolution-4.80-120226-sse41popcnt.exe and must pass exactly as shown. These checks collectively demonstrate that the engine does not require any external NNUE file path, does not rely on .incbin filesystem inclusion at runtime, and successfully runs a full internal evaluation benchmark.

1) Negative proof: no external nnue/nn-* paths embedded
strings Revolution-4.80-120226-sse41popcnt.exe | grep -F "nnue/nn-"
echo "EXIT_CODE=$?"
# Expected:
# EXIT_CODE=1
Interpretation: the executable does not contain hardcoded filesystem paths such as nnue/nn-*.nnue. This avoids the classic failure mode where the engine looks for a network in the wrong working directory.

2) Negative proof: no .incbin dependency markers
strings Revolution-4.80-120226-sse41popcnt.exe | grep -Ei "incbin|\.incbin|Could not find incbin"
echo "EXIT_CODE=$?"
# Expected:
# EXIT_CODE=1
Interpretation: no runtime linkage to an external “incbin file” mechanism is present in the delivered binary (i.e., no reliance on a separate on-disk file to satisfy NNUE loading).

3) Positive proof: NNUE identifiers exist (embedded network IDs)
strings Revolution-4.80-120226-sse41popcnt.exe | grep -Ei "nnue/nn-|\.nnue|incbin"
echo "EXIT_CODE=$?"
# Expected output includes the network IDs (examples):
# nn-3dd094f3dfcf.nnue
# nn-37f18f62d772.nnue
# EXIT_CODE=0
Interpretation: the presence of nn-*.nnue identifiers confirms the build references the modern SFNNv11 network IDs. These are identifiers (not filesystem paths) and are expected to appear even when the networks are embedded.

4) Runtime proof: internal NNUE benchmark executes successfully
.\Revolution-4.80-120226-sse41popcnt.exe bench
echo "EXIT_CODE=$?"
# Expected:
# ... (bench output)
# EXIT_CODE=0
Interpretation: bench is a strict smoke test: the engine must initialise evaluation, load the correct NNUE parameters, and complete a fixed workload. A clean EXIT_CODE=0 is therefore a practical, end-to-end confirmation that NNUE is available and in use.

Revolution 4.0 211225 vs other engines:

JigSaw 7.00 SuPreme15/30+030 games
Artemis 22TR PrO15/30+030 games
Esox14/28+028 games
CorChess 2025113012/24+024 games
DON dev-20251221-9a74a45e12/22+222 games
Kookaburra 3.1110.5/20+120 games
Brainlearn 3110/20+020 games
StockfishMZ 12122510/20+020 games
HypnoS 24122510/20+020 games
Raid 5.210/20+020 games
ShashChess 4010/20+020 games
Stockfish dev-202512239.5/20-120 games
Stockfish 17.19.5/20-120 games
DarkSeid 7.6 EE5/10+010 games
Kreveta 2.2.14/4+44 games
Simpler 14/4+44 games
Bread Engine 2.1.13.5/4+34 games
Critter 1.6a3.5/4+34 games
SugaR 1.0.12/4+04 games
Killfish PB 1510252/4+04 games
DON dev-20251208-750d6ae42/4+04 games

Revolution 4.80 120226 - download

  






Comments