Dolphin 2.1 - new open-source UCI engine in C# with a self-trained NNUE

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

Moderator: Ras

nguyenviethuy
Posts: 4
Joined: Sun Oct 11, 2026 6:24 am
Full name: NGUYEN VIET HUY

Dolphin 2.1 - new open-source UCI engine in C# with a self-trained NNUE

Post by nguyenviethuy »

Subject: Dolphin 2.1 - new open-source UCI engine in C# with a self-trained NNUE

Hello everyone,

I would like to introduce Dolphin, a UCI chess engine I have been writing in C#. Version 2.1 is now available with full source code and ready-to-run Windows builds.
Which file to download
  • Dolphin-2.1.0-windows-x64.zip - self-contained, includes its own .NET runtime, nothing to install. Recommended for testers.
  • Dolphin-2.1.0-windows-x64-requires-dotnet.zip - small package for machines that already have .NET 5.0 or newer.
The network is embedded in the executable, so no separate .nnue file is needed. Windows x64 only for now; Linux/macOS users can build from source with "dotnet build -c Release" (not tested by me yet).

Engine overview
  • Bitboards with magic bitboards, fully legal move generation (perft checked against a reference engine on 20 tricky positions)
  • PVS with iterative deepening and aspiration windows; null move, reverse futility, razoring, futility, LMP, ProbCut, LMR, singular extensions, IIR, SEE
  • Move ordering with hash move, killers, history, countermove and continuation history
  • Lazy SMP, time management for all common time controls (including moves-to-go), pondering
  • NNUE: 768 inputs -> 384 hidden neurons per perspective (SCReLU) -> 8 output buckets, incrementally updated, AVX2 fast path
  • UCI options: Hash, Threads, Move Overhead, Ponder, Clear Hash, UseNNUE, EvalFile
Originality
All code is my own. The network was trained from scratch with the trainer built into the engine (the "datagen" and "train" commands), using only positions from Dolphin's own self-play games: about 44 million positions from five generations, starting from a hand-written evaluation. No code or networks from other engines were used. Stockfish was only used as an external tool (reference perft numbers and a sparring partner).

Testing before release
cutechess-cli 1.5.1, the release packages as downloaded, Intel i7-11800H, opponent Dolphin 2.0:
  • 10+0.1, 1 thread: 1000 games, +352 -215 =433, +47.9 +/- 16.2 Elo
  • 40 moves / 30 s: 300 games, +105 -45 =150
  • 2 min + 1 s: 40 games, +14 -5 =21
  • 4 threads + 1 GB hash: 20 games, and 100 games with the engine restarted for every game
1460 games in total with no time losses, no crashes and no illegal moves. Full tables are in the release notes.

