Dolby Atmos Drifts into Arcade Racing

September 28, 2020 by Michael O'Kane & David Baxter

Inertial Drift is a dual stick arcade style racer inspired by classic drifting games. The audio goal was to reinforce and enhance the stylised visual aesthetics and gameplay.

We decided early in production to leverage Wwise for audio authoring given the range of dynamic and optimised design tools. In the early stages of development we became aware of the potential of Atmos and the available Microsoft Spatial Sound Platform Plugin. 

Spatial audio immersion has become a widely discussed and expected dimension of interactive experiences due to the prevalence of recent VR applications, yet until relatively recently a difficult process to implement for console and PC beyond standard surround sound configurations.

From a game design perspective, anything that we could do to heighten immersion and provide the player with more direct and useful feedback, the better. We tested the configuration across full 7.1.4 studio monitors, a top firing consumer system, stereo monitors and the headphone renderer. Without changing the mix implementation across any testing scenarios, we found pleasing results with negligible issues. 

From an implementation point of view, the initial setup was as simple as installing the Microsoft Spatial Sound Platform Plugin from the Wwise launcher, and loading the plugin onto the master audio bus. From there we could route the audio from a standard graphics card HDMI out to a suitable decoder, or simply listen via headphones with the headphone renderer plugin installed.

 

 Ambience Design

When you have atmos enabled in Wwise, you gain access to the 3rd axis on the automation panel of the Wwise position tab. This allows you to place certain sounds on the vertical layers, even if your automation path is a single fixed position. This allowed us to create static beds with separate sound sources all around the listener. By setting the positional behaviour to follow the orientation, regardless of positional distance, we could define a zone and fire it off on a single game-object, containing a fully spatialised ambience that reacts to the player's camera orientation. This was an incredibly simple and effective way of enhancing the ambience of the tracks.

 

As the car travels around the track we blend in and out various ambiences. While the car is inside a blend region it’s progress through that region is measured. This measurement is then passed to a single RTPC float that we can access on any audio object in Wwise. By using entry and exit regions to measure the player’s position, we can dynamically cross-fade between each of our fully spatialised yet semi-static ambient beds. 

 

To add more detail to our static beds, we also used single and multi point emitters to add one shots and define specific large areas like water zones. We also included multi point holographic signs to create interactive fly by effects that create a great sense of speed when they are whizzing past on the side channels of the surround system.  

 

For the tunnels, we implemented a simple acoustics solution using the built in Wwise surround reverb that feeds into all front and side channels. Sounds are sent to the reverb effect as an auxiliary bus, allowing us to curate what sounds are impacted by reverb and by how much. We primarily used reverb to enhance the engine sounds when in tunnels, making them sound louder and more powerful. Skid sounds were also integrated into the reverb but with care taken to avoid them overpowering the mix. For some tunnels we also utlise a soft rhythmic procedural noise source sent straight to the top channels. The speed of the vehicle is used to both modulate the speed of the pulse and dynamically filter the sound. We wanted this to subtly enclose the player as they entered the space. 

Wind system

After experimenting with a few different vehicle wind systems, we moved towards a proximity based spatial approach. Each frame the distance from the car to the walls on each side is calculated. This value is then used to control how the procedural wind layers get piped into the side channels. Additionally the distance to overhead obstacles can also be tracked to provide an additional layer of wind through the overhead channels enabled by Atmos. The intensity of the wind is controlled using a combination of these proximity values as well as the car’s speed.  

 

This technique provides the player with a lot of feedback about their driving and the environment around them, rooting the player further into the space. It becomes possible to actually hear the walls around you. Additionally, by applying appropriate smoothing to the proximity values and positioning colliders inset from the road’s edge, whooshing effects are naturally produced when passing these obstacles at high speed. Vertical proximity checks allow the same effect to be created overhead when passing under bridges, arches or signs. A series of spaced colliders can also be arranged to produce a textured buffeting effect that emulates the sound of passing repeated structures like fences.

Vehicle Design

The game is set in a fictional near future where internal combustion engines are no longer in use. This gave us license to ignore a gear system, and lean into more experimental engine sounds. That said, we were still keen on giving the engine notes an aggressive touch, so we approached the design with mechanical and electronic layers to produce a hybrid effect.

We used a mixture of multi sampled static RPM loops from library sources, personal vehicles, synthesis and even guitars. We experimented with analogue synths, granular engines like Mangle, and a number of NI synths including Massive and Razor. After creating a library of various mechanical and electronic types, we were able to assign various characteristics in a procedural manner for each of the 16 vehicles. In addition to the source audio systems, we also setup RTPCs to tweak filter, pitch and real time effects that allowed us to tune every car individually. 

 

We also experimented with vertical separation effects that pulled the electronic motor slightly into top channels based on player speed. Although we felt this was a novel effect, we decided to remove it to give a more grounded feeling.

Road surfaces play an important role in the game. Putting a wheel onto mud, dirt or water can drastically affect the handling of some cars and the behaviour can change based on which wheels are in contact with which surfaces. To provide detailed road feedback to the player, road surface sounds are synthesised per wheel. Each tyre reacts to whatever surface it is in contact with by playing matching rolling and sliding sound effects based on the speed of the car and the amount of slippage at that wheel. In addition by spatialising these sounds around the listener players can determine audibly what is happening with each of their tyres.  

 

We definitely feel working with Atmos enhanced the audio experience of the game, and we were pleasantly surprised at how easy it was to implement. In some respects it is as easy as just switching a plugin on, however we would definitely recommend seeking access to an Atmos equipped mixing room for at least some of your tuning sessions to give you a full perspective on what’s going on. The headphone renderer is great for day to work and definitely enhances the experience, however doesn’t compare to the imaging you get from a full monitoring solution.

---

Michael O’Kane is company director and lead programmer at Level 91 Entertainment. David Baxter is company director and co-founder at Boom Clap Play. Michael and David met while freelancing and continued to work together on various projects since. Inertial Drift is the 6th project on which they have collaborated.


For more information about Inertial Drift visit https://pqube.co.uk/inertial-drift/