MagicTree

MagicTree

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

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

Version 3.3 · 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. Requires a BMI2/PEXT-capable 64-bit 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.3 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.3 is now open-source software under the permissive MIT License.

$ "MagicTree 3.3.exe"
MagicTree 3.3 — UCI chess engine
━━━━━━━━━━━━━━━━━━━━━━━━
uci
→ id name MagicTree 3.3
→ 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 a 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.3This engine2800Private 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.3

Latest Release
  • Released as open-source software under the permissive MIT License.
  • Reworked repetition detection with correct root, game-history, and null-move boundaries.
  • Fifty-move-rule handling now preserves checkmate precedence, with explicit stalemate detection in quiescence search.
  • Corrected check-evasion extensions and singular-search handling for excluded moves.
  • Faster attackers-to-square Static Exchange Evaluation with en-passant and promotion handling.
  • Retuned handcrafted evaluation and pawn-structure parameters across the engine.

Frequently Asked Questions

Is MagicTree free to use?
Yes. MagicTree 3.3 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 3.3 is the first open-source MagicTree release and 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.3.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.3 by Vikrant Malvankar".
How strong is MagicTree?
MagicTree 3.3 is estimated at approximately 2800 Elo in private testing at blitz 2+1. This is an estimate, not an 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 a CPU that supports the x86-64 BMI2/PEXT instruction set (Intel Haswell, AMD Ryzen, or newer). On CPUs without BMI2/PEXT this build may fail to start.
What is included in the release?
The 3.3 release contains the C++ source, a Windows x64 executable, the README, and MIT license terms. No opening book, endgame tablebase, or NNUE network file is required. The current build reports one principal variation and exposes no "Threads" option.