DATA Labs – Cassette Player Blueprint

If you’ve been following my blog you’ll know that I’ve been working on DATA labs for around a year now – the level serves as a testing ground for new ideas, blueprints and personal development and it’s been lots of fun to work on!

Recently I’ve been creating audio log entries for the level, so the player can find out a little bit of backstory about the labs and what goes on there, as well as letting me indulge in some fun blueprints. The idea evolved from a simple playback system to a fully functioning cassette player, and whilst I’d like to expand it further I feel it’s probably a little beyond the scope of this project at the moment. Here’s how it works…

Essentially you can click on items to interact when them in DATA labs – clicking on the cassette player once plays the tape, again pauses it, clicking again plays from where you left off. You can leave it running or turn it off at any time or let it play until the end. Once the tape has reached the end, it will automatically shut off. A final click lets you rewind the tape and the whole system starts again. A red LED illuminates whenever the cassette is in play mode.

Cassette Blueprint
The full blueprint for the cassette player.

A lot of the ideas here are not mind blowing of course, they seem pretty simple in fact..! However, not coming from a game design or programming background means I often find that even simple tasks take up a fair amount of my dwindling brain power, so it took a number of iterations to come up with the blueprint you see below.

cassette_recorder_part A

This basically sets a number of variables in motion so that the blueprint knows what to do when you click on it – namely whether it’s playing, paused, stopped (complete) or rewinding.

cassette_recorder_part B

The next stage handles the system for play / pause functionality, which turned out to be quite a frustrating process for me! At first, my system could only handle a few play / pause run-throughs before it got confused and either started from the beginning or stopped completely! As usual, a branch node came to the rescue with an attached ‘is playing’ variable and the rest is history. It’s worth noting I’m using FMOD audio events for this blueprint, and a useful tip is the ‘On Event Stopped’ node you can use in conjunction with them – here it handles the auto-stop function of the cassette recorder.

cassette_recorder_part C

The final section of the blueprint is the sweet, easy-icing on the cake and simply toggles the red ‘active’ LED on and off in accordance with play state. Phew!

I’ll be adding some actual recordings to all the players in the level soon, so people don’t have to listen to me repeating “THIS IS A TEST” over and over again.. but it does the job for now. Any suggestions for the system would of course be appreciated and I hope this has been a useful read for folks. If you’ve got a question let me know!

 

A big thank you to Warren Marshall for the excellent retro-models you can see in the level – check out his Twitter for more!

Advertisements

Digital Dark Age Launch Tomorrow!

I’ve been working on my degree major project ‘Digital Dark Age’ at Futureworks here in Manchester for 7 months, which isn’t really that long but it feels like an eternity! One thing I’m super happy with is how much I’ve learned and developed over that time. Even though some days it feels like I’m banging my head against a virtual brick wall with Unreal Engine, the problems I’ve encountered and (thankfully) solved have been an important part of this journey.

12.1.24 DDA Banner.gif

My initial goal was to create an immersive environment within which I could feature 5 original compositions that form a short concept album, this would be supported by a digital and physical format release via my Bandcamp page. I knew that I wanted something quite stylised for the whole project, and it turns out that the first person level I created in Unreal became a bit of an obsession! I spent a lot of time on the 5 songs for this project, and I felt that the level had to match that degree of authenticity and the aesthetic I was trying to portray… cue countless nights stuck trying to figure out (relatively simple) tasks in Unreal Engine, losing builds, breaking the mechanics of certain features, losing audio, getting audio back, running at 13fps, scripting Blueprints until 3am and trying to figure out what an earth I’d done wrong whilst drinking LOTS of coffee.

Engineering Corridor.png
The ‘engineering corridor’ was a fairly late addition to the levels design…

A lot of tasks took longer than they should have, but I was at the end of the day teaching myself techniques and methods I’d read about in the Unreal documentation and via Youtube tutorial videos (which are sometimes more trouble than they’re worth). I think it’s important to talk about the problems I encountered as it makes me feel a whole lot better knowing that I’ve solved 99% of them, and I want to say a big thank you to everyone that’s helped support the project (folks on floor 2 at Futureworks I’m talking to you!).

Wireframe 1.png
Latest wireframe overview of the level.

