From DAW to Dusk: Why I Personally Used FMOD for My Game Audio
Written by Victor Ahlin, creator of "Just Keep Running"
Before We Begin...
First thing first, not sponsored. Despite the name drop in the title of this article, they don't know I'm writing this or likely even have no idea who I am.
Second, this is gonna go WAAAY deep into "nerdily overexplaining everything" territory, so I'll try to add a TLDR to every reason, which is a shortened summary of my reasoning.
There are three main reasons why I decided to go for FMOD when developing "Just Keep Running". I'll be going through each point in as much detail as you might find useful. I recognize that there are MULTIPLE great alternative audio solutions for games, but these are just a few of my personal thoughts and considerations that made me go with them first.
Reason 1: The Digital Audio Workstation and Implementation
TLDR; Unity's built-in audio engine feels more static compared to FMOD's dynamic workflow and adaptive game audio. FMOD's DAW-like work environment and integration with Unity not only is very programmer-friendly but even friendly to sound designers and music composers. Besides, Unity's audio engine is based on FMOD 4, so why not use a more modern and actively developed solution?
"But Victor, Unity already has a built-in audio solution. Why would you want to use a middleware solution instead?" some of you may be asking.
And that's a good question. I'll be honest, I haven't worked with the built-in audio system a lot, so please correct me if I say something stupid (which I tend to do a lot XD).
But here is a numbered list of reasons why I prefer FMOD's implementation over Unity.
Unity's implementation feels very linear and dated.
Audio Clips are the primary method of playing audio in Unity, which is essentially an audio file, or tracker module, which are sequentially arranged audio samples, which is kinda similar to MIDI. It's useful if you're looking to play things like music while requiring less CPU power, but with the disadvantage that there is no defined standard of how to properly play back the audio.
And while this is useful and simple if you're making a smaller project, it doesn't feel like a good choice if you're looking at having dynamic and adaptive game audio.FMOD's implementation and workstation allow me to easily implement adaptive/dynamic audio into my game.
Middleware such as FMOD or Wwise uses a Digital Audio Workstation (DAW) interface for editing and implementing audio into a game.
FMOD Studio is really easy for me to work in due to my experience with music production. I tend to use Ableton Live 11 when I produce music, for example. And FMOD's workstation is pretty similar, with the added benefits of taking in parameters to modify any audio event being played in real-time, being able to handle both 2D and 3D audio, and having a mixer where each audio event can be routed to different groups in the mixer, and all audio can be mixed in real-time as well (I recognize that Unity's implementation also has an audio mixer, but I'm just making a point that FMOD is made for dynamic audio in more ways than one).
And all of it is relatively simple to integrate and control through Unity and C# code because of FMODs Runtime API.Besides, Unity's Internal Audio Engine is based on FMOD 4 and its low-end API, according to Mathew Block, FMODs Technical Director.
It's assumed that Unity hasn't updated the core of the engine, but they are probably maintaining the codebase, as they have access to the source of FMOD 4 and they have ported it to several platforms.
So my thinking then is "Why not go for the more modern option?"
Besides, the Unity integration of FMOD is great, and the built-in scripts that come with the Unity integration work well out of the box and are pretty neat to customize. In fact, I customized the Studio Event Emitter to allow for both easier switching of events to the same emitter, and to implement audio occlusion (which definitely deserves an article of its own :D).
Reason 2: Supportive of Indie Devs
TLDR; Both Wwise and FMOD offer indie licenses for use of their audio solutions in games, with Wwise providing it entirely for free. But, FMOD not only offers a higher budget ceiling ($500k compared to Wwise's $250k) and smaller one-time fee than Wwises next license option ($2k for FMOD Indie license, $7k for Wwise Pro license) but even provides the license for free to developers making less than $200k in income per year, essentially providing a safety net to ensure that you can pay off the fee once you start earning some really meaningful sums of cash.
The two most used and competitive commercial game audio solutions out there are Wwise and FMOD. Unless I've forgotten some large thing that maybe everyone uses that I have somehow not heard of or forgotten about somehow, which if that is the case, let me know about it in the comments! :D
Both are similar in different ways, with Wwise perhaps being seen as the more professional option for golden standard game audio, especially in AAA games.
Both solutions have licenses to use the engine in commercial projects. And while JKR is not currently meant to be a commercially viable game, it might be in the future if we decide to develop JKR into a complete game.
Both solutions determine what license you need to get depending on your expected development budget. And both of them have an "Indie" license.
FMOD's Indie license is available for those with a Development Budget below $500k, with the fee being a one-time payment of $2k.
Wwise's Indie license is available for those with a Development Budget below $250k for free.
Now, I'm not expecting to spend anything close to $250k in the future, let alone $500k. So the obvious choice seems to be to go with Wwise.
But, and there is a big BUT here, FMOD has a really neat offer for Indie devs.
If you're a developer with less than $200k revenue per year and developing games on a small budget ($500k), the Indie license is completely free. No ifs, no buts, you have full free access to FMOD Studio and all its features for life, with the exception being access to E-Mail support, which is fine for me.
Here's my thinking: I don't really know where the game will go from here. But, in case I decide to make the game into a commercially viable product, I am covered until I make that amount of yearly revenue. And by the time I get there, I am certain that I will be able to pay off that one-time fee, no problem.
With Wwise, not only is the budget ceiling lower, but there is no guarantee that I won't have to spend that much money on the project, meaning that I will probably have to spend fork over $7k once I reach that budget ceiling, which is not only a lot more compared to FMOD, but I'd have to fork that over no matter my yearly income.
What FMOD has done is provided not only a doubled budget ceiling for indie devs but even a safety net so that once you DO get that much income for a year, you will certainly be able to pay off the fee, which feels like a safer bet to take for a project that I don't know where it will take me.
Besides, Wwise didn't really work the first time I tried to test it out, sooo... 🤷♂️
Reason 3: Google Resonance Audio Integration
TLDR; Google Resonance Audio is an open-source SDK that allows developers to easily integrate fantastic sound spatialization into their games, and more. And it integrates well with FMOD, making it a powerful tool in their arsenal against something proprietary like Wwise's own spatialization plug-ins.
In 2017, Google released Resonance Audio, an open-source SDK for implementing spatial audio into desktop and mobile experiences. Designed initially for use in VR/AR experiences, this impressive piece of technology allows developers to implement spatial audio into games to more realistically simulate how sound waves interact with our human ears and how sound typically bounces around an environment.
It's an impressive piece of tech that can be implemented relatively easily into game engines like Unity and Unreal Engine and even comes integrated as plug-ins with FMOD and Wwise. It's optimized for better performance and supports multiple platforms.
Now, while FMOD and Wwise already have Sound Spatialization, and Wwise is known to be really impressive when it comes to spatial audio, there are a lot of positives with Google's own solution that, when combined with FMOD, is personally a strong contender against Wwise when it comes to providing an elegant and efficient audio solution.
In every level of JKR, if you listen closely, you will hear that sound reverberates differently depending on the room you're in. This is Resonance Audio working its magic. Depending on the material of each surface of each room, the sound travels differently, and it even takes into account your current position in the room.
But that's not the only neat thing it is performing. Using FMOD's implementation of Resonance Audio along with some scripting and an amazing tutorial by Scott Game Sounds, I've implemented a neat but relatively simple sound occlusion solution to the game. I'll probably write a different article talking about how the sound occlusion system works, but to keep it brief, the more obstructed a sound is between the source of it and the player's ears, the more it'll sound like it's coming from another room.
There is a lot more I could talk about regarding Resonance Audio, but the reasons why I use it are simple. It provides powerful audio tools and effects that can sound excellent if utilized correctly. And it's open source, which is a huge act of pleasantness on Google's part.
There are other alternatives to Google Resonance Audio if you want to use something else that also integrates well with FMOD and Unity, including Oculus Spatializer and Steam Audio.
In Conclusion
In my situation and use case for this game, FMOD felt like a perfect fit from a technological, sound design, and economical stance. It's friendly for not only programmers to use, but even sound designers and composers. It allows for making great sounding adaptive game audio, economically provides a safety net for small indies on a budget, and provides plug-ins that strengthen the already powerful features that FMOD provides.
It might not be the right fit for everyone, but for me and this project in particular, it felt like the right call.
Attributions, Sources and Further Material
While this article was more of an opinion piece explaining why I chose FMOD, I will link to some sources I used when citing factual information, plus some further material for those interested in FMOD and Adaptive Game Audio in general...
For licenses, I referenced the information from FMOD's Licensing page and Audiokinetic's Commercial Pricing for Wwise for Games
For Unity's built-in audio system being based on FMOD 4 (FMOD Ex, Version 4 of FMOD Core), I referenced two topics from the FMOD Forum where the Technical Director for FMOD, Mathew Block, confirmed the previously stated claim and explained in more detail.
If you want to dive more into Adaptive Game Audio, how it works and how it can be cleverly utilized, here are some really neat videos talking about Adaptive Game Audio...
What is Adaptive Audio?: An excellently made video talking about Adaptive Audio in video games with excellent examples of how it can be used to create more immersive-sounding games that adapt to the player's actions. Proudly sponsored by FMOD (lol)
Adaptive Soundtracks in Games: Game Maker's Toolkit use real game examples of dynamic soundtracks, and how they cleverly adapt to what's happening on screen, ultimately adding more character to the game. (This is done to some extent in JKR as well, perhaps another article-worthy topic ;D)
0 comments