about feedback archives submissions

//loonygames://issue 2.4://Sounds From All Over://1, 2, 3, 4, 5
switch to printer-friendly version

What's new today:

The archives have been cleaned up, dead links fixed, and the printable versions restored! Also, don't miss the new comments on the main page!

Livin' With The Sims
theAntiELVIS explores the wild and wacky world that is Will Wright's The Sims, asking the inevitable quesiton, "is The Sims the first step toward a virtual life where everyone is Swedish?"

Pixel Obscura
Josh Vasquez on Omikron: The Nomad Soul.

Real Life
Check out our newest comic strip, Real Life! Updated daily!

User Friendly
Updated daily!

Random Feature:

Inside Raven Software: Our definitive history of the company behind Hexen, Heretic and other classics.

Search the Archives!

Vol. 2, Issue 4 
November 29, 1999 


The A3D protocol is much more geared directly to the card than the EAX approach. It's almost direct to the metal kind of stuff, which means it's tougher to pick up initially, but you do get a better feel for what's going on, and the controls you have over it.

The Miles sound system is a bit of a misnomer. Its more a layer of API that sits on top of whatever kind of card you have already. The idea being that it can support A3D, EAX, DirectSound, you name it. You just say, "I want this sound at this location, with 3D sound, this kind of environment, this kind of echo, off you go" and the system does it. It does all the initialization it needs to, figures out what kind of sound card you have, and basically does everything for you, plus more. There's .mp3 decompression built in, as well as other very sexy stuff. Its very handy, and pretty cheap considering the amount it does for you as a programmer. The downside is that it's fairly expensive CPU wise. Not terribly, but there is a cost. I understand that Daikatana uses Miles to good effect though.

Regarding obstruction and occlusion, it's important to actually distinguish between the two. Obstruction is where you can hear a sound, but there is something in the way, like a pillar. You can hear the sound reflected off walls or other objects, but not directly. Occlusion is where the sound has a wall between you and it. Thus it would either be muffled, or not heard at all dependant on the composition of the wall and your proximity to it.

These are two different problems to solve algorithmically. For the second problem, you need access to some world geometry to know where the walls are. In order to figure out if a wall is between you and the sound, you need to do some kind of trace function from you to the sound source, looking to see what's in the way. These traces are not free, and can be expensive if you are traveling the length of the map. They need to be done every frame, to update the volume for the sound, which means a fair bit of processing per frame. This is where you start getting CPU time being spent, and where people start getting worried about sound CPU demands. It's interesting to realize that this is all done in software, before the sound card gets involved at all. While both Aureal and Creative mention that A3D 2.0 and EAX 2.0 have obstruction and occlusion built in, they mean that they will write the code for your game that does the obstruction and occlusion, not that its handled in hardware. There's really nothing to stop you doing this yourself in your own engine, with just a basic DirectX sound system.

Something else worth mentioning regarding occlusion is that most games out there don't have it right now. If you support a system that has it, as well as a system that doesn't, then you can get yourself into a bit of a mess. To clarify, with Heretic II we had the basic Quake II sound system, which was just that. Basic. Then we added A3D 2.0 (with occlusion and obstruction) support into the patch. Now the system automatically selected which to use, depending on what card you had. The drawback here is that if you were playing deathmatch using the default sound system, as long as you had proximity to other players, you could hear their footsteps, no matter if there was a wall in the way. With A3D 2.0, due to occlusion, you couldn't. Those playing default sound had aural clues as to your whereabouts that you didn't have for them. You could always switch to default sound, but that would have rather defeated the point of having A3D in the first place. Of course the solution would have been to put in the occlusion for all the sound systems, but hindsight is always 20/20 isn't it?


Next >>

about feedback archives submissions

Credits: Illustration © 1999 Dhabih Eng. This article is © 1999 Jake Simpson. All other content is © 1999 loonyboi productions. Unauthorized reproduction is prohibited. So don't do it, or we'll make your ears bleed.