OptiChess
A chess engine written in C++, with its own analysis interface and a bot that plays on Lichess.
The first engine, in Python, dates from 2019 and turned out too slow for what it was meant to do. It was rewritten in C++ for speed, and the project has not really stopped since.
The engine and its interface are written from scratch in C++ with raylib: the search, the evaluation, the rendering, down to the pieces, drawn by hand. No piece of Stockfish inside, no file from anywhere else.
The search is hybrid, and that is the interesting choice of the project: a UCT-style tree above an alpha-beta and a quiescence, rather than the more common plain alpha-beta. It is a harder path in chess, where tactical depth forgives little; the search is bounded with no allocation during exploration, so that memory does not become the limiting factor.
The evaluation remains hand-written, material, pawn structure, king safety, activity, and it is rendered as result probabilities, win, draw, loss, rather than a single score. The interface shows these components separately, the only convenient way to see which term is wrong.
The engine runs as a bot on Lichess under the name Grogros_Zero, which forces it to hold up against real opponents, at real time controls and with a real protocol.
This search choice deliberately departs from the classic approach. It draws on AlphaZero but aims at computing the way a human player does rather than the way a network does: explore what looks promising first, and be able to say why. With no ready-made documentation for that approach, the interface unrolls the reasoning move by move: without it, there is no way to see what the search believes.
Four years on, the coexistence of transposition tables and repetition detection remains an open problem. An identical position does not have the same value depending on the path leading to it, and nothing guarantees that the current design allows for that. It is the one place in the project where it is unclear whether the problem is a bug or a decision taken too early.
It is the oldest project on this site still alive. Started in 2022, preceded by a first engine in Python, it predates the AI tools used today: that one is written by hand.
