- Part 1. Scaling Ambition
- Part 2. The Crowd Soundbox System
- Part 3. Additional Layers
PLANET COASTER - CROWD AUDIO : PART 3
Additional Layers
The Soundbox is a system that distils an audio-centric view of the gameworld through available data. It virtualizes positioning of emitters based on the data it gathers. The crowd Soundbox is the perfect tool to create an impression of guests around the camera, but in order to deal with rapid camera transitions or extreme close-ups, we needed two additional layers that can be added or dropped when necessary:
Background Layer
The Soundbox is an optimization which uses a ‘distance limited area’ for data gathering. Thus, at the distant end of the visual range, it cannot describe crowds as they are beyond the analyzed range. A very simple, volume driven background loop (which sits quiet in the mix) adds a sense of ‘presence’ to the entire park. We added this layer towards the end of production when we found that the park sounded a little ‘flat’ when observed from a distance. The assumption can be made that the crowd is far away so it is filtered to diffuse sound, and this negates the need for accurate sync. It is pure mood.
Close-up Layer
The close-up system uses a Soundbox that is optimized to look for individual guests and what they are currently doing. This Soundbox finds the immediate cells around the camera and distributes ten emitters around those guests which are closest. The Soundbox then tracks their positions and monitors when guests switch between animations. To keep sound in sync, senior sound designer James Stant has offset each event with an appropriate delay.
Normally we’d put events on frames, but because that can be prohibitively expensive for so many guests, we use this fallback system. It can be susceptible to falling out of sync and it is harder to track if animation changes have been made, but in practice, it adds so much character to the guests that we chose to implement and maintain it.
Close-up Audio. Tracking guests and groups immediately around the camera to provide sounds for emotes and expressions.
CROSS DISCIPLINE COOPERATION
Using Sound Callbacks to Trigger Animations
During mixing we’d often stumble across happy coincidences where seemingly random events play into each other. We had been looking at audio-informed systems for a while. For instance: on explosions it would be more cinematic to trigger stages in particle effects based on the sounds, rather than trying to adapt sounds to the randomized particle timings which is almost always more difficult.
We wondered: what if the guests in Planet Coaster occasionally reacted to audio in the park, rather than the other way around?
We showed production, gameplay and animation an example of random mascot animations occasionally syncing up with reactions from the crowd. It was a convincing case for audio to inform other systems. We did this with musical bands where it was relatively straightforward. Once a band is placed, it will not move so it can mark the simulation grid. When guests reach the cells close to a band, they play a dancing animation.
Having guests respond to the mascots who randomly walk around and make sounds is more difficult. We cannot rely on a static grid, so initially we explored guests reacting to animations, but often those animations would play more frequently than we’d want. In the end, audio was placed behind a probability slider to stop it becoming fatiguing.
Wwise has a solution for this problem in marker callbacks which Frontier traditionally uses for syncing subtitles. Whenever we want the crowd to react to mascot audio, we place a marker in the .wav files. Wwise then informs the game when a marker is hit so our audio code can play specific animations on nearby guests. Guests will look behind them when a mascot behind them makes a loud noise, which is more satisfying than the random animations when observing a crowd.
ACKNOWLEDGING THE ENVIRONMENT
Crowd Filtering
With all this talk about crowds, we have only explored murmurs and emotes. When it comes to footsteps, we felt comfortable enough to leave them out as it would have required a complex and possibly expensive animation-informed trigger solution. A generic ‘foley’ layer is used instead (a sort of shuffling of clothes, bags and bodies).
As a benefit of keeping foley separate, we can rebalance the mix in enclosed spaces. In these spaces we increase the amount of foley while decreasing the volume of the crowd layers which creates a “hollow” feel. We also add early reflection and reverb which is controlled from real-time obstruction/collusion detection.
Crowd and foley layers are sent into an E.R. bus using horizontal enclosure within 50 meters around the camera. For reverb sends, we check if there is also a ‘roof’ above or if the enclosure is beyond 50 meters (with a maximum of 200 meters).
Environmental Filtering. An impressionistic approach to propagation (expressed in early reflection & reverbs) uses “enclosure” around the camera to send audio to busses.
Our reverb/early reflection is an impressionistic implementation of how early reflection and reverb really work and it only supports sources in the same environment as the camera ... but ... it works to reflect a change.
An impressionistic approach kept the project setup, reverb cost and detection work simple. The same E.R. bus is also used throughout the game for distance filtering and we increase it for when objects are behind the camera. When people get round to creating an enclosed space, they will already be familiar with how sounds propagate in the world and the increased indoor filtering highlights change. It ticked one of our boxes in creating a ‘dynamic, adaptive and interactive’ soundscape.
The Wwise RoomVerb was chosen (rather than an impulse response) as it allows for run-time manipulation, but it did take quite a bit of ‘fiddling about’ to get the right sound from it.
In short: acknowledging change rather than trying to accurately simulate an environment is a cost-effective way of involving the creations of players.
PARTING THOUGHTS
The Road Ahead
Wwise has liberated sound designers with a set of tools putting real-time manipulation in the hands of audio teams. In 2017, it’s rare to play Wwise driven games with sub-par implementation regarding user interactivity.
In their complexity, modern (open-world) games present an ever greater number of objects and sounds competing for a place in the mix. In a sense, Wwise has unshackled game-audio from technical and creative limitations. It’s been so successful that the sheer amount of audio that designers can implement, threatens to drown the mix. This has put an even greater importance on addressing audio priority and to create systems, rather than implementing sounds directly onto objects.
In this transition, the audio programmer is a sound-designer’s most important creative ally. Together, they can design the systems which are needed to create a dynamic and pleasing interactive mix. Wwise has allowed our designers and programmers to move away from the ‘trigger sound’ relationship, creating space in the production schedule to work on systems like the soundbox. Wwise offers a solid basis for implementation and quality so that the audio department can address systems-design or further integration with other departments.
With Elite Dangerous and Planet Coaster, we have started on a journey to create audio systems that we will expand and refine as we move onto Frontier’s new projects. Our audio code is increasingly more agnostic to game-, animation-, or particle-code, and less reliant on world-objects. It can be ported, refined and expanded when going forward.
Thank you for reading, and please feel free to contact us if you have any questions or comments!
Additional Resources
Community Stream:
For a more detailed look at crowd audio and the Wwise project, project audio lead Matthew Florianz and audio programmer Jon Ashby talk to community manager Bo in a 2 hour community live stream.
Developer Diary:
Watson Wu’s Coaster recording Diaries:
PLANET COASTER IS NOW AVAILABLE ON STEAM
Planet Coaster Team
Head of Audio: Jim Croft – jcroft@frontier.co.uk
Project Audio Lead: Matthew Florianz – mflorianz@frontier.co.uk
Lead Audio Programmer: Will Augar – waugar@frontier.co.uk
Lead Audio Designer: Michael Maidment
Senior Audio Designer: James Stant
Technical Audio Designer: Stephen Hollis
Senior Audio Programmer: Ian Hawkins
Audio Programmers: Dan Murray, Jon Ashby
Additional Sound Designers: Duncan MacKinnon, Jamie Lewis, Paola Velasquez, Ross Stack
Music Supervisor: Janesta Boudreau
Original Game Soundtrack: Jim Guthrie, JJ Ipsen
Park Music: Erasmus Talbot, James Stant, Jeremiah Pena, Jim Croft, Joris de Man, Josh Croft, Martin Landström, Michael Maidment, Rasmus Faber, Russ Shaw
Additional Music: Duncan MacKinnon, Jamie Lewis, Matthew Florianz, Ross Stack, Stephen Hollis
Additional Musicians: Steve Calder, Jeff Taylor, Robbie Duguay, James Ervin, Krashka Burns, Linda Sundblad, The Bombshell Belles
Roller Coaster Sound Recordist: Watson Wu
Additional voice recording: Glen Gathard and his team at Pinewood Studios
Press enquiries: Frontier PR and Communications Manager, Michael Gapper – mgapper@frontier.co.uk
Commentaires