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 :
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;
- Wooden Floor
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.
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.
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.
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.
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.
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.
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;
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.
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.
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.
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.