Skip to content

Rogatia 0.1

Latest

Choose a tag to compare

@PhucsHM PhucsHM released this 29 Jul 17:42
· 7 commits to main since this release

First public build.

UCI chess engine, C++20, GPL-3.0. NNUE (768→256)x2→1 with SCReLU, trained only on the engine's own self-play games — no Leela data, no Stockfish data, no third-party nets.

Downloads

Keep the .nnue file next to the binary. The engine looks for its net beside itself, so no setup is needed as long as the two stay together.

File For
rogatia-0.1-windows-x86-64-v3.exe Windows, portable
rogatia-0.1-windows-x86-64-v3-pext.exe Windows, PEXT — only for Intel Haswell+ or AMD Zen 3+
rogatia-0.1-linux-x86-64-v3 Linux, static
rogatia-p8a.nnue The network

The PEXT build is about 3% faster where PEXT is fast, and slower on Zen 1/Zen 2/Excavator, where the instruction is microcoded. If you are not sure which you have, take the plain build.

Check it loaded the net

./rogatia bench

This must print 4656884. If it prints 6951633 the network did not load — look for info string eval: FAILED and point the EvalFile UCI option at the file. Without the net the engine plays with a piece-square fallback and is roughly 360 Elo weaker.

Strength

3379 +/- 20 CCRL Blitz, 540 games at tc=120+1 — the control CCRL Blitz states for itself — against six CCRL-rated anchors across four engine families.

Opponent CCRL Blitz Games W-L-D Score Implied
Zahak 8.0 3160 80 52-2-26 81.25% 3415 +/- 72
Zahak 9.0 3292 80 22-12-46 56.25% 3336 +/- 50
Zahak 10.0 3334 80 21-8-51 58.13% 3391 +/- 43
Smallbrain 6.0 3361 100 29-11-60 59.00% 3424 +/- 45
Clover 3.1 3399 100 11-33-56 39.00% 3321 +/- 45
Alexandria 3.5 3405 100 26-25-49 50.50% 3408 +/- 52

Three things that number cannot tell you:

  1. Every anchor is rated 3160–3405, so none of them sits above the engine. This shows Rogatia is around 3380; it cannot show what happens against stronger opposition, because it never faced any.
  2. The six implied values span 103 points. They agree on a band, not on a number.
  3. The portable build benches about 3% slower than the native+PEXT build used for the measurement, so treat the download as a few Elo under the figure.

Blitz-tested only. Every SPRT and gauntlet so far has run at 8+0.08 or 2'+1. Long time controls are entirely unmeasured.

Verification

  • Move generation is perft-exact: 37/37 checks, 626,461,214 nodes
  • bench prints the same node count on every machine and every -march level
  • Nothing that changes search behaviour is merged without an SPRT
  • Speed-only changes must be bit-identical, so the gate is bench printing the same number rather than a better one

SHA256SUMS.txt covers all four files.

Known oddity

The engine sometimes reports info depth 244 in solved positions. That is MAX_PLY - 2, the iterative-deepening cap, reached instantly because every iteration returns from the transposition table once a mate is proven. It is cosmetic — measured at 42.9 seconds total across 612 games.

Feedback wanted

Testing against stronger engines, bug reports, and criticism of the testing methodology are all more useful than praise. Issues and PRs welcome.