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


  Part 2a - 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 some terms:

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."


Music
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.

Musical Tag - 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.


SFX
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 it goes.

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.
2MB+ RAM.


FEATUREZ:
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.


KNOWN BUGZ:
Doesn't work with Windows 2000. May not work on windows NT.


All sound samples we intend to use MUST meet these requirements.


Music Specification
Here we describe each Music sample for each of the three categories:

Theme Music
Background Music
Tag Music
 
You need to comb through the General Description and Screen Design Spec to find EVERY "Music" piece you need for your game. For each of these you need:

Name: What you call the effect
Filename: What you want the Sound file to be called
Length: How long should the sample be in seconds
Sample Rate: What rate should you sample it in?
Event That Triggers it: What will cause this sound to be played?
Priority: What priority is this sample? What should\should NOT step on it?

SFX Specification
This is pretty much EXACTLY like the Music Spec. Go VERY CAREFULLY through your other SPECS and make a list of EVERY SOUND EFFECT you NEED to have for your game, then go through and specify them one by one as you did for the Music samples.

We're on a roll now. In the next part we'll look at the Sound and Music Spec for our course project


  End of 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 small to
 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