Repository navigation
Releases: sacon1s/blizzard
Release list
Blizzard v1.0.1
Improvements
- +17 Elo over 1.0 (400 games, 0.2 s per move); 97% against Stockfish 2800 and 65% against Stockfish 3190.
- Smarter move ordering: the engine remembers which moves work when their squares are under attack, and tries moving a piece out of an attack by a weaker piece first.
- More precise pruning: weak quiet moves are cut by the depth they would actually be searched to.
- Search parameters retuned.
Downloads
| File | For |
|---|---|
blizzard-1.0.1-windows.zip |
Windows 10/11, 64-bit |
blizzard-1.0.1-universal.zip |
Linux; macOS and others with Node.js 18+ |
Play in the browser: sacon1s.github.io/blizzard.
Blizzard v1.0
Improvements
- +65 Elo over 0.9 (200 games, 0.2 s per move); 95% against Stockfish 2800 and 63% against Stockfish 3190.
- Stronger search: principal-variation lines are searched more carefully, checking moves are reduced too, move history looks four moves back, evaluations are corrected by the last two moves, deeper null-move pruning.
- Faster network: the output layer works in integers, about a third faster with the same evaluations.
- Network fine-tuned further on all training positions.
- Website: a Review page for chess.com, lichess and Blizzard Chess games.
- The built-in opening book is now off by default (option
OwnBook), so the engine plays from your GUI's book. - Safer time management when the clock runs low: no losses on time even in long games without increment.
- Blizzard is now under the MIT license.
Downloads
| File | For |
|---|---|
blizzard-1.0-windows.zip |
Windows 10/11, 64-bit |
blizzard-1.0-universal.zip |
Linux; macOS and others with Node.js 18+ |
Play in the browser: sacon1s.github.io/blizzard.
Blizzard v0.9
Improvements
- New neural network trained on 48 million positions: more accurate evaluations, closer to Stockfish.
- Better search: smarter move reductions.
- +30 Elo over 0.8.
- Move sounds, plus arrows and highlighted squares drawn on the board with the right mouse button.
Downloads
| File | For |
|---|---|
blizzard-0.9-windows.zip |
Windows 10/11, 64-bit |
blizzard-0.9-universal.zip |
Linux; macOS and others with Node.js 18+ |
Play in the browser: sacon1s.github.io/blizzard.
Blizzard v0.8
A native engine that thinks on several cores. On two cores Blizzard 0.8 scored +43 =53 −4 against 0.7
(69.5%, +143 Elo, 95% interval +100 to +191) in 100 games at 0.2 s per move. Against Stockfish 19 at its
highest limited setting (3190) it scored +11 =14 −5 (60%).
What's new
Native programs for Windows and Linux. The downloadable engine is no longer JavaScript running in Node.js:
the C core is compiled straight to machine code, with AVX2 instructions for the network. On one core it is about
20% faster than the WebAssembly build, and the Windows download shrank from 34 MB to 2.9 MB (with both programs).
blizzard-old-cpu.exe is the same engine for processors without AVX2.
Several cores at once. The new Threads option runs the search on several cores (Lazy SMP: every thread
searches the same position and they share one transposition table). By default Blizzard takes half of the
cores, up to 8. On two cores it searches about 2.7 million positions per second instead of 1.4 million.
Evaluations on Stockfish's scale. On 1,411 positions compared with a deep Stockfish 16 analysis (a million
nodes each), Blizzard's evaluations pointed to the same side in 99% of positions, but its numbers ran
about 8% larger on a typical position. Shown evaluations are now scaled to match, in the UCI engine, in the
browser and in game review.
Website. The logo now slowly turns on the home page.
Strength
| Match | Games | Score | Elo difference (95% interval) |
|---|---|---|---|
| 0.8 on 2 cores vs 0.7 | 100 | 69.5% | +143 (+100 to +191) |
| 0.8 on 1 core vs 0.7 | 29 | 63.8% | +98 (+22 to +185) |
| 0.8 on 2 cores vs Stockfish 2800 | 30 | 93% (0.7 scored 81%) | +458 (+334 to +798) |
| 0.8 on 2 cores vs Stockfish 3190 | 30 | 60% (0.7 scored 50%) | +70 (−18 to +169) |
Every match: 0.2 s per move. Stockfish 19 is the single-threaded browser build, limited with UCI_Elo;
Blizzard 0.8 played it on 2 cores. More cores make Blizzard stronger still, but this was measured on a
two-core machine only. Full-strength Stockfish, without a limit, is still far stronger. These are not
FIDE or CCRL ratings; they compare Blizzard versions under the same conditions.
Downloads
| File | For | SHA-256 |
|---|---|---|
blizzard-0.8-windows.zip |
Windows 10/11, 64-bit, nothing to install | 2c3263e0e0d0fd72d299b5eaa96fd74c9ee4bc6da6fc70d6ab31706fbcb1c877 |
blizzard-0.8-universal.zip |
Linux (ready program); macOS and others with Node.js 18+ | be31ac8ddbc7b69318654445a5f6a1c4fb2a2cb809eb590ea9f0ebeeb6b1fe7a |
Unpack, then add blizzard.exe (or blizzard-linux, or node blizzard-uci.js) to Arena, Cute Chess,
En Croissant or any other UCI program. Play it in the browser at
sacon1s.github.io/blizzard.
Upgrading from 0.7
- Replace the old files. New options:
Threads,Move Overhead,Clear Hash;Hashnow defaults to 64 MB. UseNNUE(the old hand-written evaluation) is only in the Node.js version,blizzard-uci.js.- The programs are not code-signed: if SmartScreen warns, click More info, then Run anyway.
data-1
Blizzard v0.7
On a par with the strongest limited Stockfish. Against Stockfish 19 at its highest limited setting (3190)
Blizzard 0.7 scored +10 =20 −10 (50%, 0 Elo) in 40 games at 0.2 s per move. Against 0.6 it is +64 Elo:
+155 =174 −80 (59.2%) in 409 games, 95% interval +39 to +90.
What's new
The evaluation corrects itself by piece placement. Since 0.4 the search has remembered how far the static
evaluation was off in positions with the same pawn structure, and nudged later evaluations by that much. Now it
also remembers this for the placement of each side's pieces (knights, bishops, rooks and queens of one color),
and corrects the evaluation by both. This one change was worth +64 Elo.
Fast testing and tuning. Two copies of the engine can now play inside one process, about 3,600 short games an
hour on two cores, with an early stop as soon as the result is clear (tools/selfplay.js). Search parameters can
be changed without rebuilding the core, and tools/spsa.js tunes them automatically.
Tested and left out (600 games each): ProbCut (−16 Elo), double and negative singular extensions (−7),
pruning quiet moves with a bad history (+3), 16 automatically tuned search parameters (−8), and twice the weight
for the new correction (+4).
Strength
| Match | Games | Score | Elo difference (95% interval) |
|---|---|---|---|
| 0.7 vs 0.6 | 409 | 59.2% | +64 (+39 to +90) |
| 0.7 vs Stockfish 2800 | 40 | 81% (0.6 scored 74%) | +255 (+151 to +425) |
| 0.7 vs Stockfish 3000 | 40 | 59% (0.6 scored 71%) | +61 (−15 to +144) |
| 0.7 vs Stockfish 3190 | 40 | 50% (0.6 scored 45%) | 0 (−77 to +77) |
Stockfish 19 here is the single-threaded browser build, limited with UCI_Elo, at 0.2 s per move. Full-strength
Stockfish, without a limit, is still far stronger. These are not FIDE or CCRL ratings; they compare Blizzard
versions under the same conditions.
Downloads
| File | For | SHA-256 |
|---|---|---|
blizzard-0.7-windows.zip |
Windows 10/11, 64-bit, nothing to install | fd6379aab75fc78279d9d2b0d592512e3619de753cd674717d65c8df23316b55 |
blizzard-0.7-universal.zip |
macOS, Linux and others, needs Node.js 18+ | fa3def7de0ed1baf708a83f621538db936244a79067bac22ab929ad1ad90a77d |
Unpack, then add blizzard.exe (or node blizzard-uci.js) to Arena, Cute Chess, En Croissant or any
other UCI program. Play it in the browser at sacon1s.github.io/blizzard.
Upgrading from 0.6
- Replace the old files. UCI options are unchanged.
blizzard.exeis not code-signed: if SmartScreen warns, click More info, then Run anyway.
Blizzard v0.6
+182 Elo over 0.5, and ahead of Stockfish 3000. In a match against 0.5 Blizzard 0.6 scored +12 =13 −0
(74.0% in 25 games, 95% interval +102 to +285) at 0.2 s per move; the match stopped as soon as the result
was clear. Against Stockfish 19 limited to 3000 it now scores 71% (+158 Elo), and against 2800 74%.
What's new
A new search core in WebAssembly. The search now runs in WebAssembly compiled from C (core/blizzard.c,
about 50 KB, built into engine.js). It keeps a bitboard position with magic attack tables, generates only
legal moves, and runs the network on SIMD. It searches 1.2 to 1.7 million positions per second, three to four
times as many as the JavaScript search, both in the browser and in the UCI engine.
The same evaluation, only faster. Move generation matches the reference perft counts on six standard test
positions, and on 2,000 test positions the network gives exactly the same evaluation as the JavaScript code.
The JavaScript search stays as a fallback for browsers without WebAssembly and for the hand-written evaluation
(UseNNUE false).
Tested and left out. A transposition table with buckets of four entries lost 17 Elo in 286 games.
Strength
| Match | Games | Score | Elo difference (95% interval) |
|---|---|---|---|
| 0.6 vs 0.5 | 25 | 74.0% | +182 (+102 to +285) |
| 0.6 vs Stockfish 2800 | 40 | 74% (0.5 scored 65%) | +179 (+80 to +319) |
| 0.6 vs Stockfish 3000 | 40 | 71% (0.5 scored 30%) | +158 (+73 to +265) |
| 0.6 vs Stockfish 3190 | 40 | 45% (not measured for 0.5) | −35 (−126 to +52) |
Stockfish 19 here is the single-threaded browser build, limited with UCI_Elo, at 0.2 s per move.
These are not FIDE or CCRL ratings; they compare Blizzard versions under the same conditions.
Downloads
| File | For | SHA-256 |
|---|---|---|
blizzard-0.6-windows.zip |
Windows 10/11, 64-bit, nothing to install | 46765bc9545f85cff6e0f3a0a6e9e551f34238964258b45f88fa4ddef3236805 |
blizzard-0.6-universal.zip |
macOS, Linux and others, needs Node.js 18+ | 85a0adadfca9ac98b9b0e3406a9c3f8060264934f98acebed4129b2bf35228b0 |
Unpack, then add blizzard.exe (or node blizzard-uci.js) to Arena, Cute Chess, En Croissant or any
other UCI program. Play it in the browser at sacon1s.github.io/blizzard.
Upgrading from 0.5
- Replace the old files. UCI options are unchanged.
UseNNUE falsestill switches to the hand-written evaluation; it runs on the JavaScript search.blizzard.exeis not code-signed: if SmartScreen warns, click More info, then Run anyway.
Blizzard v0.5
+53 Elo over 0.4. In a 100-game match Blizzard 0.5 scored +40 =35 −25 (57.5%), with a 95% interval
of −2 to +110 Elo, at 0.1 s per move with book openings, each opening played with both colors.
Against Stockfish 2800 it scores 65%, and against Stockfish 3000 30%.
What's new
Twice the neurons. The network is now 3072 → 2×256 → 1, with the same king-aware inputs as before.
Thanks to the WebAssembly SIMD code from 0.4, it is only about 5% slower than the 0.4 network.
More and better training data. The network was pretrained on 12.1 million positions with
Stockfish 19's static evaluation, then fine-tuned on 11.4 million positions scored by a short search
(1000 nodes each): 7.8 million by Stockfish 19 and 3.6 million new ones by the full Stockfish 16, whose
larger network judges positions more accurately. On 30,000 positions it never saw in training, its error
is 7% lower than that of the 0.4 network.
Tested and left out. ProbCut, history-based pruning, double and negative singular extensions, and
scaling the evaluation toward a draw as the fifty-move rule approaches lost 16 to 32 Elo against 0.4.
A second network layer (2×256 → 16 → 1) was 1.3% more accurate but 17% slower, and lost 83 Elo to the same
network without it. Another 3.9 million positions gave nothing measurable. The search is the same as in 0.4,
about 2% faster.
A new website. Black and white throughout. The first screen is a snowstorm with the word Blizzard; as you
scroll, the word scatters into snow and the snow gathers into the logo. Versions open to show what changed,
and comparisons have their own Compare tab. The play page is black and white too; only the move ratings
keep their colors.
Strength
| Match | Games | Score | Elo difference (95% interval) |
|---|---|---|---|
| 0.5 vs 0.4 | 100 | 57.5% | +53 (−2 to +110) |
| 0.5 vs Stockfish 2800 | 40 | 65% (0.4 scored 61%) | +108 (+17 to +216) |
| 0.5 vs Stockfish 3000 | 40 | 30% (0.4 scored 26%) | −147 (−250 to −64) |
Stockfish 19 here is the single-threaded browser build, limited with UCI_Elo, at 0.2 s per move.
These are not FIDE or CCRL ratings; they compare Blizzard versions under the same conditions.
Downloads
| File | For | SHA-256 |
|---|---|---|
blizzard-0.5-windows.zip |
Windows 10/11, 64-bit, nothing to install | ad351a4ca34c8170819b67e45e12fd0f11fceccf5e1e196dd48ba309163106ca |
blizzard-0.5-universal.zip |
macOS, Linux and others, needs Node.js 18+ | f789c07281d8ddaaa5b7225f4859583145d896fcca4ca31c0d44ee47a23c3d2d |
Unpack, then add blizzard.exe (or node blizzard-uci.js) to Arena, Cute Chess, En Croissant or any
other UCI program. Play it in the browser at sacon1s.github.io/blizzard.
Upgrading from 0.4
- Replace the old files. UCI options are unchanged.
UseNNUE falsestill switches to the hand-written evaluation.- The engine still loads the 0.2, 0.3 and 0.4 networks.
blizzard.exeis not code-signed: if SmartScreen warns, click More info, then Run anyway.
Blizzard v0.4
+186 Elo over 0.3. In a 200-game match Blizzard 0.4 scored +117 =64 −19 (74.5%), with a 95% interval
of +146 to +231 Elo. Both engines had 0.2 s per move and played book openings, each opening with both colors.
Against Stockfish 2800 it now scores 61%, up from 47% for 0.3.
What's new
Twice the search-scored training data. The network keeps the same shape as in 0.3 (3072 → 2×128 → 1,
king-aware inputs), but it was fine-tuned on 6.6 million positions scored by a short Stockfish 19 search,
up from 3 million. Its error was checked on 30,000 positions it never saw in training.
A faster network. Accumulator updates and the output layer now run on WebAssembly SIMD, eight numbers
per instruction, both in the browser and in the UCI engine. That is 30–45% more positions per second,
with exactly the same evaluations as the plain JavaScript path, which is still there as a fallback.
Search.
- Correction history: the static evaluation is adjusted by how far off it was in earlier positions with
the same pawn structure. - Capture history orders captures by how well they worked before.
- Continuation history now also looks at the move two plies back.
- With a fixed time per move (
go movetime), the engine uses the whole time.
On their own the search changes were worth about +60 Elo against 0.3; with the new network, +186.
Strength
| Match | Games | Score | Elo difference (95% interval) |
|---|---|---|---|
| 0.4 vs 0.3 | 200 | 74.5% | +186 (+146 to +231) |
| 0.4 vs Stockfish 2800 | 40 | 61% (0.3 scored 47%) | +80 (−17 to +190) |
| 0.4 vs Stockfish 3000 | 40 | 26% (0.3 scored 20%) | −179 (−290 to −95) |
Stockfish 19 here is the single-threaded browser build, limited with UCI_Elo. These are not FIDE or
CCRL ratings; they compare Blizzard versions under the same conditions.
Downloads
| File | For | SHA-256 |
|---|---|---|
blizzard-0.4-windows.zip |
Windows 10/11, 64-bit, nothing to install | 004ad177d94243cda4171bf49caea5bd948dda34bc6d7a911e8b72e6edc59dcb |
blizzard-0.4-universal.zip |
macOS, Linux and others, needs Node.js 18+ | 119aaeee499cd0bf9e42b35e4023ae939300313c215ba61b0ad64bab5baab5dd |
Unpack, then add blizzard.exe (or node blizzard-uci.js) to Arena, Cute Chess, En Croissant or any
other UCI program.
Upgrading from 0.3
- Replace the old files. UCI options are unchanged.
UseNNUE falsestill switches to the hand-written evaluation.- The engine still loads 0.2 and 0.3 networks.
blizzard.exeis not code-signed: if SmartScreen warns, click More info, then Run anyway.