Known limitations
  • No built-in opening book (use the GUI's book)
  • No Syzygy tablebase support yet
  • Windows x64 builds only; a 64-bit CPU is required
  • In one game of the release candidate, cutechess reported a PV line that continued one move past a checkmate (display only). 2.1 contains a fix attempt; please let me know if you still see PV warnings.
I would be very happy if testers could include Dolphin in their lists. Bug reports, match results and suggestions are welcome, here or on GitHub.

Thank you,
Nguyen Viet Huy
User avatar
Graham Banks
Posts: 46573
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Dolphin 2.1 - new open-source UCI engine in C# with a self-trained NNUE

Post by Graham Banks »

Can you please give a rough estimation of strength?
gbanksnz at gmail.com
nguyenviethuy
Posts: 4
Joined: Sun Oct 11, 2026 6:24 am
Full name: NGUYEN VIET HUY

Re: Dolphin 2.1 - new open-source UCI engine in C# with a self-trained NNUE

Post by nguyenviethuy »

Hi Graham, thank you for asking.

First, some background: Dolphin 2 is the successor of Dolphin 1.0 64-bit https://computerchess.org.uk/4040/cgi/e ... 1_0_64-bit, which CCRL tested many years ago (currently 2182 on the 40/15 list). I had not touched the engine for more than ten years. Dolphin 2 is a new program written from scratch in C#, with a self-trained NNUE evaluation, so the old rating says nothing about the new one.

On strength, I only have one data point against a rated engine: 200 games Dolphin 2.1 vs Lizard 11.2 (both 1 thread, 10s+0.1s, 64 MB hash, same openings) ended +3 −166 =31, i.e. about −400 Elo. With Lizard's single-thread strength at roughly 3600–3650 on the CCRL Blitz scale, that would put Dolphin 2.1 somewhere around 3200–3300 CCRL Blitz. Please treat this as a rough estimate: one opponent, 200 games, a large Elo gap and a laptop, not CCRL conditions.

Version 2.2 is now on GitHub (search improvements only, same network). In self-play it scored +48 ± 17 Elo against 2.1 at 8+0.08 (519 games) and +69 ± 20 at 10+0.1 (500 games, cutechess-cli), so it should be a little above that estimate.

I would be grateful for any real rating from your lists.

Nguyen Viet Huy
nguyenviethuy
Posts: 4
Joined: Sun Oct 11, 2026 6:24 am
Full name: NGUYEN VIET HUY

Re: Dolphin 2.1 - new open-source UCI engine in C# with a self-trained NNUE

Post by nguyenviethuy »

Graham Banks wrote: ↑Mon Oct 12, 2026 9:34 am Can you please give a rough estimation of strength?
Dolphin 2 is the successor of Dolphin 1.0 64-bit https://computerchess.org.uk/4040/cgi/e ... 1_0_64-bit

now the latest version is 2.2 at https://github.com/aiagentvn/dolphin/re ... tag/v2.2.0
Dolphin 2.2 is a search-only update: the same network as 2.1, with better move ordering. Self-play gain about +48 Elo at fast time controls.
that would put Dolphin 2.1 somewhere around 3250–3350
User avatar
Gabor Szots
Posts: 1610
Joined: Sat Jul 21, 2018 7:43 am
Location: Budapest, Hungary
Full name: Gabor Szots

Re: Dolphin 2.1 - new open-source UCI engine in C# with a self-trained NNUE

Post by Gabor Szots »

I can see that the link we give for version 1.0 is no longer valid. Can that engine still be downloaded from some place of yours?
Gabor Szots
CCRL testing group
nguyenviethuy
Posts: 4
Joined: Sun Oct 11, 2026 6:24 am
Full name: NGUYEN VIET HUY

Re: Dolphin 2.1 - new open-source UCI engine in C# with a self-trained NNUE

Post by nguyenviethuy »

Gabor Szots wrote: ↑Tue Oct 13, 2026 9:06 am I can see that the link we give for version 1.0 is no longer valid. Can that engine still be downloaded from some place of yours?
The old link is no longer in use; I am using only this new link.
I hope you will use this new version to replace the old Dolphin.
I post all the latest versions here: https://github.com/aiagentvn/dolphin/releases
User avatar
Sylwy
Posts: 5428
Joined: Fri Apr 21, 2006 4:19 pm
Location: IAȘI - the historical capital of MOLDOVA
Full name: Silvian Rucsandescu

Re: Dolphin 2.1 - new open-source UCI engine in C# with a self-trained NNUE

Post by Sylwy »

Gabor Szots wrote: ↑Tue Oct 13, 2026 9:06 am I can see that the link we give for version 1.0 is no longer valid. Can that engine still be downloaded from some place of yours?
Version 1.0 (WB) GUI+engine can be downloaded here:

https://sourceforge.net/projects/dolphi ... r/download

Only engine:

https://www.mediafire.com/file/mj9x0czr ... hin_1.0.7z

:wink:
User avatar
Gabor Szots
Posts: 1610
Joined: Sat Jul 21, 2018 7:43 am
Location: Budapest, Hungary
Full name: Gabor Szots

Re: Dolphin 2.1 - new open-source UCI engine in C# with a self-trained NNUE

Post by Gabor Szots »

Sylwy wrote: ↑Tue Oct 13, 2026 7:26 pm
Gabor Szots wrote: ↑Tue Oct 13, 2026 9:06 am I can see that the link we give for version 1.0 is no longer valid. Can that engine still be downloaded from some place of yours?
Version 1.0 (WB) GUI+engine can be downloaded here:

https://sourceforge.net/projects/dolphi ... r/download

Only engine:

https://www.mediafire.com/file/mj9x0czr ... hin_1.0.7z

:wink:
Thank you, Silvian.
Gabor Szots
CCRL testing group