top of page

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!

Project Gallery

bottom of page