
Game++. Building & Optimizing a Game Engine
How a modern game engine works under the hood: architecture, subsystems and real-world optimization. Published in Russian by BHV.
Notes on craft, programming and game internals.
A chronicle of the fall of Krivengard castle: a charter unifying every signal rolled out nine days before a siege, Master Godfrid’s forgotten contraption in the cellar, and an eighth tower that was missing from the registry.
↗ CraftCOBOL, SQL, 4GL, CASE, UML and No-Code all promised to rid the industry of programmers, and every time they spawned a new specialty with its own salary band. Why "natural language instead of code" runs into a ceiling: ambiguity, Rice's theorem, the work of Kamp and Heim, and the Jevons paradox.
↗ Abnormal programmingThe second part of a field guide to other people's standard libraries, now on EA's EASTL: why the STL fits console gamedev poorly, stateful object-allocators with flags instead of type binding, fixed and intrusive containers, sorted vectors and reset() for scratch memory — and how many of these ideas eventually made it into the standard.

How a modern game engine works under the hood: architecture, subsystems and real-world optimization. Published in Russian by BHV.

A free book — download it in PDF or EPUB. (In Russian.)
A work-in-progress book on pragmatic C++ that still makes sense a year later.
A work-in-progress book — access on request.
A modern open-source reimplementation of the classic city-builder Pharaoh (1999) by Impressions Games. Full savegame compatibility with the original, cross-platform, and clean, readable code.
About the game →
A collection of dozens of animated loading indicators for Dear ImGui — spinners, progress bars and dots in a single header. Just include imspinner.h and call the spinner you need.
An intermediate course on writing C++ without dynamic heap allocations: which language and STL features are safe under tight resource constraints — in embedded and game development — without giving up modern C++ and OOP.