The project finally launches tomorrow at the Eagle Inn in Salford, which has a suitably small and dark venue.  It’s free entry and I’ll be around from 6pm onwards so feel free to come along for a pint and a natter. I’ll have 10 of the cassettes to sell and folks will be able to play on the level first hand. The night will be streamed live via Facebook (part of my assessed criteria) and maybe via Twitter as well. My next blog post will be after the launch and (if I’m still breathing) I’ll be reflecting on the event itself.

Thanks for reading folks and I’d love to hear your thoughts on the project.

Check out Digital Dark Age on Cartrdge here
Digital / Cassette Album on Bandcamp here

Building Site Sound Design

If you’ve ever lived next to a building site you will understand that it is not a particularly pleasant experience, especially when you’re trying to work. In Manchester at the moment there are lot of people excited about building sites, but I’m not one of them. It does however give the opportunity to do some sneaky field recording that offers plenty of scope for sound design and will definitely come in handy for any city / industrial environments you may well have to recreate.

WP_20170310_16_18_32_Rich.jpg
Fun to watch… but not fun to listen to 12 hours a day…

Yesterday I was busy working on a new composition, trying my best to articulate string sections amidst the sound of drilling and hammering when I decided to give up and make a coffee. I took my Zoom portable recorder (a H5 with the standard X/Y mics) onto the balcony to capture some of the noise taking place next door, whilst a few builders stared at me with curiosity.

WP_20170310_16_18_14_Rich.jpg
A mini windshield is a must for nearly all recording sessions with the Zoom!

Afterwards I spent some time working on mangling a few of the sounds up and creating some new assets that might come in handy for game audio projects in the future, a few of which can be heard below! (as well as a clip of the original audio).

As most audio folks will tell you… record everything as you never know what you can do with it!

 

 

Digital Dark Age Launch! 21st March

DDA-GIF-Banner2.gif

My third year degree major project ‘Digital Dark Age’ is due for launch on the 21st March, which is not that long away at all! I have roughly 1 month to finish all the interactive elements in the level and dub the cassettes / get the Bandcamp page ready for release and write everything up so I still have lots to do. All the finished mixes have now been sent off for mastering and most things are in place for the launch.
I’m really pleased with my progress so far, and I hope everyone will enjoy the level when I make it available to download. You’ll need a Windows PC (no MacOS build I’m afraid!) and I recommend you play on headphones to get the full effect. In the meantime – if anyone is interested in attending the launch event or would like more information on the project then let me know or give me a shout on Twitter! Check out the album preview below!

I’ll be writing a full summary and introduction to the project which will be available shortly, you can also check out the project HERE on Cartrdge.

DATA Labs -Distance Attenuation Testing

Hi folks! After a rather frustrating hard drive disaster back in December it’s been slow progress getting back into development of DATA labs but over the last couple of weeks I’ve been begrudgingly rebuilding the parts of the level that I lost and added some cool new features! One of these being a small public address speaker that’s been ‘hotwired’ to play some radio music in the rear office. Check it out below!

As well as the usual distance attenuation using overall level and a slight low pass filter, I’ve also included some reverb attenuation that boosts the verb the further you are away from the audio source, until you’re far enough away that the sound dies out completely. This is something I’ve started implementing on some of the ‘louder’ audio sources in the level, notably the petrol generator in the access corridor and the main public address system announcements.

FMOD: Footstep System For Unity

Recently I’ve been working on audio for a first person shooter created in Unity, the team are using FMOD for audio implementation and one of the first stages was setting up a useful material based footstep system. I’ve been through a few iterations so far, but have finally settled on a system that I’m happy with. The challenge was making the audio engine easily adaptable when new materials and objects were introduced in-game, which is of course really useful when you’re in the the early stages of development!

The first system can be seen in the screenshots below, showing the Object Footsteps event inside FMOD. Each track had a nested event which contained its associated object footstep sound, and the Object parameter control at the top, basically automated which one you’d hear depending on the surface the character stood on. (automation can be seen in fig 1.2).

Footstep System A1.PNG
fig. 1.1 – Object Footsteps Event with nested events for each object type.
Footstep System A2.PNG
fig.1.2 – Showing Object volume automation control over each surface type.

This system worked however my main concern was that every event would be playing simultaneously each time a footstep event cue was triggered in the game – this meant over 40 audio assets being run in real time for each step! Clearly… this was not the best solution (especially when you take multiplayer networking into account) so I adapted the system so that only one footstep event would play at a given moment, reducing the amount of audio being played back at once and optimising performance in the process. You can check out some of the sounds and how the object parameter value effects the event in the video below.

 

