Spite: Order of Chaos
"Bludgeon your way through hordes of enemies to save the high priest before your order falls to evil."
This was the first game that I developed in my second year at The Game Assembly. Earlier we used
engines such as Unity and Tga2D but for this project we made our own engine, Metronome. We
took inspiration from Diablo and the genre was Hack-and-Slash action game.
Level loading/exporting from Unreal
Animations with custom format
Production time: 14 weeks 50%
I implemented deferred rendering in Metronome to open up for the possibility of using many lights at the same while preserving the performance.
With deferred rendering in place, the next task was adding shadows to our objects. Therefore, I took responsibility for this assignment.
In order for the player to know how much health each enemy had left, we needed to include some feedback for this. In our case we decided to display the amount of health above each damaged enemy and for this to be possible I implemented billboard sprites.
Furthermore, I added particles for a variety of effects such as the torches on the walls.
At first we decided to use Unity as our level editor as this seemed to be the easiest option when making an export tool. However, our level designers had more experience using Unreal Engine, and since they were the ones who would be using it, we decided to work with Unreal instead. My team member Melvin created an exporter from Unreal and tried making the file as similar to the Unity export file as possible. This created an opportunity for me to work simultaneously on importing the file data into our engine.
One of the bigger challenges in the early development stages were that our animations were really expensive and it took a lot of performance to calculate them each frame. When we identified this problem we decided to change library for importing 3d objects. This solved the issue and the animations were now optimised. However, this led to a different problem since it now took a lot of time to serialise only one mesh. To fix this I created a program that takes a .fbx file as input and outputs a binary file with all the data we needed already calculated. This massively improved the loading times and we now had optimised animations that were fast loading.
To Do: Entertainment
Viktor Lundbland Åfors
Simon Sääf Malm