Trailer
Introduction
Spite: Equilibrium was made as the fifth game project at The Game Assembly. It was a 14 week project where we were tasked with creating a top-down action game based on Diablo 3 in a custom-made C++ engine. The project was split into two halves with the first half being the creation of the engine and the second half was the game itself. Building a custom engine from scratch took some planning to try to anticipate what we would need but was a really fun experience! The game itself is set in a world of light and darkness and you are summoned by cultists to take down the corrupt church and restore balance.
Key Contributions
- UI Rendering & Pipeline
- Binary Files
Highlights
UI Rendering & Pipeline
One of my major contributions to the project was the implementation of the UI framework. I designed a structure inspired by the Unity engine where all UI objects live under a canvas due to its familiar structure. Another programmer and I concluded that editing raw JSON files was not a very nice workflow for our artists. We chose to make a custom tool built in the same engine as the game to make the export & import as seamless as possible. We worked on it iteratively along with the UI artist and even added features for technical artists to be able to set custom shaders and shader resources from the tool.
Binary Files
With Autodesk’s FBX SDK not being thread-safe, another programmer and I decided to make a custom file format (.bob) to enable multi-threaded scene loading. The BOB files were created from FBXs using a program we built to unpack FBX files and serialize them into raw binary data. BOB files also sped up loading times due to them being raw binary data. By eliminating the need to unpack the files it saved time reading which was a nice bonus!