Over the past two and a half months I had the privilege of working with Steely Glint Games on their debut title Party Pugs published by All 4 Games, which has already been nominated for two TIGA Game Industry Awards (Best Puzzle & Amazon Appstore Game), which we are super stoked about. I highly recommend checking it out when you get the time. You can download it for free and learn more by clicking here.

What The Project Involved

Early on I decided I was going to use Wwise with Unity to have more control over the game's audio. This at first involved replacing the audio system and majority of the assets that were already in place when I was brought on to the project. Overall there was a lot of iteration, testing, and problem solving throughout the project to make this happen, in the end this really helped the audio grow along withe the various other elements of the game. Since the game is all about Pugs and all their glory, the player is given the option to choose between 46 unique pug characters to solve the puzzles with. This meant majority of them had to have a unique voice to help add to each of their personalities, which kept my job very amusing on a day to day basis.

I made use of various sound libraries and self-recordings, and I voice acted the harder to obtain SFX, which included sleepy inhales/exhales, pirate pug arghs, zombie pug barks, ninja pug whooshes, and a strange alien pug voicing:

To help add even more personality on top of this, we decided that a little over half a dozen of the pugs should have unique music tracks playing from the party van's radio. I ended up writing in 9 different genres for the game, including EDM, Noir, Punk, and Surf just to name a few:

Of course since the game's environment takes place on a sunny beach I found it only appropriate to take a day 'off' for some field recording on the north coast with my handy Sony M10. Saying that, I was quickly reminded that I am based in Ireland and I would have to wait for the sun to come out. But thankfully that day came and I was able to record dogs barking, children playing, seagulls calling on top of the main ambience of the two beaches I drove too.

During this expedition I went on search for the best squeaky toy that my local B&M had to ofter. Picture me standing in an aisle waiting until no was looking and then trying out about ten different, I might add, very loud squeakers until I found the right one. It ended up being this guy:

Lastly I feel it important to mention I heavily made use of spreadsheets on this project not just to keep track of my audio assets, but also to remind myself which scripts I made use of to call my postevents and to set my various Wwise parameters. This became very useful for lots of problem solving later on in the project when additional menus were added to the game.

Methods Used

Apart from the usual audio techniques such as randomisation, fragmentation, and distance attenuation, there were several methods I used while on this project that were new to me and I thought I would go ahead and share them here for those interested.

Volume Ducking

I found that Wwise's ducking tool's minimum fade in and out time was not short enough for the quick transitions that were happening in-game, so instead I made use of it in another way. On prize unlock the player is rewarded either with a new pug character to play with or a handful of extra coins, both of which start with the opening of a mystery box. So what I did was duck the music bus when opening the box, and while the reward SFX that came afterwards was playing the music bus would fade back in, creating a nicer transition between the two musical events:

I also made use of this on the collectible found audio event, however instead of using two different assets I just cut up the asset I designed into two parts. The music bus was ducked by the initial part of the SFX but not by the second, so again the bus would come back in while the second part plays (the kick hit) . To get a better idea of how this asset sounds you can preview the soundclip below:

Stereo Vs Mono

In-game majority of the audio is mono to help save memory, however I felt the main theme (created by 'Jay Man') and the reward SFXs would have more of an impact on the player if I left them in stereo. This of course was more for those players that chose to play the game wearing ear/headphones. I knew however that majority of people playing would be listening to the audio through their device's speaker, so I made use of a great plugin called Audreio recommended to me by Aaron Brown. This let me audition all of my assets from my DAW out of my iPhone's speaker and mix accordingly. This made the iteration process much faster, I no longer had to wait until I had a playable build on my phone to test the audio's mix out.

Disrupting Loops

One thing I noticed while testing was, if you exited out of the game mid-session and later re-entered all of the loops that were previously playing would no longer loop seamlessly as designed, which was a big no no! I solved this problem by pausing all of my events when the application was minimised and then resumed them when re-opened.

General Stats

Generated Soundbanks = 9MB per platform

Total Used Memory (In-game) = An average of 3.6MB

Total Media files used = 167 out of the 200 allowed in the license I used

Thoughts For The Future

In this project I had multiple post events called in code that pretty much did the same thing (pause or resume) just with different fade times. It may have been more efficient for me to set these times in code when needed, though I'll have to look into this in more detail. This would have also made it easier to check whether an event was running or not. Also on this project I didn't make use of any of the available Wwise plugins mainly because I felt they were not needed, however when Wwise is first implemented there is roughly a gigs worth of files added that I probably could have deleted to save me having to upload them to the master build on SourceTree when first starting. Again I'll have to test this to make sure I am not deleting anything that is used on the android and iOS platforms.

Overall working on Party Pugs was a great learning experience and I am very proud of the game we ended up releasing. Special thanks to Alastair Hebson for pushing me and my work to sound as best as it could, and for teaching me a thing or two about coding, game design, management, and working with git repositories. Lastly I will leave you with a short quote taken from a wonderful comment made by a game tester called Dawn after playing the game:

"Amazing. The music, the graphics and the colours are all perfect and very suitable for the game's casual playing vibe. I absolutely love the pug prizes and how the bumblebee pug costume actually makes a bumblebee sound when your pug moves."

Over the past month I had the pleasure of working with the talented Michel Mohr on his now released title Hexjack. I had lots of fun doing this project, I was able to use FMOD Studio to create a living and breathing medieval tavern within the Unity engine and I'm really happy how it turned out!
Here's a brief video I made showing off the audio system in action:

This is the first title that I have worked on to be actually published and also the first to have given me the chance to use FMOD Studio, so overall as I'm sure you can guess I am very chuffed to finally reach this stage in my career. I am also finishing up another project at the moment so you'll hear more about that soon!

Recently I designed an adaptive music system in FMOD Studio that was inspired by a game in development called Perlinoid, which you can check out here.

I recorded a short video to show off the system in action, which you will find below:

In this example the player has control over three primary colours, each of which have their own melodic theme and have been assigned a musical instrument:

Red (R) = Violin Yellow (Y) = Trombone Blue (B) = Clarinet

Depending on which colour the player is controlling the appropriate theme will play. In the background of all this is another short loop that is always playing no matter what happens in game to keep it interesting. To make what I said before possible, I use numbered parameters and sound events to transition between the possible colour combinations. For example the player could be controlling the blue character and then take control of the yellow character, which would be triggered by the parameter B3. From here the player could then go to any of the following:

Y to B Y to R Y to B+R Y to B+Y Y to R+Y Y to B+R+Y

Since the player could make these changes at any given time I had to automated the transitions to fade in and out so they could smoothly transition without bringing too much attention to themselves. Once the adaptive design was ready then I exported the build out of FMOD and into Unity for testing. If you have any questions about this system I created I am more than happy to answer them for you!