Were there any requests from developers for changes to the original Xbox audio architecture that made it into the design for the 360?
BS: Plenty. XAudio 2 is a great example. Developers wanted a more flexible way of dealing with audio than they could previously, so we created a new XAudio 2 audio API for Xbox 360. They also said "we want cross platform code with Windows" so we brought XAudio 2 to Windows as well. We also have XACT cross platform from Windows and Xbox 360.
We also have a lot of experiences with the challenges of game audio and tried to some other innovation as well. No one came out and said "give us XMA, but we knew that in any system, memory is always an issue for audio, so we created XMA. Likewise our move to a software audio system makes it much easier to use DSP effects than previous generation consoles, which is a key feature for next gen gaming.
Have you ever assisted development with internal Xbox games directly with changes to SDK/APIs? Is this kept proprietary, or made available with updates?
BS: When we first launched, there were plenty of changes to the XDK that were the direct result of specific games' requests or issues. We'd roll those into the next XDK and then everyone could take advantage of the new features in the next release. Early on, we released every month, so the turnaround was pretty quick. As the platform matured, we find ourselves doing that less, though.
How do developers use media space for games?
BS: Games on Xbox 360 run off of a standard DVD-9. We've found that this is more than enough space for the vast majority of games. A large numbers of games don't fill up the DVD-9. Mass Effect is a great proof point. It's a deep, involved RPG game, with long gameplay, breathtaking graphics, and a rich script with plenty of voiceover. It fits on a single DVD-9.
The same is true for Halo 3. It was the video game event of 2007, and fits on a DVD-9. The Xbox 360 development kit includes some extremely advanced compression technologies such as VC-1 video compression, XMA, WMA to name a few. These allow you to store high definition assets for a fraction of the storage space required by older technologies.
What kind of effects does the Xbox use natively, and can they be tested anywhere in the basic SDK?
BS: We ship with a really nice reverb we licensed from a company called Princeton Digital. They are a small company that licenses audio algorithms to pro audio hardware companies such as Eventide. It's a variant of the 2016 reverb called the 2016/360. We provide sample code for some simple DSP effects like parametric EQ, delay, compression and simple filtering. You can check those out in the samples for the XDK and SDK. There are also some companies making DSP middleware for Xbox 360. For example, Halo 3 used some effects from Waves.
Is there a way to test XACT in realtime without having to build a game engine to do it?
BS: There is an application that ships with both Windows and as part of the Xbox Development Kit that lets a sound designer fire up XACT and play with it.
What are the most interesting features that have been taken advantage of for the Xbox 360 for audio? More channels? Dynamic compression?
BS: XMA certainly -- every game uses it, and it's the primary audio format for the Xbox 360. It lets you store between eight and 10 times as much audio into memory. That makes a HUGE difference what a sound designer can deliver. I also found Halo 3's use of the Waves technologies very cool, and we're excited to have partnered with them.
Actually, one of the "most interesting features" that has been used is just the fact that, aside from XMA, we've moved to an easily programmable software audio architecture. I've seen some games do some amazing things because they could just write some C code, either for DSP effects, 3D or entire audio engines. It really has unleashed a lot of creativity in my opinion.
What game has impressed you the most for the 360 with its use of audio?
BS: BioShock, Halo 3, Call of Duty 4... there are just too many really great-sounding games to call out individuals... The amount of great audio work coming out of the studios these days is really amazing.
What is the average amount of audio memory that you are seeing used in 360 games?
BS: It really varies. I've seen as few as a couple MB (RAM footprint) to more than 64. Of course, using XMA gives you about 10:1, so that 64Mb is the equivalent of 640MB of PCM (or a full audio CD). On disk it also varies... I've seen games that use one-third of the disc for sound/music/dialog (about 2GB). Of course, I'd imagine that Guitar Hero III or Rock Band use more than the average game.