1
\$\begingroup\$

There are various types of audio material we require in games.

For instance, footsteps - these are very straight forward.
We take some boinking sounds over metal, plastic, concrete and add to our asset library.

Now, in a good game, based on player models locomotion, once foot collides with surface, we play the sound - just from start to end, let it complete. We might lower the volume, and/or fade it out in case we need it to be more silent (like, when we didn't make a full step).

In a little lesser game, we could simply play the sound once every n ticks of walk.

The result in both cases add the depth to the game that is required to make the impression that the player is really walking.

Now, what I have problems with, is, grasping the idea behind continuous and speed affected sounds.

Continuous

With continuous sounds I think of Rocket Launcher's rocket propulsion, Dash abilities sound feedback and such.

You might ask, what's so different for those vs. footsteps? Well, I see two possible solutions:

  • A very long, continuous sound that is faded out / cut off whenever the rocket explodes, or the dash ends.
  • A very short, precisely cut out sound fragment, that can be looped for as long as you wish (this could possibly be enhanced, by once in a while nipping in or overlaying another short with different tone or what not).

And I think some of you might have something else up your sleeve.

Speed affected

With speed affected effects I think of engine sounds, like those we hear in Need for Speed franchise and such.

With this, the only solution I have in mind is smart overlay of multiple set of sounds with different lengths.


For both, the continuous and speed affected I have left out real-time software intervention, which I think is rarely applied due to more consumed CPU cycles, though, I may be wrong.

And so, the question is:

What is the industries de-facto solution to create and manipulate such effects?

\$\endgroup\$
3
  • \$\begingroup\$ May I suggest you edit your question title and the last sentence to the spirit of "how do I?" instead of "what is the best?". \$\endgroup\$ May 22, 2013 at 9:55
  • \$\begingroup\$ I'm not interested on "how do I" - for those I already have theories. I am interested in what is the de-facto way of doing it throughout the industry. I'm looking for a similar answer to this. \$\endgroup\$ May 22, 2013 at 10:18
  • 1
    \$\begingroup\$ As a person who works in "the industry", I can assure you there are no "de facto" solutions for anything. Different companies don't regularly share information (especially technical knowhow), and even between teams inside a company, the solutions to technical problems may vastly differ. There's also no "best (or de-facto) solution", because what works for some won't for others. The answer to your question greatly varies depending on the platform, resources, needs and many other factors. I recommend you state these, and ask for guidance. \$\endgroup\$ May 22, 2013 at 10:24

1 Answer 1

3
\$\begingroup\$

Almost all sound libraries (DirectSound, XACT, XAudio2, OpenAL, Core Audio, etc.) support changing the playback rate of your sounds. By doing this, you will effectively be changing the sound pitch, so you can use this for example, to make car engines sound higher programmatically as they move faster.

Also, many libraries support more advanced sound effects. Mixing and Reverb are very common, but Doppler shifting, High-pass, Lo-pass filters, Equalizers and many other modules are available for you to modify your sounds in runtime, with varying qualities and delays.

Make sure you check the documentation of whatever library you're using, to see which effects are available.

(I hope that with my answer you understand why asking for a "de-facto solution" is not appropriate for your question)

\$\endgroup\$
1
  • 1
    \$\begingroup\$ +1 with the hope that idealistic coders stop looking for Holy Grails. \$\endgroup\$ May 22, 2013 at 17:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .