My Game Audio Adventure - Part 2

Hey there... well this post is well overdue but chaos that is the final year of a degree caught up with me and i ended up being wrapped in all the work i had to do rather than blogging about it. Guess that makes me a terrible millennial.

So to bring everything up to speed, my Game Audio implementation is done, which is a huge relief. you can go check a video of it over on my Portfolio page and even download a playable build of it. This post intends on describing some of the processes behind it and how i developed the implementation.

First up would be the room. I ended up cutting some content from my initial plan such as the room full of sound triggering buttons and the waterfall, mostly due to time constraints. However i will be looking to revisit these soon particularly the waterfall which i hope to achieve using Pure Data and Enzien's Heavy to bring it into Wwise. But anyway the room ended up looking like this :

An overhead view of the level.

As you can see i managed to build a central corridor connecting several different areas, many of which had a unique audio feature in them. Key to this were the different surface types, which triggered different footstep samples. These were;

  • Grass
  • Gravel
  • Metal
  • Concrete
  • Swamp
  • Wooden Floor
  • Tiles

Footsteps

My footstep system was done using Unreal Engine 4's audio system and relied on physical surface data being used to inform which samples needed to be triggered. The first step in this was to give each texture a physical material assignment, which in turn had a surface assigned to it.

A physical material being applied to the Tile Mesh.

After this anim notifys were placed in the first person run animation in order to  trigger when a footstep should be played. this was tricky to sync up because...well the model nothing more than a floating torso and arms, however with a bit of tweaking it was possible.

Animation notifys in line with each step of the animation cycle

These were then later referenced in the character blueprint where they triggered off a system that looked at which material the player is currently on and therefore which sound to play.

The system that triggered the footsteps

It looked at when was below the player using a line trace and then got the surface type result from that using the "Get Surface Type" node. This node then fed a switch that contained  the different physical surface that were present in the level. From here corresponding Sound Cues could be assigned , which allowed for the different steps to be triggered.

With the Sound Cues themselves, a series of footstep samples were fed into a random node and then into a modulator to select a sample at random and then pitch modulate it , giving a wide range of output. This can be seen below.

An example of a footstep cue.

Grass Room

So when you start up the level on of the first rooms you'll come across is the Grass room. This is meant to mimic a wide open, natural space such as a field. The footstep sounds for this were made using scrunched up VHS tape that had been sacrificed in the name of sound (it was Star Wars: Episode 1, so i could finally exact revenge on behalf of geeks everywhere by stamping on its guts).

At the end of this level  i decided to place some trees which had bird some emitting from them. The first thing i did was place a Wwise Ambient sound Actor into UE4 and assign a distance attenuation profile to the Bird song container which handily appeared in real time in the editor.

The rather large Wwise attenuation sphere.

Though completely spilling into the other environments, the walls occluded the sound which ensured it remained contained in the room.

Meanwhile in Wwise i had two nested random containers in a single blend container. These  consisted of two types of bird song. One of these were long drawn out snippets of song and the other contained short bursts of song. These randomly blended and crossfaded in with each other using a randomiser on the Transitions duration which helped generate a diverse and ever changing bird song.

The Containers that crossfaded the bird song

The Bees

Yes. The Bees. So in my swamp room there is a tree that contains a swarm of angry invisible bees, which is the most terrifying thing imaginable next to invisible Spiders or Bears. These Bees get more aggressive the closer you get to the tree, which was achieved by first measuring the distance between the player and the tree and then feeding that float into an RTPC input in Wwise like so;

The Blueprint to get the distance from the Hive.

ensuring that the Bees only sounded off when inside the right room a simple IF branch filtered out any distance too large.  This RTPC data was then used to mix a blend container containing 3 different Bee sounds depending on how close you get to the Tree.

Bee Crossfades

Swimming Pool

No Game Audio party is complete without a pool. So i made one, which was some feat of design using my limited 3D modelling skills. But you're more interested in how it sounds.

Pretty slick right?

 

If you've ever been in water or spoken to anyone who has, you may know about the fact that water doesn't like letting treble through and jumping in will attenuate any HF energy around you. So in order to recreate this i used UE4's sound mix feature to "push" a mix onto the master output  when in the water, this mix took the simple 3 band EQ and cut a large part of the high end. The sensation of being underwater was further emphasised with bubbling sounds fading in as well as splash sounds for rising in and out of the water. this was all done using a few simple nodes in the level blueprint. This is all demonstrated by having some thumping electronic music to swim around in at your leisure.

The Blueprint system used to push the sound mix

 

Well that's all for now, i'll post more tomorrow and go into detail about the Spooky haunted room, the mechanical door and the guns! if you just can't wait til then you can go check out video or download the level yourself over at my Portfolio page.

Thanks for reading and i hope you join me in part 3 of my Game Audio Adventure.

Haroon.