Skip to content
Juozas Žilys
← All projects

Game Development Toolkit (C++23)

Modular CMake workspace of game micro-libraries — Result<T> error handling without exceptions, property-based tests, performance benchmarks, and one-command library scaffolding.

Role
Solo
Period
2025 – present

C++23 · CMake · CTest

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_coreResult<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.cmake generates 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.