New engine releases & news H1 2025

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

OliverBr
Posts: 777
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: New engine releases & news H1 2025

Post by OliverBr »

Lunar wrote: Wed Jun 11, 2025 9:03 pm Lunar v0.2.0

https://github.com/Synthetica9/lunar/releases/tag/0.2.0

May be a new name to you, this is the first release I'm actually publicizing. Relatively strong (~3200 Elo) engine written in Rust, that I've been working on off and on for some time now. Had it's OTB debut in last CSVN programmer tournament, though there it was v0.1.0, which was about 600 Elo weaker, mainly due to the abysmal HCE (now using NNUE).
First of all: Gratulations, because Rust ist a very interesting programming language.
though there it was v0.1.0, which was about 600 Elo weaker, mainly due to the abysmal HCE (now using NNUE).
So "bad" HCE vs NNUE creates 600 ELO points? It is really amazing.
How strong can a self-written engine become that uses neither HCE, nor NNUE?
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink
Lunar
Posts: 11
Joined: Wed May 21, 2025 12:32 pm
Full name: Patrick Hilhorst

Re: New engine releases & news H1 2025

Post by Lunar »

OliverBr wrote: Thu Jun 12, 2025 11:23 am First of all: Gratulations, because Rust ist a very interesting programming language.
Thank you. Rust was one of the main reasons I started this project; as a learning experience; but I think it's also one of the reasons I was able to see it through to the extent I have. Programming in C/C++ is simply much less enjoyable to me, and the fact that Rust is able to provide (me) with such a good developer experience while still maintaining very comparable performance, is very nice. Even inherently "unsafe" data structures, such as the lockless hashtable, don't add that much programmer overhead.
OliverBr wrote: Thu Jun 12, 2025 11:23 am
though there it was v0.1.0, which was about 600 Elo weaker, mainly due to the abysmal HCE (now using NNUE).
So "bad" HCE vs NNUE creates 600 ELO points? It is really amazing.
How strong can a self-written engine become that uses neither HCE, nor NNUE?
No, that is not quite correct. v0.1.0 to v0.2.0 had a total of about 600 elo points gain, but while NNUE was the one largest improvement (maybe 400-450 Elo total? Still a very good chunk!), I also added other improvements like futility pruning, reverse futility pruning, move count based pruning (or something similar to it at least), aspiration windows, etc.

The HCE consisted of piece-square tables, + some terms for passed pawns, doubled pawns, different queenside/kingside pawn tables, that sort of things. The initial NNUE version was very barebones, CReLU with a 32-element accumulator and simple piece-square inputs. It was also trained on much less data than is typically encouraged, about 20 million positions gathered over a single day, by self-play with the HCE version. This gained about 200 Elo and was the largest single jump. I think this is actually the most interesting result here, because it shows that even with relatively limited resources there is quite a good gain to be made. Often this end of the spectrum gets overlooked, and the focus is on "how many billions of positions and gpu hours do you need to train a stockfish-quality net", but this proves that scaling this back many orders of magnitude is still worthwhile.

I then made incremental improvements while still running self-play with the latest version, so I now have a repository of about 180 million positions from depth-8 selfplay, mostly from Chess 324 starting positions with a few plies of random moves applied. The current architecture is 2-sided piece-square input, to a 512 element accumulator, to a single output (no output bucketing yet), with SCReLU activation.
OliverBr
Posts: 777
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: New engine releases & news H1 2025

Post by OliverBr »

Lunar wrote: Thu Jun 12, 2025 5:10 pm
OliverBr wrote: Thu Jun 12, 2025 11:23 am First of all: Gratulations, because Rust ist a very interesting programming language.
No, that is not quite correct. v0.1.0 to v0.2.0 had a total of about 600 elo points gain, but while NNUE was the one largest improvement (maybe 400-450 Elo total? Still a very good chunk!),
400-450 ELO... that is still a big hammer. There is no single feauture in OliThink that brings this much gain. The biggest I know would be Null Move Pruning, which I guess about 150 ELO.

So we see all: This is are very biggest game changer in chess.
...about 20 million positions gathered over a single day, by self-play with the HCE version.
But there is where I do wonder a little. The HCE version does have an chess position evaluation, doesn't it? Because I couldn't find any in a couple of 3500+ ELO engines.
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink
Lunar
Posts: 11
Joined: Wed May 21, 2025 12:32 pm
Full name: Patrick Hilhorst

Re: New engine releases & news H1 2025

Post by Lunar »

OliverBr wrote: Thu Jun 12, 2025 5:40 pm
...about 20 million positions gathered over a single day, by self-play with the HCE version.
But there is where I do wonder a little. The HCE version does have an chess position evaluation, doesn't it? Because I couldn't find any in a couple of 3500+ ELO engines.
Yes, there was an evaluation function present. How do these engines without one then decide what is a good position and what not? I suppose you could do MCTS, only stopping at checkmate etc., but would that really get you to the 3500 level without any evaluation?
OliverBr
Posts: 777
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: New engine releases & news H1 2025

Post by OliverBr »

