Spite : Catharsis
The fifth and sixth game project at The Game Assembly where I was part of developing our own engine Feather Engine.
​​​
Contribution: Engine development, FMOD, Debug Rendering, Music and SFX
Time: 14 weeks at 50%
Team size: 18 members (6 programmers)​
​
Feather Engine
During project 5 our main task as programmers was to setup a custom engine before developing a game in project 6.
I was fortunate enough to be amongst programmers who wanted the engine to be a mix of the members individual implementations of functionality (rather than working with a ready-to-use engine by a single member).
​​
Playing Sounds
I took on the task of implementing an Audio Engine for handling audio assets and playing back sounds through the FMOD Core library.
I created my own structures for handling fades, cool down times and utilizing 3D positioning of sounds.

Structure for storing sounds

Using FMOD core for 3D placement of sounds

Handling fades for music
Shaders
Compiling shaders during runtime was an early request from our technical artists and I created the implementation for this by utilizing the built in function in DirectX11 for compiling shaders.
This also included handling the shaders as assets and applying them to render passes when needed.
​
​​

VFX for player actions
What I learned
I learned a lot about managing a code base from just merging code written by six different programmers.
The general structuring and planning of our engine made me think a lot about design patters, performance and how to make systems easy to work with.
This was also a time where I recognized the importance of testing my code before making it available for the team.
Debug Rendering
During this project began our journey of using navigation meshes. Mid way through we recognized the benefit of having support for rendering of debug lines in the engine. With this we would be able to visualize bounding boxes, triggers and (most importantly) navigation meshes.
Implementation
The implementation I came up with featured a new debug pass that could be easily switched off for retail builds. The basic idea was to enable our various components of commiting debug information through the rendering pipeline without the need for the classes themselves growing in size much.

Music and SFX
I decided I wanted to create the musical theme and the sound effects for the game. Since my role in the team was mainly as a programmer, I made this during late nights and weekends towards the end of the project.
​

Sample of the music I created for the boss fight
Thoughts
My aim was to reinforce the narrative of the game by taking some inspiration sound wise from traditional asian and middle eastern music while still packaging the tracks into a format that fits the genre.
I would have loved to spend more time on creating the sound effects for the game by recording custom foley in my studio, and by sampling real ambiences to give the overall sound design a unique identity.