Creating the soundtrack for an entire game environment
This portfolio piece is an opportunity for me to demonstrate music, sound design and audio integration across a single demo, that you can watch and (soon) play yourself. The saloon is an environment asset by the very talented NOT_Lonely (www.not-lonely.com).
If you’d like to pick up the Western Saloon environment for yourself, it’s available to purchase from the Unity Asset Store: HQ Western Saloon.
All of the music and audio in this demo was created and integrated by me, with the exception of the Hawk’s screech (see below). The demo was created in Unity 5, using Unity’s stock audio tools. Unity user? You can download the audio I created for this demo for free and use it in your own projects.
Unity product links
You can watch a playthrough of the demo below:
The music consists of two synchronised tracks, one for outside and one for inside the saloon. Played simultaneously, they are crossfaded on entering and leaving the saloon. Using trigger colliders with a cumulative enter / exit counter meant that I could use several primitive shape colliders, instead of a less efficient mesh, to form one large zone that accurately matched the saloon’s shape.
Keeping track of whether the player is indoors or outdoors meant that I could also attach additional sound related conditions to being inside, such as attenuating the volume and adding a low pass filter to the ambience track (see below).
The footsteps were really important. I wanted to create a believable environment that you feel connected to. The Indoor variations are pitched down recordings of boots on my wooden deck, with the occasional scuff for good measure and a big hollow boom when the player lands after jumping. The sounds have been filtered, EQ’d and are further altered in-game by volume and pitch to randomly increase the variance between them. The volume of the player’s landing, to avoid a mismatched volume when moving down steps and small ledges, is attenuated by fall height, the longer the player is in the air, the louder it will be.
For the sand footsteps outside the saloon I used pavement and gravel to create the base sound and I added slight amount of dust noise, created with salt on paper, to add ‘air’ to the footsteps and give the sound some extra depth.
Saloon Doors & Bumpable Objects
The saloon doors themselves are an important feature in the environment. I added a contact sound to each of the doors, created with a wooden gate for a hollow noise. The squeak plays when the door moves above a certain velocity, with the sound’s volume attenuated as the velocity reduces, until it meets its lower threshold. I applied the squeak to only one door because, even with pitch variation and multiple samples, the two doors squeaking in unison created an undesirable sound and phasing. Applying the squeak to only one door creates a more realistic sound and has the added benefit of being more performance efficient. The upper balcony doors used a similar effect however with a different contact sound. The large, paned glass doors need an added frequency further up the spectrum to sound correct. A large glass frame worked well for this, and the combined rattle of the glass and picture stand, when pitched down, created the effect I was after.
I wanted the player to hear themselves moving through the saloon, which is a cluttered place. Despite many of the objects being static, I wanted the player to feel like they weren’t. To do this I added simple bumping noises to objects that you might expect to budge slightly if you walked into them, so if you catch the furniture while walking past it you’ll hear the chair scuff the floor, knock into the bottle filled bar and you’ll hear them ring as they rattle together. The aim was to add movement to the scene, without making anything move.
I extended the original asset to create the ability to pickup and drop objects. This is a large part of many games so I really wanted to showcase it in my demo. For each material, metal, wood and glass, I created a pickup noise, a knock and a rattle. This provides the player with audio feedback when picking up the item, both as an interaction feedback and to give the object material and weight, and a general impact noise for dropping or throwing it. The rattle is triggered by the player’s collider so that dropped items will sound like they’re knocked around the floor when walked into.
For the ceramic vase, I originally tried recording a large ceramic pot however this created a much rougher noise than I wanted, with no resonance (as the pot was broken). Reusing the glass effect however, as well as being efficient, worked much better and created the large hollow ‘thunk’ I was looking for when pitched down.
Ambience & Reverb
I created the wind noise artificially, as this is much, much cleaner than actually recording wind. To make the wind more real and connected to the scene, I added layers of dust noise, created with salt and baking paper and used volume automation in Cubase to create a breeze than ebbs and flows. It would be entirely possible to automate wind volume in-game to create the same effect however incorporating into the recorded file provided enough variation on this occasion. To keep the wind noise even, I limited the audio spread to 50% meaning that half of the audio signal, which I also kept in stereo, would be unaffected by the player’s head movement. For the smaller sandstorms flowing around rock formations I added an additional wind whistling loop.
When the player is inside, the wind’s volume is dropped and a low pass filter is applied. A low pass filter cuts the audio signal above a certain frequency, letting the ‘lows pass’, just like the saloon’s walls would do, giving the impression that the wind is outside.
Reverb zones inside the saloon apply room reverberation to the large main room, the medium sized back room and the two small rooms upstairs. With each having their own acoustic properties it was important to distinguish between a large room and a small one, adding to the realism and the sense of space.
The piano was probably the simplest sound for me to create. I already had a ‘honky’ piano sound. Triggering detuned, dissonant chords kept the piano noise separate from the music and matched it to the broken instrument in the scene.