Lunar wrote: Thu Jun 12, 2025 6:12 pm
OliverBr wrote: Thu Jun 12, 2025 5:40 pm
...about 20 million positions gathered over a single day, by self-play with the HCE version.
But there is where I do wonder a little. The HCE version does have an chess position evaluation, doesn't it? Because I couldn't find any in a couple of 3500+ ELO engines.
Yes, there was an evaluation function present. How do these engines without one then decide what is a good position and what not? I suppose you could do MCTS, only stopping at checkmate etc., but would that really get you to the 3500 level without any evaluation?
That is the question. One engine describes that it started with an smaller stockfish neural net and created a bigger one. In another there is no info about how it created its NN.
One thing have most of those engines in common: There is no eval function. And they are incredibly strong, but not stronger than Stockfish.
This seems strange. If they create something new at least one should be stronger than Stockfish, am I wrong?
But we had these a couple of years before, when the Parameter Tuning was "in". Suddenly al lot of engines went to 3200++ ELO, but none could beat Stockfish.
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink
User avatar
Gabor Szots
Posts: 1437
Joined: Sat Jul 21, 2018 7:43 am
Location: Budapest, Hungary
Full name: Gabor Szots

Re: New engine releases & news H1 2025

Post by Gabor Szots »

Guys, could you please move this discussion out of the 'New engines' thread?
Gabor Szots
CCRL testing group
Lunar
Posts: 11
Joined: Wed May 21, 2025 12:32 pm
Full name: Patrick Hilhorst

Re: New engine releases & news H1 2025

Post by Lunar »

https://github.com/Synthetica9/lunar/releases/tag/0.2.1

Lunar v0.2.1, bugfix release for v0.2.0. Playing strength should be unaffected.

Fixes two timing-related bugs, both most likely when using an UI that does not send isready between position and go commands in UCI (this is not required by UCI).
User avatar
Steve Maughan
Posts: 1273
Joined: Wed Mar 08, 2006 8:28 pm
Location: Florida, USA

Re: New engine releases & news H1 2025

Post by Steve Maughan »

I’m pleased to announce my new chess engine — Juggernaut. The name is somewhat tongue-in-cheek as Juggernaut is written in Delphi 64-bit, which does not product the fastest executable. Nevertheless, Delphi is my “mother tongue” and I simply wanted to develop a Delphi chess engine.

Juggernaut 1.00:
  • Create a rock-solid Delphi chess engine, capable of playing ultra-fast games (tested at game in 0.5 sec + 0.05 sec increments)
  • Multi-PV and multi-threaded capable — this is a first for me (Juggernaut is certainly the weakest multi-threaded engine, and one of the weakest chess960 engines)
  • Supports all aspects of the UCI protocol including: UCI_CurrLine, UCI_Refutations
  • Chess960 support
  • The initial engine is intentionally super-simple:
    • Simple piece-square table evaluation:
    • A basic alpha-beta and quiescent search
    • Move ordering of hash move, captures (mvv/lva), then quite moves sorted by history table — that’s it!
    • There are zero extensions, no check extensions, no killer moves, no null move, no singularity extensions, no static exchange evaluators, no history reductions
  • Own opening book support:
    • Can consume Polyglot opening books
    • UCI options to select which book is used
    • Opening book is loaded into memory for faster access
    • Opening book randomness parameter: 0.5 uses opening book weights; 0.0 always plays the move with the highest weight; 1.0 weighs all moves equally.

A little more info on ChessProgramming.net

Download here: Juggernaut 1.00 (estimated strength of 2100 ELO on the CCRL scale)
http://www.chessprogramming.net - Juggernaut & Maverick Chess Engine
User avatar
Jim Ablett
Posts: 2107
Joined: Fri Jul 14, 2006 7:56 am
Location: London, England
Full name: Jim Ablett

Re: New engine releases & news H1 2025

Post by Jim Ablett »

Steve Maughan wrote: Fri Jun 13, 2025 4:38 am I’m pleased to announce my new chess engine — Juggernaut. The name is somewhat tongue-in-cheek as Juggernaut is written in Delphi 64-bit, which does not product the fastest executable. Nevertheless, Delphi is my “mother tongue” and I simply wanted to develop a Delphi chess engine.

Juggernaut 1.00:
  • Create a rock-solid Delphi chess engine, capable of playing ultra-fast games (tested at game in 0.5 sec + 0.05 sec increments)
  • Multi-PV and multi-threaded capable — this is a first for me (Juggernaut is certainly the weakest multi-threaded engine, and one of the weakest chess960 engines)
  • Supports all aspects of the UCI protocol including: UCI_CurrLine, UCI_Refutations
  • Chess960 support
  • The initial engine is intentionally super-simple:
    • Simple piece-square table evaluation:
    • A basic alpha-beta and quiescent search
    • Move ordering of hash move, captures (mvv/lva), then quite moves sorted by history table — that’s it!
    • There are zero extensions, no check extensions, no killer moves, no null move, no singularity extensions, no static exchange evaluators, no history reductions
  • Own opening book support:
    • Can consume Polyglot opening books
    • UCI options to select which book is used
    • Opening book is loaded into memory for faster access
    • Opening book randomness parameter: 0.5 uses opening book weights; 0.0 always plays the move with the highest weight; 1.0 weighs all moves equally.

A little more info on ChessProgramming.net

Download here: Juggernaut 1.00 (estimated strength of 2100 ELO on the CCRL scale)
Very nice Steve! Trying it out now.
I made a little logo to celebrate the new release.

Image

Jim.
User avatar
Steve Maughan
Posts: 1273
Joined: Wed Mar 08, 2006 8:28 pm
Location: Florida, USA

Re: New engine releases & news H1 2025

Post by Steve Maughan »

I love it — thanks Jim!!
http://www.chessprogramming.net - Juggernaut & Maverick Chess Engine