Lord Generic Productions
A Crash Course
in Game Design and Production
Week 5 - Sound and Music Specification
Welcome back! This is the fifth
installment in "A Crash Course in Game Design and Production.
Like last time, this lesson is in multiple parts. In PART ONE, we'll
talk about the basics of sound reproduction on the computer. In Part
TWO, we'll discuss computer music and sound effects, and what we need
to write the Sound and Music Specification. In PART THREE we will
write the fifth section of the Design Spec for our Course Project,
theSound and Music Specification. This is part 2 of 3
- Sound and Program-Related Terms We Need.
Ok, now that we know all about
sound, we'll move on to the kinds of things we need to specify in our
Sound and Music Specification. For this discussion we need to clarify
Event - An event in this context is anything that causes us to want to play one of our digital samples. Things such as the beginning of the game, eating a dot, energizer or ghost, losing a life, getting a high score, or beginning an intermission sequence are all events. We will categorize the sounds we play based on the events that trigger them. In the discussion that follows, I will sometimes give sample event names. In these I will use the nomenclature EventName, like GameOver, HighScore, ClearLevel. From the names I give, I will assume you can figure out what I mean.
Milestone Events - We talked about this earlier. These are game goal related. When the player has done something appropriately productive or inappropriately counterproductive in his quest for the game goal, you want to play some sound sample. Beginning the game is productive, so it is a Milestone Event. Other Milestone Events are GameOver, Intermission, HighScore, ClearLevel, KillBoss, Death, etc.. Milestone Events are either Major (KillBoss) or Minor(BonusObject).
Game-Related Events - These are anything else that would make you want to play one of your sound samples. For Snack Attack, this would be eating a dot, energizer, bonus object or ghost.
Priority - Since we have a limitation that only one sample can be played at a time, we need to plan our sounds by priority. While we can always stop a sound during playback and start another one playing, you don't always want to do it! Some events are more important than other events, soundwise. For example, Packy getting "eaten" is more important than the bonus score sound, so that sound should have priority. You don't want to cut off important sounds by trivial ones.
"Getting Stepped On" - This is when a lower priority sound sample is playing, and another sample of same or higher priority is required to start NOW. The previous sample is "stepped on," it stops playing, the sound card is reset, and another sample is played in its place.
"The Good Part" - The whole point to the sample. Something about the sample made you choose it as "the sound" for a particular event. That something is the good part. For OidZone, one sample I'm fond of is "You SUCK!!! Try Again..." with a nice echo. The "you SUCK!!" with the echo is the "good part" for me. I laugh EVERY time I hear it. The good part should NEVER "get stepped on" if you can avoid it.
Length - The duration of the sample in seconds. If my intermission animation event lasts ten seconds and I want some background music for it, the sound sample I need to play must be "ten seconds long," It's over ten seconds after it starts.
Music vs SFX
I've used the term "sound
sample" until now, because I wanted to make an important
distinction between different "types of sounds" we use for
our games. These distinctions also apply to FM and Wavetable
synthesized sounds too, so if and when we have those capabilities in
Euphoria, this material will also apply to them as well. From here on
out I will use the terms "Music" and "SFX."
Generally only plays at milestone events, and is not affected by any other game-related events. "Music" is kind of a misnomer, as not everything that falls into this category needs to be "musical" in any way. This distinction goes back to the 1980's arcades, before we had digital samples. Most of these things were signaled with music, because music synthesis is easy, and voice synthesis is hard. Music falls into Three categories, based on the type of milestone event that triggers them. They are:
Theme Music - These are sounds that set the tone of the game. They are generally five to ten or more seconds in length, and they play at and during major milestone events. Theme Music events are TitleSequence, StartNewGame,NewLevel, YouDie, YouSuckTryAgain, etc.
Note that these don't have to be
musical at all. You can sample yourself saying "The Force will
be with you...always" and call it Theme Music. It sets the tone
as to how the player feels about the game and his play. Theme music
generally has the highest priority. You don't want to cut off
"you are really a great player" with a farting sound. It
sends the wrong message. Any player alert message, like "Green
Elf is about to die..." is Theme Music. It sounds weird, and it
is, really, but that's how it is.
Background Music or Ambience Tracks - These generally begin at Milestone Events, like StartGame, or Intermission, and continue to play throughout the event. In our course project we will be experimenting with playing background sounds "around" the game-related event sounds. While we can only play one sound at a time, we can create some alternate versions of the sound effects to sound "like" we're mixing them with the background. It's tricky to do right, but we'll give it a go. These ARE usually musical samples, but you can have your background music be obscenities shouted at the player all through the game if you want to. That would be an "ambience track" Background music has the absolutely lowest priority, as it's played constantly. All other sounds must be able to play over it.
- These are VERY short samples, usually 2 seconds or less. They occur
at Minor Milestone events, like EatingBonusObject, HitHighScore, etc.
These could be a short fanfare or Ding-Ding-Ding-Ding, or
"WOW!" It doesn't matter.
This is an acronym (sorta) for Sound Effects, and describes pretty much any other sound you want to play. SFX are game-event related - something happens in the course of your game that isn't really milestone related, but is important enough that you want to play a sound effect for it. Things like shooting, htperspacing to another location, eating a dot, an oid breaking, ghosts bumping heads, etc. are all things you may want to play a sampled sound for. Aural feedback is as important as visual feedback in games. Things that make noise are more interesting than things that are silent.
BE CAREFUL NOT TO OVERDO SFX!!! Like Creeping Featurism, SFXitis should be avoided at all costs. Just because you CAN make each key pressed sound like a different dog barking, doesn't mean you SHOULD. Try and keep your SFX to less than 20 unless absolutely necessary. Only things that affect how you are doing should have sound effects, like thrusting your ship or shooting. Some don't need SFX, specifically, things you do a LOT, like maneuvering packy around the maze, or rotating your ship. These things get annoying VERY QUICKLY.
KEEP YOUR SFX AS SHORT AS POSSIBLE!! When sampling sounds, often you have some quiet time at the beginning and end of your sample. You should edit this out, and trim your sound effect so it's as short as you can make it, especially if it is something that will be heard frequently, or will be "stepped on" by another (or the same) sound effect. Too long effects sound bad if they are cut off before "the good part." If you trim your SFX to bare minimum, you hear more of the good part before it's stepped on.
Part 2b - The Sound and Music Specification
Finally, we're to the point where
we can talk about what we need to specify for the Sound and Music
Specification. This part of the Design Spec is very similar to the
Art Spec we talked about last week, in that for each Sample we
describe what it is, what we're calling it, how big it is, and where
Anatomy of the Sound and Music Specification
Here we go, into another anatomy. The Sound and Music Specification consists of:
Sound Requirements List
This is the system requirements for our game, and the sound parameters we need to adhere to. According to Ecstacy.e our sound drivers have the following requirements and limitations:
Minimum system requirements:
A copy of the latest version of the Euphoria Programming Language(V2.1+).
A 486/66Mhz+ CPU.
A Sound Blaster or compatible sound card with a DSP version 2.0 or higher.
Mix up to 64 sounds at one time.
Mixing rate from 8000Hz - 44100Hz.
8-Bit, Mono output only.
Each sound can have a seperate volume from 0 - 255.
Each sound can have a seperate playback rate from 1Hz - 88200Hz.
Each sound can optionaly be looped to the begining when it reaches the end.
Global volume-level from 0 - 255 affects all sounds.
Load 8-Bit or 16-Bit Mono or Stereo ".WAV" files.
Save and load multiple wave files to/from a single ".PAK" file.
Auto-detect sound card, or set BASE_PORT, IRQ and DMA manualy.
Optionaly write debuging information to a debug file.
Doesn't work with Windows 2000. May not work on windows NT.
All sound samples we intend to use MUST meet these requirements.
Week 5 - Sound and Music Specification
Part 2 - Terminology and The Sound and Music Spec
If you have any questions for
group discussion or have any other questions, comments or
suggestions, email them to me to Pastor@BeRighteous.com
Mail monetary donations large or
Lord Generic Productions 1218 Karen Ave Santa Ana, Ca 92704
A Crash Course in Game Design and Production - Euphoria Edition
(C) Copyright 1996,2001 Lord Generic Productions - All Rights Reserved