Craft · Games

Mixing a Game in Wwise While You Play It

DUSKOsound · Notes on the craft

A game mix is not a mix you can finish in the editor. The player moves, the enemies arrive when they arrive, and the same sound fires forty times an hour. So the useful work happens with the game running, a loudness meter open, and a pen in your hand.

Wwise and Ableton driving music in a Unity project.

Group first, so you have something to grab

Before touching a single volume, every enemy Random Container went inside an Actor-Mixer called Enemies. An Actor-Mixer costs almost no CPU and it gives you one fader for a whole category, which is the thing you actually want while the game is moving.

Then I played the game in Unity with the Actor-Mixer property editor open, watching the loudness meter and writing notes on paper. Pulling the whole enemy group down first created enough headroom to hear which individual containers were the real offenders. Trying to find that one sound before grouping is guesswork.

Duck the music, but barely

Player dialogue, the player’s wand cast and the ticking clock were bussed to SFX so they could duck the music. The important number is how much: no more than 2 dB, with a fade of 0.34 seconds, which is what actually felt right, settled at 0.3 in practice because that is where Wwise landed, on a quick curve.

Two decibels is not much, and that is the point. The score is a feature of this game, not a bed underneath it. Ducking hard is the reflex you bring from post, and it is the wrong reflex here. You want the player to notice the spell, not to notice the music flinching.

The silence trick for a sound you hear too often

The enemy damage dialogue got fatiguing fast. The fix was not to turn it down or to record more variations.

I took a silence unit out of the ambient one-shot container, dropped a copy into each of the enemy damage Random Containers, and then raised the weight of the silence in the contents editor. Now the container sometimes plays nothing. The sound keeps its impact because it stops arriving on every single hit, and it cost no new assets and no new recording.

Decide where the listener is standing

This is an isometric game, so my working image was that you are looking down on tiny people while a normally sized band plays in the room around you. That single idea decides most of the routing: SFX sit narrow and central, music sits wide.

A few things deliberately break it. Player dialogue goes straight to the master bus, not through SFX, because you are supposed to be inhabiting that character rather than watching them. The ticking clock got the same treatment through its attenuation. Sound that belongs to the player should be mixed from the player’s position, not from the camera’s.

Reverb was tested and mostly rejected, because it kept filling in the gap between the centred effects and the wide score, and that gap is what makes the genre sound like itself. Late on, one shared room reverb across player and enemy damage dialogue was the exception that did make it sound more finished.

References first, not last

I mixed the first pass on instinct, on the grounds that a decade of stereo mixing should be worth something, and then went to references afterwards. Wrong order.

Listening to Diablo 2, Baldur’s Gate 3, Hyper Light Drifter, Death’s Door and Children of Morta immediately showed me what I was missing, particularly the presence those games keep in the high mids on enemy sounds. Then I connected Unity to Wwise and heard the two together, and it put my mix to shame. Start with the references. Mix into a target instead of discovering it afterwards.

The numbers, for what they are worth: the first pass sat near -24.7 LUFS, the finished one averaged about -23 LUFS, and the last move of the whole project was a single macro adjustment, 1 dB off the music and 1 dB onto everything else.

Small things worth knowing

Related

The same job in FMOD and Unity, on a sci-fi horror build: FMOD in Unity. On scores that move with play: how adaptive game music works. On building the palette that gets implemented: sound design.

Book A Call

* Contact me for a meeting outside these hours