Hagrid and Snitch were written between 2001 and 2006 – from a first buggy
1800 Elo prototype to an engine playing around 2350. Twenty years later, Snitch 2.0
learned to evaluate with a neural network. Both are free and run in any UCI or WinBoard GUI –
and the game on the board is a real one.
Hagrid 0.7.56 – Snitch 1.6.1 · Sicilian (B31) · played 25 Oct 2026
The engines
Hagrid & Snitch
Two independent engines with very different internals. Hagrid came first and is fast;
Snitch is a complete rewrite – slower, but stronger. Both speak UCI and WinBoard and ship without a GUI.
Speeds are measured on an Intel Core i7-12700T.
♞︎
Snitch
v2.0.0 · October 2026
A complete rewrite with piece lists, table-based move generation, attack-based king safety,
evaluation-based pruning and book learning. Version 2.0 replaces the hand-written evaluation
with an NNUE network and runs natively on Windows, Linux and ARM.
Five years of evenings, bugs and small victories – newest first.
Snitch 2.0.0 – now with NNUE
Twenty years after 1.6.2, Snitch evaluates positions with an NNUE network instead of hand-tuned terms.
Native 64-bit builds for Windows and Linux (AVX2, plus a POPCNT fallback for very old CPUs) and for Linux on ARM64, e.g. Raspberry Pi 4/5.
A new home page
This site gets its first redesign since 2002. Both engines still play: the replay at the top is
Hagrid 0.7.56 against Snitch 1.6.1, played on 25 October 2026 at 10 s + 0.1 s.
Faster x64 build
The previous 64-bit compile was accidentally a debug build. No version number change.
Snitch 1.6.2
WinBoard protocol fixes only – no evaluation or search changes.
Snitch 1.6.1
Asymmetry bugs in rook and king safety evaluation fixed
WinBoard protocol bug fixed – this one haunted Snitch for quite a while and made it freeze at the end of a game
Outpost and space evaluation added, knight and bishop evaluation tuned
Snitch 1.4.5
MultiPV mode added, several minor search and evaluation tunings, general code cleanup.
Snitch 1.2.4
Fixes a time control bug introduced in 1.2.x that could make Snitch forfeit on time.
Snitch 1.2.2
Minor bug fixes and evaluation changes, general speedup.
Snitch 1.0.8
Fixed a bug that sometimes made Snitch hang after the end of a game. Better move ordering, changed quiescence pruning.
Snitch 1.0.4
Removed super-verbose UCI info output that slowed Snitch down under some UCI GUIs.
Snitch 1.0.0
A completely new engine – slower but stronger than Hagrid. See the internals for a detailed comparison.
Hagrid 0.7.56
Minor bug fixes and evaluation tuning – the final public Hagrid.
Hagrid 0.7.47
UCI fix: Hagrid pondered only with the latest Fritz interface. Now pondering works with other UCI GUIs as well.
Hagrid 0.7.45
WinBoard pondering added, evaluation tuning, several minor bugs removed.
Hagrid 0.7.2
Nalimov tablebase support (compressed or uncompressed), pawn hashing bug fixed, evaluation tuning – plays much stronger than before.
Hagrid 0.6.34
Fixed a crash with incremental time controls under WinBoard. New or fixed WinBoard features: move now, analyze,
draw claims on threefold repetition and the 50-move rule, resigning.
Big opening book
A big opening book for Hagrid becomes available.
Hagrid 0.6.32
Fixed a bug in the hashtable update and replaced a broken book file.
This site is born
…to make Hagrid available to the public.
Speaking UCI
The UCI protocol is implemented so Hagrid runs under the Fritz GUI. By the end of March it plays somewhere between 2100 and 2200 Elo.
Hagrid gets a name
Mostly WinBoard features – the only real improvement is null-move pruning, worth several Elo.
After months of developing a nameless engine it needs a name: Hagrid is born.
The first running version
Full of bugs – playing around 1800 Elo, or crashing. Weeks of bug hunting later, by the end of 2001,
a WinBoard engine plays reasonable chess at about 2000 Elo.
First interest in computer chess
A first idea – keeping the complete game tree in memory – does not go well. A few days of reading
about how it is really done later, the first own engine is under way.
For developers
Internals
A short overview of the techniques used in my engines, rated by their impact on playing strength –
based on my own experience. Snitch 2.0.0 keeps the search of 1.x but replaces the hand-written evaluation with an NNUE network.
Technique
Hagrid 0.7.56
Snitch 1.0.0
Snitch 2.0.0
Importance
Search
Alpha-beta / PVS
yes
yes
yes
Hashtable
single (depth)
double (depth, always)
double (depth, always)
Null move
yes (R=2)
yes (R=3,2)
yes (R=3,2)
Aspiration search
yes (sophisticated)
yes
yes
Quiescence pruning
yes
yes
yes
Special eval-based pruning
no
yes
yes
Futility pruning
yes
yes
yes
Lazy eval
yes
yes
no
Fail-high reductions
yes
kind of
kind of
Endgame tablebases
yes
yes
yes
Opening book
yes
yes
yes
Book learning
no
yes
yes
Checks in quiescence
no
yes
yes
SEE
sometimes
no
no
Pawn hash
yes (basic)
yes (basic)
no
Singular extensions
no
no
no
negative
Move ordering
MVV/LVA
yes
yes
yes
Killer moves
yes
yes
yes
History heuristic
yes
yes
yes
Knowledge-based
no
yes
yes
SEE-based ordering
no
no
no
Evaluation
NNUE (768 → 2×256 → 1, AVX2)
no
no
yes
Material
yes
yes
yes (NNUE)
Square control
no
yes
no (NNUE)
Pawns
yes
yes
no (NNUE)
King safety
yes (basic)
yes (attack-based)
no (NNUE; king-danger proxy for search)
Piece-square tables
yes
yes
no (NNUE)
Rooks
yes
yes
no (NNUE)
Bishops
yes
yes
no (NNUE)
Endgame knowledge
basic
basic
basic
Board representation & move generation
Piece lists
yes
yes
yes
Bitboards
yes
no
no
Attack tables
no
yes
yes
Move generator based on
bitboards, attack boards
piece lists, tables
piece lists, tables
Move undo
yes
no
no
Attack boards
yes
no
no
Plain 8×8 board
no
yes
yes
Generated moves
pseudo-legal
legal
legal
Result
Speed (Athlon XP 1700)
700 kn/s
300 kn/s
–
Speed (Core i7-12700T)
2.5 Mn/s
1.75 Mn/s (1.6.2)
1.91 Mn/s
Estimated Elo
2250
2350
+127 vs. 1.6.2 (measured)
Importance: no measurable gain …
essential;
“negative” means it did not pay off.
Download
Get the engines
Engines only – no GUI included. Load them into any UCI or WinBoard interface and set the working
directory to the unpacked folder. On x64, use the AVX2 build – it runs on any Intel Haswell / AMD Zen
or newer, i.e. practically every PC from the last ten years. The slower POPCNT build is only meant for
very old CPUs without AVX2.