Skip to content

Releases: erensh27/Ravager

Ravager 3

Choose a tag to compare

@erensh27 erensh27 released this 22 Oct 15:50

Search (new)

  • correction history: pawn, non-pawn, minor-piece, continuation
  • threat-aware history + capture history, real pawn-structure history, 1/2/4-ply continuation history
  • triple and negative extensions
  • ProbCut with adaptive depth, hindsight depth adjustment, internal iterative reductions
  • smarter LMR (node type, TT-PV, correction size, cutoff count) with deeper/shallower re-searches
  • qsearch: SEE ordering, futility pruning, full check evasions
  • cuckoo tables for upcoming repetitions
  • time management scales with best-move stability, node share, failed lows, forced moves
  • Lazy SMP thread voting

Transposition table

  • rebuilt: lockless, 3 entries per 32-byte bucket, stores static eval + PV flag, age-aware replacement, huge pages
  • fixed key/bucket bit overlap bug

Speed

  • split accumulators: king move refreshes only the piece-square half, cached per bucket
  • lazy incremental accumulators from nearest computed ancestor
  • neurons in co-activation order so the sparse layer skips more dead groups
  • new AVX-512 VNNI kernel, scalar/AVX2/AVX512/VNNI bit-identical

UCI

  • ponder actually works now (go ponder + ponderhit)
  • go nodes / go mate, MoveOverhead option, Hash 1-65536 MB
  • EvalFile loads external nets of the same format
  • built-in bench, perft, d

Estimated rating: ~3550 Elo (40/15 time control, over 500 games)

Ravager Fury

Choose a tag to compare

@erensh27 erensh27 released this 09 Oct 11:35

Features

  • Replaced Leorik NNUE with a new embedded network and optimized C11 inference.
  • Added Lazy SMP multithreading with private worker search/evaluation state and a shared, thread-safe transposition table.
  • Implemented full Chess960 support, including X-FEN/Shredder-FEN castling rights and overlapping or stationary castling.
  • Improved move ordering, pawn history, 4-ply continuation history, SEE checks, LMR, and null-move verification.
  • Enhanced time management with root-move node accounting and asynchronous UCI search for responsive stop and isready commands.
  • Improved network-load validation and Windows memory alignment.
  • Removed the zstd dependency for self-contained Linux and Windows builds.
  • Added regression tests for NNUE, Chess960, perft, and multithreading.

Match Score (Ravager Fury vs Ravager 2.1)

Metric Result
Elo Difference +161.29 ± 6.56 (95% confidence)
Time Control 60.0+0.60s
Threads 1
Hash 64 MB
Games Played 3,645
Wins 1,814
Losses 236
Draws 1,595
Pentanomial [6, 40, 386, 1146, 2421]

Builds & Compatibility

  • Self-contained Linux and Windows builds.
  • Available in ZIP and TAR.GZ archives.
  • No external zstd dependency required.

Ravager 2.1

Choose a tag to compare

@erensh27 erensh27 released this 05 Oct 08:39

Downloads

file platform notes
ravager2.1-linux-x64.tar.gz Linux x86-64 AVX2/BMI2/POPCNT, glibc
ravager2.1-windows-x64.zip Windows x64 static build, no DLLs

Both binaries are fully self-contained: the NNUE net is embedded, the texel-tuned HCE is the built-in fallback. Unpack, point your GUI (UCI) at the executable and play. The only optional configuration is SyzygyPath for endgame tablebases — everything else works out of the box.

Strength

  • vs Ravager 2: +50 ± 20 Elo over 500 games (40/15 + 0.1s, 250 mirrored pairs)

Improvements in Ravager 2.1

  • Search & Move Ordering:
    • Singular extensions with double extension and multi-cut pruning
    • Late Move Reductions (LMR) informed by combined continuation history (CMH)
    • Full SEE-based capture ordering and new capture history heuristic table
    • Quiescence search with TT probing and storing
    • Adaptive null-move pruning and losing-capture pruning
    • Dynamic score-adaptive aspiration windows
  • Transposition Table:
    • Cache-line prefetching to reduce memory latency
    • Age-penalized quality replacement strategy
  • Evaluation:
    • Rook on 7th rank bonuses
    • King safety contact check evaluation
    • Blocked passed pawn discount and weak square detection
  • Time Management:
    • Phase-aware time budgeting with score oscillation protection

Build from source

make            # self-contained binary (~5 MB)
make EVALFILE=  # HCE-only binary (~170 KB)

Ravager 2

Choose a tag to compare

@erensh27 erensh27 released this 23 Aug 10:55

Downloads

file platform notes
ravager2-linux-x64.tar.gz Linux x86-64 BMI2/POPCNT, glibc
ravager2-windows-x64.zip Windows x64 static build, no DLLs

Both binaries are fully self-contained: the NNUE net is embedded, the
texel-tuned HCE is the built-in fallback. Unpack, point your GUI (UCI) at the
executable and play. The only optional configuration is SyzygyPath for
endgame tablebases — everything else works out of the box.

Highlights

  • NNUE evaluation — (768→H)x2 dual-perspective accumulator; loads
    Ravager-format and Leorik-format bucketed SCReLU nets natively. Default
    build embeds the 640HL-S-5io8 Leorik net via incbin.
  • Syzygy tablebases (Pyrrhic, vendored): WDL probing in search,
    DTZ-optimal root moves. UCI: SyzygyPath, SyzygyProbeLimit,
    Syzygy50MoveRule.
  • Texel-tuned HCE: tuner v2 with EPD datasets + golden-section K search;
    parameters retuned on the Zurichess quiet-labeled set.

Measured strength

  • vs Ravager 1 (2+0.02, 150 games, LOS 100%): tuned HCE +271 ± 70,
    NNUE +568 ± 178
  • Open-engine tournament (10+0.1): 55/60 vs Fruit 2.1, Toga II 1.2.1a,
    Glaurung 2.2, Senpai 1.0, Crafty 25.x, Phalanx XXIII
  • BayesElo anchored estimate: ≈2950 Elo

Build from source

make            # self-contained binary (~5 MB)
make EVALFILE=  # HCE-only binary (~170 KB)

See README.md for the full UCI option list and CREDITS.md for bundled
third-party components.

Ravager 1

Choose a tag to compare

@erensh27 erensh27 released this 22 Aug 05:52

Ravager 1 — pure handcrafted-evaluation chess engine.

No NNUE. No opening book. No endgame tablebases.

Strength: ~2380 CCRL-blitz scale (95% CI 2320-2445), measured with
cutechess-cli vs CT800 1.46 (CCRL 2708) and Amundsen 0.80 (CCRL 2325),
148 games total, Bayesian Elo fit (Davidson draw model, anchor priors).

Highlights:

  • Tapered handcrafted evaluation, texel-tuned (datagen + tuner included)
  • PVS search: aspiration, singular + double-check extensions, LMR/LMP/
    futility/razoring, adaptive NMP + verification, ProbCut, improving-scaled
    margins, continuation history, predictive time management
  • Incremental PSQT/material/phase accumulators, pawn-structure hash
  • BMI2/PEXT sliding attacks (x86-64 with BMI2 required for this binary)
  • Verified by exhaustive perft (startpos, Kiwipete, CPW 3-6)

Build from source: make
Full credits: see CREDITS.md