Producing Audio for Halo
I wrote several pieces of music, some linear and some designed to be dynamic, that express many dramatic or emotional states; combative, spooky, tense, sad, calm, defeated, or victorious. Some musical themes underscore linear cut scenes and became associated with a character, mission, or location. I wrote and produced each piece first in a linear fashion, and then re-mixed, edited, or re-arranged it to fit into the music playback engine we had designed, tailoring it to the specific context.
The music engine is relatively simple in construction. It consists of three basic file types within a single soundtag. The "in", which starts the piece, the "loop" which is the middle section and plays for an indeterminate amount time, and the "out", which is how the piece ends. In addition, there is the "alt_loop", which plays instead of the loop if called by the game, and the "alt_out", which plays if the end is called during the alt_loop. The looping sections are made up of as many looping soundfiles as desired, and each looping soundfile can be of any length and weighted to determine the likelihood of being played. The level designer only needs to insert the commands: start, start_alt, and stop, in order to call any given music soundtag. This made it relatively easy for me to sit with each level designer and "spot" a level in the same way I might sit with a film director and "spot" a movie.
Within each music soundtag, I could also set the preferred type of transition (immediate, cross-fade, or wait until the end of the current loop) between the alt and out soundfiles. We can give real-time volume commands to the currently playing soundtag and also give it an overall duration limit. This kind of soundtag was also used for ambient background sounds.
We also took advantage of multiple tracks in the ambient soundtags. An individual soundtag might be made up of more than one track of looping soundfiles. For example, a beach ambient soundtag could contain looping wave soundfiles and looping wind soundfiles, each with as many variable-length loops as desired. In addition, this soundtag could also contain "detail" soundfiles; sounds that add interest and color but don't loop in themselves. In the beach soundtag, detail sounds could be elements like seabirds, splashes, and gravel movement. The detail soundfiles can be weighted, given random 3D positioning random period, volume, and pitch ranges. The soundfiles for both music and ambient soundtags were 16bit 44.1k ADPCM compressed stereo, and read into RAM in 128k chunks in order to allow us to use longer pieces.
of the rest of the sound effects in Halo were made up of non-looping
or "impulse" soundtags. These sounds play one permutation
at a time, either in their entirety or interrupted by another sound
that takes precedence. For example the automatic rifle soundtag is
a collection of gunfire soundfile permutations that are called in
sync with the weapon's rate of fire. Any single permutation is long
enough to include the authentic ring out of an individual gunshot.
Each call is interrupted by the subsequent call until the trigger
is released and then that permutation is allowed to finish playing.
Explosion permutations are not interruptible and thus can overlap.
Mono looping soundfiles are the permutations for sustained sound effects
like engines, fire, and the like. All of these soundtags can be called
in scripts, or attached to objects, animations, particle systems,
characters, or locations. The pitch and amplitude can be controlled
in real-time by different parameters contained in other tags. For
example, the pitch of an engine looping soundtag will vary depending
on numbers coming from velocity and RPM's from the engine tag. The
engine will sound like it's revving high if it's forward velocity
is at top speed or all four wheels come off the ground and the accelerator
is still pushed down. We were also able to cross-fade switch between
different samples based on real-time events. The most important thing
for these types of sound is perfect synchronization: what the players
are hearing "feels" right with what they are seeing.
the actors were SAG and AFTRA talent, and during the casting auditions,
their ability to improvise was tested along with their ability to
bring the proper emotion to the script. There are more than six thousand
lines of dialog in the game and one of the elements I still find enjoyable
is listening to new and unique combinations of real-time interactions
between the marine and alien AI's. I literally never know what they're
going to say next.