The practical companion to my game development bible: instead of 33 chapters of theory, a working C++23 workspace that implements it. It’s built to feel like a .NET solution in CLion/Rider — drop a lib_* folder in and the root CMake auto-discovers and wires it up.
Current libraries:
- lib_core —
Result<T>functional error handling (no exceptions), safety types, game primitives. - lib_inventory — item/equipment system, with a structured C API binding layer.
- lib_combat_system — damage calculation, status effects, combat events.
- lib_save_system — binary/JSON serialization with version compatibility (in progress).
Interesting bits
- Property-based testing alongside unit tests — invariants verified over generated inputs, not just hand-picked cases — plus performance benchmarks wired into CTest presets.
- One-command scaffolding:
cmake -DNEW_LIBRARY_NAME=foo -P cmake/AddNewLibrary.cmakegenerates headers, sources, tests, and optional C bindings for a new library. - Cross-platform presets for MSVC, MinGW/MSYS2, and Ninja; the C++ standard is a single configure flag (
20|23|26). Zero-warning builds are the baseline, not the goal.