MP3s + CDs



This is an excerpt from my term paper for CS 578 - Computer Game Development (taught by Dr Semwal at the University of Colorado at Colorado Springs - Spring 2004). This excerpt is a section which discusses the audio and music setup in my hovercraft racing game.


In this project it was important to have the music be both appealing to the ear and functional. To be functional the soundtrack had to convey something about the state of the game. I decided to create songs which had several inter-related themes, with a theme to correspond to each of the teams. By having several parts that could be played together at varying volumes, I could express the performance of each team. By weighing the rankings of the team’s racers, I determined the overall performance of the team, and that value corresponds to the volume of the team’s theme in the audio mix. All the themes are at the same tempo so that they could be played concurrently. With an idea for using concurrent melodic themes I then had to employ several techniques to keep the music from becoming muddy.

To create themes which were distinct yet harmonious I created the melody for each theme in the same key, but in different modes. By having all the themes within a single key I avoided dissonance. Within a key a melody can be rooted in one of seven different modes. Each mode has a distinct sound to it which helps to define the personality of the melodies. In much of western music we’re accustomed to hearing music in major or minor modes (which are synonymous with Ionian and Aeolian modes, respectively). Major mode melodies tend to sound grand and triumphant, while minor mode melodies tend to sound somber and mournful. Just as those two modes have distinct characteristics regardless of the key, other modes have properties as well. By having each theme in a different mode, the themes have distinct flavors. This helps to distinguish the themes even though they share the notes of a single key.

To make the themes even more distinct in the mix, I had each theme assigned to a different collection of instruments and frequency bias. Human ears are great when it comes to picking out instruments in music, so I wanted to use that fact to my advantage. By applying equalizer plug-ins and choosing a broad tonal palette it wasn’t difficult to create separation between themes in terms of frequency bias. The fourth way to keep the themes discernable from each other was rhythmic placement of the notes. In some cases the themes were mainly on the down beats, on other themes the notes were quite syncopated. By interleaving the rhythms the themes don’t have to compete for attention constantly. See Figure 6 for a representation of the audio which shows the various rhythms. The final technique I used to enhance the juxtaposition between themes was part writing the themes in different octave ranges. By allowing minimal overlap between pitch ranges the themes became more distinct. Below is a qualitative listing of the characteristics of the instruments used in the themes. Duplication of characteristics was minimal, but some overlap was inevitable with the style of music I write.

Theme 1 MP3 sample

Theme 2 MP3 sample

Theme 3 MP3 sample

3 Themes

3 Themes + Percussion

Just as the type of vehicle and its characteristics can help the user connect more closely with the virtual vehicle, the music can cause the user to relate better to the team. The user could, for example, play on the team whose performance is most often tied to the aggressive guitar parts in the music. Another team could have a theme that’s often in a particular mode regardless of instrumentation. If a particular attribute of a team’s melodic theme resonates well with a user, the user will be more affected by the performance of the team as it manipulates the soundscape.

The themes would not form complete music compositions without the added rhythm of drums. The drumming comes in two varieties, and the drum style depends on the type of vehicle being observed by the camera. If the user is piloting a racer, the drum track is energetic. Otherwise if the user is piloting a hunter the drum track is deeper and slower sounding. In either case the tempo is the same since the drums must match the tempo of the team themes. If an alternate camera view is chosen which focuses on a vehicle other than the one controlled by the user, the drum track will reflect the vehicle type being observed.

As another means of giving the user feedback via audio, engine sounds are incorporated into the music. The nearer vehicles are to the user, the louder their engine sounds are. This allows the user to know if other vehicles are approaching from behind, even if they are not yet visible. This feature is no different than other games, but the fact that the engine tone conveys the team of the vehicle is unique. The engine sound is a noisy drone, but it’s actually the note which is the root of the team’s theme. This allows the human user to understand if opponents are closing in or if the approaching vehicles are friendly. Racing vehicles have their engine drones in a particular pitch range, and the engine noises for hunters are an octave lower. I am finished with several sets of loops from two songs, each with interrelated themes. I have not implemented the real time mixing and playback of the audio. I’m learning about CoreAudio in Mac OS 10.3 and will use that technology for all my audio needs except for the announcer voice. I am using the OS’s built in text-to-speech functionality to cause the game to speak information to the user. At this point the announcer speaks several short phrases such as “Nitro” and “Lap completed” at appropriate times.

Figure 6