16
\$\begingroup\$

I'm creating a RPG/RTS game in Unity. There are a lot of characters and potentially a lot of different environments. I'm fairly confident with the coding part (so this question isn't really tied to the game engine). I also create music myself (solo work, pad-based live drums in a band, mixing for friends, etc), so I think I have a pretty good grasp of all the neccessary tools. However, I've never created sound design for a game, and I don't really understand how to do that.

How would you organize and use sound effects? For example, you have 5 different character types and 3 different grounds — grass, mud and wood, for example — would you create 5*3 footstep sounds? Is adding random pitch for variety to a sample a good idea? What about environment sounds — do you create a main loop you just launch on the background, or do you place real sounds (water, wind, tree barks moving, birds) all over the game level?

Overall, I just have too many of this stupid random questions because I don't quite understand how this system should be designed; I would be very thankful if someone gave me a link to some sort of a guide or an article on the matter.

\$\endgroup\$
3
  • 2
    \$\begingroup\$ You would do well to go by a guiding principle that add sounds where sounds are useful and/or necessary. Adding sounds to everything doesn't seem like a good approach imo. \$\endgroup\$
    – ashes999
    Jan 10, 2013 at 16:08
  • \$\begingroup\$ gamasutra.com/category/audio \$\endgroup\$
    – Tetrad
    Jan 10, 2013 at 23:06
  • 2
    \$\begingroup\$ I tried to answer your question as generally/usefully as I could, but you kinda wander all over the place with this question, so my answer is long and all over the place. Can you distill it down to something more specific? \$\endgroup\$ Jan 11, 2013 at 1:11

3 Answers 3

14
\$\begingroup\$

From your question, it sounds as though you have no problem designing/acquiring sound effects, and just need to understand implementation approaches.

How would you organize and use sound effects?

There's one major principle you need to understand when it comes to game audio which is obvious in hindsight, but not everyone gets on their first approach:

"Anyone who still thinks there's a 1:1 relationship between a sound and a WAV file just doesn't get it." -Brian Schmidt

When a post-production studio edits a film's soundtrack, they don't place little "SOUND EFFECT INSTANCE" cues all over the timeline. They take a few different sounds and balance them together, triggered at different sequence points to make the soundtrack as organic as possible. It's really hard (and sometimes not desirable, as your game's aesthetic dictates) to do this in games.

The systems you can build (or use) for getting the most flexibility out of your engines vary. One way you can get familiar with this is to download both FMOD and Wwise and start reading their documentation and trying to use the tools (Wwise's installer contains a document describing the interaction between programmer and sound designer that is especially good).

For example, you have 5 different character types and 3 different grounds — grass, mud, and wood, for example — would you create 5*3 footstep sounds?

If your characters' footsteps sound different enough, then yes. It's also common to split it up into small, medium, and large footstep sounds because, for example, are human and elf sounds really going to be that different? Save on the disk space and memory and reuse some sounds.

Is adding random pitch for variety to a sample a good idea?

Yes. Otherwise, you get the "machine gun" effect," which sounds like its name. It's especially bad with multiple impact sounds. For quick, repeated sounds, you typically grab a few different-enough samples and then trigger each of those with their pitch subtly adjusted on each instance of the SFX being triggered.

What about environment sounds — do you create a main loop you just launch on the background,

Many games have certainly taken this approach. The most recent example I can think of is Bastion. If you hang out in the Bastion for 2-3 minutes, you'll eventually hear the background track fade down then fade up again as the background loop restarts. This is kind of lame. It's possible to make your background loop more dynamic.

To make your background loop more dynamic, think about decomposing the loop into its elements. For a given basic outdoor background loop, you can probably put in these:

  • A base, soft wind, or another sound that acts as the bed, or "room tone" if you've done film sound.
  • Slightly louder continuous sounds highlighting a feature of the area (eg: babbling brook)
  • Frequently-active sounds that are short, but may trigger frequently (birds tweeting)
  • Sounds that are very few and far between, but add interest and mystery to the area (occasionally wolf growl, maybe?)

You can effectively think of these categories as all being on their own timeline. Each timeline here has a bank of sounds they can choose at random, and parameters for how frequently they trigger. Examples of parameters:

  • Any required delay time between the end of the last sound triggered and the next one beginning in a single category.
  • If a particular sound category is allowed to have multiple sounds being played from it at once (might be appropriate for tweeting birds, if it's tuned to happen infrequently)

or do you place real sounds (water, wind, tree barks moving, birds) all over the game level?

The placed-in-level sounds are sort of a special case since they act as your background loop in some instances, but you may also want some form of them in addition to a background loop.

What if a bird flew out of its nest as you approached it, but then you didn't hear a bird squawk until 12 seconds later in the background loop? That would be weird. Even if you have bird squawks in your background loop, it makes sense to also place a bird squawk here.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ +1 this addresses sound quite well, and some approaches and ideas that are very useful. \$\endgroup\$
    – ashes999
    Jan 11, 2013 at 2:39
  • \$\begingroup\$ @golergka Edited answer, forgot a crucial don't: "they don't place little "SOUND EFFECT INSTANCE" cues all over the timeline" \$\endgroup\$ Jan 11, 2013 at 17:54
3
\$\begingroup\$

The brain tends to hear with the eyes, in speech it is described as the McGurk visual effect, but it applies to any sound.

Foley artists make use of this illusion in movies, to trick the brain into thinking the sound heard is produced by what we see, even when it is actually being produced by something entirely different.

If the user sees a different character and a different ground field, he probably will hear a different sound.

Another important thing is that sound design is an art on itself, so there is no recipe to give the right sound effect to every thing occurring in the game.

It boils down to trying different sounds for different things until it feels just right. Randomization plays an important role too, to make things appear real. With some experience it becomes second nature to find the right sound, to play in the right place at the right time.

I would say that reading all of these books is highly recommended to get you up and running. The order in which they appear in the list is by number of copies sold. So the really good ones are at the top.

\$\endgroup\$
2
\$\begingroup\$

(I already answered on Reddit but I may as well copy that answer here too.)

This is the sort of thing that is mostly handled automatically in FMod Designer, WWise, Sony's Scream tool, etc. It's a shame that Unity doesn't have something similar.

Yes, you would typically create 15 separate footstep samples. You would also create several of each in order to add variety, and pick which one to play randomly each time. Pitch and amplitude variation may help here but I think you still need more than 1 sample in each case. You need an abstraction layer that translates a request to play a footstep for a given character into picking one of several samples and playing that.

Environment sounds can be done in various ways, and require some further degree of support from the system because you can't just place a sound emitter in the world - players quickly notice when birdsong seems to be coming from one very specific position in 3D space, or when it moves from speaker to speaker when you turn around. But you do often need to be able to assign sounds to areas of the world. So what I've done in the past is assign each ambient sound a zone in which you hear it at full volume, and a larger encompassing zone where it's heard at partial volume, attenuating down to zero at the edge.

\$\endgroup\$

You must log in to answer this question.

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