MagicTree 3.5 - README and Open-Source License =============================================== Engine name: MagicTree 3.5 Executable: MagicTree 3.5.exe Author: Vikrant Malvankar Country: India Protocol: UCI - Universal Chess Interface Release label: 2900 Elo Release type: Open-source source-code and binary release under the MIT License Document date: 20 September 2026 1. Overview ----------- MagicTree 3.5 is a 64-bit Windows UCI chess engine. Load the executable into a UCI-compatible chess GUI such as Arena, Cute Chess, BanksiaGUI, Shredder, Fritz/ChessBase, or another interface that supports UCI engines. MagicTree 3.5 is released as open-source software under the MIT License. The source code may be used, copied, modified, merged, published, distributed, sublicensed, and/or sold subject to the MIT License printed in this README and supplied in the accompanying LICENSE file. MagicTree is an engine only. It does not include a graphical chess board, opening-book manager, tournament manager, or analysis GUI. This release uses a classical handcrafted evaluation. It does not use NNUE and does not require an external network file. The release executable uses a PEXT/BMI2 sliding-attack backend, AVX2 code generation, and link-time optimization. It targets 64-bit x86 processors supporting AVX2 and BMI2 and may fail to start on older processors without these features. The 2900 Elo label identifies this release line. Ratings vary materially with hardware, time control, opening suite, concurrency, adjudication, and opponent pool, so it should not be read as a universal rating on every list. 2. Package layout ----------------- MagicTree 3.5.exe Optimized static Windows x64 UCI executable. Src\ Comment-free C++17 source code and the reproducible PEXT/LTO build script. Src\build-pext.ps1 Builds the release with the exact compiler options used for the supplied executable and verifies its SHA-256 identity before replacing the output. MagicTree_3.5_readme_OPEN_SOURCE_MIT.txt This release document and a copy of the MIT License. LICENSE_MagicTree_3.5_MIT.txt Standalone MIT License. 3. Quick start -------------- A. Using a chess GUI 1. Open the GUI's engine installation dialog. 2. Select "MagicTree 3.5.exe". 3. Choose UCI as the engine protocol if the GUI asks. 4. Confirm that the engine reports: id name MagicTree 3.5 id author Vikrant Malvankar id country India 5. Keep the default options for normal play unless a different setting is specifically required for analysis or testing. B. Command-line smoke test Start "MagicTree 3.5.exe" and send: uci isready ucinewgame position startpos go depth 10 quit Expected responses include "uciok", "readyok", iterative UCI information, and a final "bestmove ..." line. 4. Source and reproducible build -------------------------------- The release was built with MSYS2 MinGW-w64 GCC 15.2.0. Run the supplied script from PowerShell: .\Src\build-pext.ps1 The build uses: -DNDEBUG -m64 -std=c++17 -O3 -flto -march=haswell -mavx2 -mbmi2 -static -static-libgcc -static-libstdc++ -Wl,-Bstatic -lwinpthread The script stages the source files temporarily at the release root to preserve the original build paths, fixes the PE build epoch, compiles the executable, checks its identity, installs "MagicTree 3.5.exe", and removes the temporary staging files. Expected executable SHA-256: 38C3E05ED0E07C6DCBF2FAD2985DDAA8A65E10B941A2111C1A2B1615C4B44CAB The supplied binary and a fresh build from the supplied comment-free sources are byte-for-byte identical when the documented GCC 15.2.0 toolchain is used. The file perft.cpp can also provide a standalone perft/regression executable when PERFT_BUILD is defined and uci.cpp is omitted. For the normal UCI engine, include perft.cpp without defining PERFT_BUILD. 5. UCI options -------------- Hash Default 64 MB; range 1 to 4096 MB. Controls transposition-table memory. MultiPV Default 1; range 1 to 8. Reports the requested number of principal variations for analysis. A value of 1 retains the normal single-PV path. Contempt Default 0; range -100 to 100 centipawns. Changes the root-relative value of draws, including repetitions and stalemates. Zero keeps objective scoring. Move Overhead Default 30 ms; range 0 to 5000 ms. Clock and communication safety margin. Minimum Thinking Time Default 20 ms; range 0 to 5000 ms. Minimum managed search allocation. Slow Mover Default 100; range 10 to 500. Time-management multiplier. Advanced search and tuning options: SeeCaptureMargin default 32 range 0 to 200 SeeCaptureDepth default 6 range 0 to 12 SeeQuietMargin default 40 range 0 to 400 SeeQuietDepth default 10 range 0 to 12 SeeEndgameGuard default 0 range 0 to 32 SeeCaptHistDiv default 512 range 0 to 4096 SeeQuietHistDiv default 512 range 0 to 4096 CorrPawnWeight default 2 range 0 to 8 CorrNonPawnWeight default 1 range 0 to 8 CorrContWeight default 1 range 0 to 8 CorrWeightScale default 2 range 1 to 8 These advanced options expose SEE-pruning and correction-history parameters for controlled testing. The defaults are the release settings. 6. Supported commands --------------------- MagicTree 3.5 supports the main UCI workflow: uci isready ucinewgame setoption name