MagicTree

MagicTree

An open-source, MIT-licensed UCI chess engine written in C++

MagicTree 3.5 is available with source code and a Windows x64 binary

Version 3.5 · 2900 Elo · Open Source · MIT License

Built to Compete

Every component of MagicTree is engineered for strength and efficiency — without a neural network.

⚙️

PEXT-Based Attack Generation

Uses the BMI2 PEXT instruction for O(1) sliding-piece attack lookups. Pre-computed rook and bishop attack tables are indexed by a hardware-accelerated occupancy hash — no magic multipliers needed. The current release requires a 64-bit AVX2/BMI2-capable CPU.

🧮

Tapered Handcrafted Evaluation

A classical handcrafted evaluator (HCE) — no neural network and no NNUE file. Midgame and endgame scores are interpolated by material phase, now sharpened by a blend of pawn, non-pawn, and continuation correction histories.

🔍

Deep Alpha-Beta Search

PVS with aspiration windows, null-move pruning, LMR, late move pruning (now extended to depth 8), singular extensions, reverse futility, and reworked, history-aware SEE pruning with an optional endgame guard.

♟

Transposition Table & Prefetch

A Zobrist-keyed transposition table sized via the UCI Hash option. Child TT buckets are prefetched after each move to hide memory latency, and a maintained non-pawn Zobrist key feeds the correction-history blend.

📊

Rich Move Ordering & History

Move ordering layers TT/PV moves, SEE-split captures, MVV-LVA, granular capture history (attacker / to-square / victim piece type), killers, counter moves, and both 2-ply and 4-ply continuation history for early cutoffs.

🔌

UCI Compatible

Implements the Universal Chess Interface (UCI). Load it into Arena, Cute Chess, BanksiaGUI, Shredder, or Fritz/ChessBase. Configurable Hash and Move Overhead, plus advanced SEE and correction-history tuning options.

What is MagicTree?

MagicTree 3.5 is a 64-bit Windows UCI chess engine written in C++. It loads into any UCI-compatible GUI — such as Arena, Cute Chess, BanksiaGUI, Shredder, or Fritz/ChessBase — and plays chess at a grandmaster level. It is an engine only: it does not ship its own graphical board, opening-book manager, or analysis GUI.

Its strength comes from a tapered handcrafted evaluation (no neural network) and a deep alpha-beta search, accelerated by BMI2 PEXT sliding-attack lookups. Created and maintained by Vikrant Malvankar (India), MagicTree 3.5 is open-source software under the permissive MIT License.

$ "MagicTree 3.5.exe"
MagicTree 3.5 — UCI chess engine
━━━━━━━━━━━━━━━━━━━━━━━━
uci
→ id name MagicTree 3.5
→ id author Vikrant Malvankar
→ uciok
isready
→ readyok
position startpos
go depth 10
→ bestmove e2e4

Engineered for Strength

MagicTree plays at a grandmaster level on a hardware-accelerated, classical search core — built for 64-bit Windows with an AVX2 and BMI2/PEXT-capable CPU.

BMI2 / PEXT
Attack backend
Hardware PEXT lookups for rook and bishop attacks.
1–4096 MB
Configurable hash
Transposition table sized via the UCI Hash option.
TT Prefetch
Latency hidden
Child TT buckets prefetched after each move.

Estimated Rating vs. Competitors

Blitz · 2+1

Approximate playing strength at a Blitz time control of 2+1 (two minutes plus a one-second increment).

#EngineEloSource
1Spike 1.42950CCRL Blitz
2MagicTree 3.5This engine2900Private testing (estimate)
3Fridolin2746CCRL Blitz
4Fatali2735CCRL Blitz
5RedQueen2694CCRL Blitz

MagicTree's Elo is an estimate based on private testing and is not an official rating.

All other ratings are taken from CCRL Blitz.

What's New in 3.5

Latest Release
  • ▸Retuned the handcrafted evaluation across pieces, pawns, mobility, threats, king safety, passers, initiative, tempo, and space.
  • ▸Added an exact KPK bitbase and specialized knowledge for a broad range of low-material endgames.
  • ▸Added a material-keyed endgame registry, material cache, and richer pawn-hash data.
  • ▸Cached child check state, compacted position undo records, and streamlined check-evasion counting.
  • ▸Expanded evaluation tracing, coefficient tracing, and profiling support.
  • ▸Added whole-program link-time optimization to the reproducible AVX2/BMI2 release build.

Frequently Asked Questions

Is MagicTree free to use?
Yes. MagicTree 3.5 is released under the MIT License. You may use, copy, modify, compile, publish, distribute, sublicense, and sell copies subject to the license terms.
Is MagicTree open source?
Yes. MagicTree has been open source since version 3.3 and the current 3.5 release is licensed under the permissive MIT License. The release documentation includes the full license terms.
How do I use MagicTree with a chess GUI?
MagicTree implements the UCI protocol. Add "MagicTree 3.5.exe" as a new engine in any UCI-compatible GUI — Arena, Cute Chess, BanksiaGUI, Shredder, or Fritz/ChessBase — and it will register as "MagicTree 3.5 by Vikrant Malvankar".
How strong is MagicTree?
MagicTree 3.5 has an estimated release rating of 2900 Elo. Ratings vary with hardware, time control, opening suite, concurrency, adjudication, and opponent pool, so this is not a universal or official rating-list result.
Does MagicTree use a neural network (NNUE)?
No. MagicTree uses a tapered handcrafted evaluation (HCE) together with BMI2 PEXT attack lookups. No neural network or NNUE file is included in the release package.
What are the system requirements?
A 64-bit Windows system with an x86-64 CPU supporting AVX2 and BMI2/PEXT (Intel Haswell, AMD Ryzen, or newer). The release build may fail to start on older processors without these features.
What is included in the release?
The 3.5 release contains the C++17 source, reproducible build script, Windows x64 executable, README, and MIT license. No opening book, external tablebase, or NNUE network file is required. MultiPV supports 1–8 analysis lines; the engine remains single-threaded.