What is my project about?
During my time at The Game Assembly, there was a course in which I could choose anything I found interesting and immerse myself in it. Because I really wanted to learn more about audio programming, I took a rather big task which was to create and implement a echo plug-in using Wwise SDK. My goal with this project was to learn how effect plug-ins are made and how to use DSP (Digital Signal Processing) algorithms to modify the audio.
For testing the audio, I used the Suncup game engine which me and my group (in our second year at The Game Assemly) build. For creating the world in which I tested my audio plug-in, I used Unity.
How did my planning go and how did my goals look like?
From the beginning I wanted to make a plug-in which is able to calculate the strength of the echo based on the size of the room in which the player is in, through using the RTPC (Real-Time Parameter Control) which Wwise makes it easy to use.
Here is goals looked like after I started my project:
- Alpha (estimated work time: one week)
- Have thoroughly researched the creation of the effect plug-in from Wwise dokumentation and possibly from other sources.
- Have a ready-made test world made with Unity which works inside the Suncup engine without any problems.
- Have implemened Wwise "delay" plug-in to measure how much work is required to use/add a existing plug-in into the Suncup engine.
- Beta (estimated work time: three weeks)
- Have a prototype on a plug-in that is able to receive relative data from the game engine (such as room size through the RTPC).
- Have begun to use the DSP algorithm which changes the audio's output based on the data received from the game engine.
- Gold (estimated work time: one week)
- Have polished the DSP algorithm to make the output sound more like an echo.
Because it was about to be my first time creating a audio plug-in, I didn't know how much time it would take to create a somewhat working prototype, which is for that reason I underestimated the time which I required to complete my goals that came after the alpha phase.
Although I did not achieve my planned goals, I still managed to create a working effect plug-in. I found a sample of Wwise "delay" plug-in source code which greatly shortened the development time of my plug-in. It helped me understand what I did wrong and how I could do it better.
What are the results?
The results are satisfying even though they do not match with what I wanted to accomplish when I planned this project. I made a working echo plug-in that creates an effect very similar to Wwise "delay" plug-in, but my plug-in does not calculate the echo strength based on what size is the room in which the player is in.
Below you can find before and after results.