II (2008) Xbox 360
Kristofor Mellroth, audio director, Microsoft Game Studios
"Kristofor Mellroth and Guy Whitmore flew out to Lionhead studios on Fable II to mix the game along with the dialogue supervisor Georg Backer and the composer/audio director Russ Shaw, who were already on site in the UK. Using a very effective three-plus person team, they got a game that is very cleanly mixed.
We tend to mix games over two-plus days. Set aside a minimum of two days, because you need time to digest the changes from the previous day. Ear fatigue and exhaustion do factor in when you spend long hours mixing. Ideally you'd have a week.
The process is sort of painstaking and we try to play through the "golden path" during the final mix, but even then it's usually too long to accomplish in our travel time-frame. Instead, we know the key moments to test-mix. We also test the entire range of game mechanics against each other. With Fable, we knew what the key moments were. We made sure to use debug to skip to them and play through as real players would.
One of the keys of game mixing, especially in the system for Fable II, is that radius is as, or more important than, volume modifiers. Since we plan and chart radius mathematically we know how to change the values on one element of one game object and how that should stay in relation to other sounds. This is a roundabout way of saying: If radius sword hit = 60 meters while radius sword scrape = 30 meters, and we want the sword to have a bigger radius by five meters, it's really easy to change all sword elements in one pass without noodling too much. The math solves it for you. This is very important when mixing for two player co-op.
Dynamic range is something else we push hard for. We figure out what our loudest sound is and what our baseline quiet sound is. Then we start to stack-rank sounds between. For instance, I know in gameplay that X should be louder than Y unless factor Z is in play. This gets really complicated but it is a good reality check when you're getting lost in the piles of assets. For Fable II it was Troll slam attack vs. player footsteps. That is our maximum dynamic range. That means when a troll is slamming his fists, even your legendary gunshot should be quieter.
This edge-case is also a good check if you're wondering what your mix should sound like when you're at another edge case, say two players on the same screen with one at max distance shooting at the troll in the foreground.
Should you be able to hear that max distance player reload? If you do, does it take you out of the emotional experience of fighting a giant monster? We wrestle with these questions and sometimes make compromises but in general I'm happy with the results. It worked well on Crackdown and it's worked pretty well on Fable II.
It'd be a lot easier if we could draw our own falloff curves! If I had that I could have "cheated" the radius in just the perfect amount instead of relying on linear or equal energy falloffs. This is something we need to add to the Lionhead tools for future titles and I'd consider it a mandatory feature for all tool sets."
Kenneth Young, audio director, Media Molecule
"LBP uses FMOD, so we had to roll much of our own mixer functionality. It uses FMOD's channel groups to specify what is being mixed. It doesn't have a control UI (other than notepad), but we do have real-time update of mix settings (though stuff needs to be re-triggered to get the new values, so I'd usually restart a level to get them). We also have an in-game debug visualization of group levels.
We have an overall parent (master) snapshot where the level of every channel group is specified. You can only have one of these active at any given time, but you can change it. Then we have child (secondary) snapshots which override the parent -- these can contain one or as many channel group specifications as is required for that mix event.
It is hard-coded so that when two child snapshots are in place, and they both act upon a given channel group, the second snapshot cannot override the settings of the first. (This works for LBP, but I can see why you'd want explicit control over that -- or perhaps have a priority system in place).
We can specify level and also manipulate any exposed effect settings. In the code which calls the snapshot we specify a fade-in and fade-out time for the smooth addition and subtraction of the child snapshot. This is mainly used to cope with rather high level changes in the game's context; entering the start menu, a character speaks etc.
Interestingly, despite the fact the characters speak with gibberish voices, it sounded weird not ducking other sounds for them. Before the fact I assumed it wouldn't matter what with their voices not containing any explicit information, but not focusing on their voices whilst they are "speaking" makes what they are saying (i.e. what you are reading) feel inconsequential. I guess that's a nice example of sound having an impact on your perception, and highlights the importance of mixing.
Other functionality which has an effect on the mix is auto-reduce on specified looping sounds so that after, say, 15 seconds from initial event trigger a loop will be turned down by a given amount over, say, 30 seconds so that it makes an impact and then disappears. That's hard-coded.
In terms of mixing time, as is typical, it was just me, and I mixed in the same room as the audio was developed in. I tested the mix on other setups in the studio as well as taking a test kit home to try it out in a real-world environment, taking notes on things that could be improved. The mix was a constant iterative process throughout development with a couple of days during master submission dedicated to final tweaks."