About
About the author and the VeryChess project.
About Me
My name is Oleh Sych. I'm a software engineer with a long-standing interest in chess and a growing fascination with how chess engines work at a technical level.
VeryChess is a personal project where I combine programming and chess into a single pursuit: building an engine from scratch, testing it systematically, performing comparision of chess engines publicly.
Programming Background
I have been working in software development professionally over 25 years, with experience across different areas of engineering. Building a chess engine has turned out to be one of the most interesting technical challenges I have taken on — it combines algorithm design, performance optimisation, and careful testing in a way that most projects don't.
Chess engine development requires thinking carefully about search algorithms, evaluation accuracy, move ordering, and time management. Each of these is a solvable engineering problem, and I find that appealing.
Chess Background
I am an adult chess improver. I came to chess seriously as an adult and have been working on my game steadily since then. I play online regularly and try to study positions and endgames when time allows.
What drew me to engine development is partly the question of measurement — an engine gives you a way to observe chess strength objectively through testing rather than subjectively through intuition. That appeals to the engineer in me as much as the chess player.
Why VeryChess?
I started VeryChess because I wanted to understand how chess engines actually work — not just at a high level, but in detail: how moves are generated, how the search tree is pruned, how evaluation translates positions into numbers, and how time is managed under tournament conditions.
Building from scratch forces you to understand every part of the system. The project is documented publicly because I believe honest reporting of results — including losses — is more interesting and more useful than polished marketing.
The name is deliberately modest. VeryChess is just a chess engine project. Whether it eventually becomes "very" good is something the tournaments will decide.
VeryChess Engine — General Description
VeryChess is a UCI chess engine written in C++20, targeting native compiled binaries for macOS (ARM64 primary), Linux, and Windows. It's a classical alpha-beta engine with hand-crafted evaluation — no neural networks, no third-party dependencies, standard library only.
The core is iterative deepening + negamax alpha-beta with this full set of techniques:
- PVS (Principal Variation Search): full window on first move, null-window scout on the rest;
- Transposition table: probe for cutoffs (non-PV), best-move ordering; depth+age replacement;
- Null-move pruning: R=2–3, disabled in PV / in check / zugzwang-risk (no non-pawn material);
- Late move reductions: reduces late quiet moves, re-searches if they beat alpha;
- Quiescence search: captures-only with stand-pat, avoids the horizon effect;
- Check extensions: +1 ply when a move gives check;
- Mate-distance pruning: tightens the alpha/beta window;
- Move ordering: TT move → MVV-LVA captures → 2 killer moves → history heuristic;
- Draw detection in search: 50-move rule + repetition via the hash history.