About this project

OptiChess is an experimental chess engine and analysis tool designed for algorithmic research. It is centered around GrogrosZero, a hybrid search system that combines UCT-style node selection with alpha-beta pruning, integrated quiescence search, and Win/Draw/Loss (WDL) statistical evaluation. Key technical features include: - Memory Management: A bounded, zero-allocation search using preallocated pools for Node and Board objects to eliminate heap allocation in the hot path. - Engine Architecture: Includes a Zobrist-keyed transposition table, an evaluator with 31 weighted terms, and an optional experimental neural network evaluation. - Analysis GUI: Built with raylib, providing a visual board with candidate move arrows, evaluation graphs, and game tree variations. - Screen Binding: A Windows-specific capability that allows the engine to read chess positions directly from the screen by analyzing pixel colors, enabling live analysis of browser-based games. - Testing Suite: An interactive suite covering Perft move generation validation, evaluation accuracy against reference positions, and tactical puzzle solving. The project is developed for Windows x64 using C++20 and CMake. It is not a UCI-compliant engine and is intended for research rather than competitive play.