Unity is drastically changing it’s audio tools in the 5th release.
New compression format, lower memory foot print;
resource handling improvements;
audio metadata access;
performance profiling Audio mixer “first offering” (more big features to go?)(interactive audio tools next)
mixing & mastering.
DSP effects anywhere in the chain
ADSR etc in editor
runtime editing (mix while the game is playing)
modeled on existing DAWs (eg. Ableton, Logic etc)
ability to create & chain together multiple mixers
routing of sound groups as hierarchies (groups mixed down together)
3D positioning, doppler etc (spacial sound concepts) applied to source before the mixer.
effects are stacked sequentially (like in a daw)
native plugin effects – custom DSP, custom UI
Snapshots – save states of your edits (awesome!)
transition between states at runtime (even awesomer!)
expose individual effect parameters – can be script drivensends / returns
ducking (side chain compression) – any audio group
A very exciting update for audio in Unity. A very slack presentation, however as an overview, makes me wonder whether I should just hold out till 5.0 or if we will end up using both Unity native and Fmod sound at the same time.
Finally I got to do some experimentation and play.
Here I have 6 loops, of varying density and intensity low to high, for a simple tribal drum beat. The idea is at first to make a test of these 6 separate stages blending with one another based on some parameter in Unity.
FMOD is a big industry standard middleware for video game audio engineering, and is also already driving Unity’s native sound engine, though it obfuscates all access to FMOD.
Luckily however, FMOD.org just released FMOD Studio Pro, license free for indie developers, and offer an integration package for Unity that provides a wrapper to interface Unity with FMOD directly. It gives full access to effects, filters and custom event structures in a project.
These loops so far, have been composed in Ableton Live, using a Kontak 5 “West Africa” instrument set from Native Instruments. I used the inbuilt pattern maker to create the rhythms.
I found this process a massive exercise in play itself. The pattern set to loop, would constantly play back, as I was editing instrument states (rombus, square, x). Often I would get carried away by the organic nature of what I was doing, completely destroying the loop. I would make it incompatible with previous intensity settings and run way off the rhythm, often having to start again using the previous stage as a starting point. It was productive kind of fun.
Main feature of the game is the customizable “rausers”, which have 125 combinations according to the developer.
Customization includes a choice of a weapon, body, and engine.
All customization choices are based on advantages and drawbacks, for example you would sacrifice rate of fire for massive damage, slower speed for stronger hull, and maybe handling for super speed.
The range of options is great, and it offers a great variety of gameplay. You might focus on evasion, or spread your damage, or line up your shots.
Something I noticed however, that is quite intuitive and unnoticeable, but has a huge impact on the way the game feels and the state of flow, is the music, which also changes based on your customization options.
Different weapons change the rhythms
Different Bodies change the melody track
Different Engines change the bass track
Which is quite fitting-
Weapons – rapid fire, rhythms
Body – stronghold, embodiment, self, identity
Engine – hum, drone, intensity
To further investigate, I peeked into the game data folder in Program Files (x86)/Steam/SteamApps/common/Luftrausers/data/bgm, and surely enough, there are separate .ogg files for different tracks, that get assembled by the game when you make your custom rauser selection.
The way customizable music affects the game experience is uncanny. It is both intuitive and up front, yet almost unnoticeable and taken for granted, one may even think it’s just background music without giving it a second thought, where in fact, the player is even given a custom background music based on their choice of play style.