
Content-Driven Game Engine (C++)
Spring 2025
I developed a content-driven game engine using C++ for my Programming 2 master's class
For my Master's class Programming 2, I worked on a semester-long individual project where I develop a content-driven game engine that deserializes JSON content and turns them into C++ game objects, behaviors, and data. Throughout this project, I have learned and used various C++ and general programming concepts including templates, macros, various design patterns, move semantics, and memory management.
The engine implements various services as interfaces, with a central Service Manager that registers and provides all services. The content service in particular caches and provides class metadata to avoid per-object definition copies, and the factory service uses the factory pattern to produce registered C++ class objects while parsing JSON. The engine also implemented a type-safe container class (Datum) and a hierarchical key/value storage class (Scope) to represent arbitrary object state at runtime. The engine also enables two-way data binding through a base class (Attributed) that binds C++ member fields to named Datum objects.
The GitHub repository is private for Academic Honesty policy reasons, but it is privately available through Gitfront. Reach out to me to gain access!