4 week development cycle
1 week proprodiction
3 weeks development
6 person team
Created in custom game engine
Engine development was solo and took place over the course of 3 months
Game and engine written in C++
Source code available upon request
For this project, I was assigned to a group of 6 students that had also created similar engines as a part of our program. We decided to use my engine for developing a remake of Super Auto Pets. The scope of the remake was to include all content within the game's Turtle Pack. Since my engine was the one we used, my responsibilities were largely tied to engine support for the content development. Towards the end of development, I assisted in debugging and adding new content to the game, though these were relatively small contributions in comparison to my role as the "engine guy."
The game engine was developed using test-driven development. Every API endpoint was tested for functionality and code coverage as it was created.
By using a custom JSON grammar, content designers can easily create a variety of game objects and entities that have unique behaviors without creating any new classes or writing new code.
Game objects are dynamically created at runtime, and how they are handled by the various systems from JSON parsing to event callbacks takes advantage of the custom RTTI implementation and polymorphism.
Super Auto Pets was chosen for its strong content-driven nature, as it would be a natural fit for the game engine.
My role on the team was to provide engine support, extending the features of the engine as necessary to make SAP.
The majority of the development was spent on making an event service, where different objects could register themselves as "listeners" for several different defined in-game events.
I extended the "Action" feature of my base engine to support more interesting behaviors to be defined in the JSON content (actions are like the engine's scripting language, similar to Unreal's Blueprint, though much more simple)