ABSTRACT

This would typically have been player and user interface sound events. Character sounds would typically be organized so that there would be one sound pack per type of character. Each character sound pack would contain all the audio files used by that character. Level sound packs would contain only the audio files only used by sound events found on that particular level. However, this method of organization is no longer applicable, as a single level’s worth of audio data can easily exceed the amount of sound RAM available. Therefore, we must break up our level sound packs into several smaller packs so that we can fit the audio data needed by the current section of the game into memory. Each of these smaller sound packs contain audio data for a welldefined small portion of the game. We then load in these smaller sound packs and release them from memory as the player progresses through the game. An example of a small sound pack would be a sound pack containing woodland sounds comprising bird calls, trees rustling in the wind, forest animals, etc. The problem with these smaller sound packs is how we decide which audio files are to be stored in each sound pack. Typically, sound packs, such as the example woodlands sound, pack are hand-organized in a logical manner by the sound designer. However, this can lead to wasting memory as sounds are grouped by their perceived relation to each other, rather than an actual requirement that they be bound together into a sound pack. The second problem is how to decide when to load in a sound pack. Previously, a designer would place a load request for a sound pack into the game script. This would then be triggered when either the player walks into an area or after a particular event happens. An example of this would be loading a burning noises sound pack and having this ready to be used after the player has finished a cut-scene where they set fire to a building. This chapter discusses methods to automate both of these processes. It allows the sound designer to place sounds into the world and have the system generate the sound packs and loading triggers. It also alerts the sound designer if they have overpopulated an area and need to reduce either the number of variations of a sound or reduce the sample quality.