Monstrosity VX++, a chess engine built in C++

The Project

What it is Monstrosity VX++ is a chess engine I built in C++. It plays a full game of chess on its own, at roughly 2500 strength. Why I made it I had written a basic chess engine in Python before, but it was slow and weak. I wanted to actually understand how strong chess engines think, so I rebuilt the core properly in C++ with a modern design. How it works It represents the board with bitboards, generates moves using magic bitboards, and searches with alpha-beta plus pruning techniques like null-move pruning and late move reductions. A transposition table stops it re-analysing the same position twice. It also runs the search across multiple CPU cores at once. Problems I faced The hardest part was making the search faster without making it play worse. I also had real bugs to hunt down, like the move generator mishandling castling and the search corrupting its principal variation. I checked correctness with perft tests and measured strength by running matches against Stockfish, so I knew each change actually helped instead of guessing. What it is worth / what I learned It taught me how search, pruning, and evaluation combine into playing strength, and how to measure that strength properly instead of assuming it. Future The architecture is built so a neural network evaluation (NNUE) can be added, which is the path to pushing it well past 3000. An opening book and endgame tablebases are the other next steps. Built with AI assistance (Claude) as a coding partner: I made the design decisions and directed the architecture, and used it to help write and debug the code. Code link: https://github.com/RicKanjilal/MonstrosityVX-v2

Advanced

About the team

  • India

Team members

  • Ric