Fig 1.3 shows the logic behind the event, which is super simple! Unity will send a value between 0 and 8 for every step sound that is triggered. In this case ‘0’ is the generic default step, ‘1’ is asphalt and so on. Then each of the nested events (blue regions) are given a specific target range to work on (shown bottom right). For example the target range of the generic step is between 0 and 0.9, asphalt is 1 and 1.9 etc. Obviously this relies on your audio programmer or whoever is incharge of scripting inside Unity to send out the values so that FMOD can read them – but it’s fairly straightforward once you’ve got the system in place.

Footstep System B1.PNG
fig. 1.3 showing nested event paramters

The next step will be to add a ‘crouch’ parameter which will change the sound of each footstep event if the player is in the crouch position. Stay tuned!

Say No To The M60 – Noise Reduction Special

On Friday last week I went out to Clifton Country Park near Manchester for some field recording bits and bobs. It’s a lovely location, but despite it’s rural looks it’s within a few miles of the M60 and there is an audible bed of motorway noise pretty much everywhere. It’s a shame too, since it’s a great location for recording a variety of outdoor sounds and foley.

One of the things I was after on the day was some watery footstep / movement sounds. I’d tried recording some at home but my apartment’s concrete walls provided way too much reflection and I was having trouble getting the right sound so off to the woods I went! After a few hours on the day I came home and listened back to the recordings and was not surprised to hear the M60 (along with lots of wildlife) all over them, not ideal of course.

I’m always slightly dubious about noise reduction processing, but lately I’ve had some good results in Adobe Audition and thought it was worth trying it out on these. Listen to part of the original recording below.

 

 

As you can hear, there is a lot of noise on this clip and although it’s clear and offers a nice capture of the sound of the area, it wasn’t what I was looking for. Below you’ll see a screenshot of Audition in action, after capturing a short noise print from the file, I used the built in noise reduction processing to try and remove the sound of the M60. After a short while (mostly trial and error playing around with settings!) I was happy with the results.

Screen Shot 2016-11-29 at 13.25.04.png
Noise reduction processing in Adobe Audition

I’ve also been using SPLs ‘De-Verb’ plugin for some time now, mostly for processing of indoor sounds to remove reflections but thought it might be beneficial on these as well.

Screen Shot 2016-11-29 at 13.25.24.png
SPL’s De-Verb plugin

I dialled in a small amount of ‘reverb reduction’ and the resulting clip is below. You can hear that some artifacts are audible, and left over from the original, but I was surprised at how much I could remove using these tools.

 

 

I was pretty happy with the outcome, and since then I’ve been using this combination a lot more for processing foley, footsteps and outdoor sounds. If anyone has any more tips or suggestions I’d love to hear them.

DATA Labs – Game Audio Showreel

Hi folks!

So it’s taken me around a month to complete my game audio showreel level ‘DATA Labs’ and whilst it’s been a steep learning curve it has also been hugely enjoyable! I’d had experience using FMOD before but I’d never delved so deeply into Unreal’s Blueprints system until now, creating custom blueprints for audio events and getting to grips with how FMOD talks to Unreal.

You can watch the full showreel above, and listen to me babbling about how I created certain parts of the level. What I really wanted to get out of this project was a deeper understanding of production workflow and how to develop an audio engine within a game, in this sense it’s been very successful and I’m not only more confident in implementing audio, I also feel my knowledge of level design, asset management and optimisation has increased as part of this process. I will continue to use this level to develop my skills, and have further plans to extend the gameplay to include the research ‘facility’ in the basement so I can utilise more FMOD snapshots and music cues in particular.

I’d love any constructive feedback and comments you may have, and if you want to know more about a certain element of the level then please ask, I love discussing game audio and you can find me on Twitter or just drop me an email. You can watch the full level playthrough below.

DATA Lab Switch Interaction

Following on from my previous post on the creation of a new playable game audio demo level I’ve been working on audio implementation a lot over the last week or so. Today I was testing some light switch interaction for the level, utilising FMOD to run the audio it was simply made up of a bank of sounds linked to an interaction event in Unreal. I tried a few different sounds but in the end the actual ones I used were from my kitchen hob!