XACT Audio Tools Are Ridiculous

Posted July 2, 2010

According to the TorqueX documentation, at least.

The offending section is in the TorqueX Core Reference under the “SoundGroup” class section. Unfortunately you’ll have to just Ctrl-Find it, since the TorqueX Docs site doesn’t have any links to specific classes, unlike the nice Sun and MSDN API pages we’re all used to. Funny that GarageGames judges the ease-of-use of Microsoft’s tools while TGE 1.4 and its (lack of) documentation still haunts their past. Excerpt after the jump.

“SoundGroup

Structure that contains a SoundBank and a WaveBank. Intended to simplify the use of the ridiculous XACT tools. SoundGroups will most likely be used only by the SoundManager, but it’s possible to use them alone, if neccesary. The benefit of using the SoundManager is that it will automatically create and hash SoundGroups for every sound you use, so if you use it properly you are guaranteed to have only one instance of a given sound bank. It’s reccomended that you read the XACT docs before trying to use any kind of sound in XNA.”

Maybe I’m just a nerd, but it seems to me as though everyone likes picking on the XACT tools. That would explain the SoundEffect class added in later versions of XNA (which is probably a good thing). But just condemning the XACT tools for a lack of understanding not only comes off as childish, but also undermines the efforts done to drive innovation in game audio. I’m glad they at least recommend that developers RTFM. The MSDN site has some great articles for getting started, and they’re really all you need to get going for basic sound playback with maybe a little pitch shifting and reverb.

If Microsoft had only provided the SoundEffect and MediaPlayer classes, I’d be rather unhappy. Yes, it would cover the basic needs of a hobbyist game developer trying to get sound effects into his or her game. But, what about guys like me who are trying to delve into the dark art of Game Audio? FMOD and Wwise sport the same features Xact does plus a multitude of other things like designing dynamic music cues and the ability to use and parameterize the McDSP plugins.

My point is, XACT is not nearly as complex as other industry standard game audio implementation tools. I’m personally very grateful that Microsoft included the XACT functionality within XNA. I’ve already been playing around with XNA and getting pretty good with C#. Now I can make a simple XNA game with a robust audio management system running in the background. If I wanted to do that with FMOD or Wwise, I’d have been stuck in Unreal or using an engine like Irrlicht or Ogre3d with the dreaded C++. Not that I don’t know C++ or am not comfortable working in it, I really just don’t have the time required to invest in using it to develop portfolio projects. XACT is not the most flexible of audio implementation tools, but for an indie tool, it’s pretty good.