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

Doing My Best (to boogie) – FMOD / Unreal

I realise it’s been some time since I posted here (two months truth be told!) however I’ve been keeping busy working on a couple of freelance contracts. This doesn’t mean that I’ve neglected my portfolio projects (Lake Lodge / DATA Labs / Digital Dark Age) and I’ve spent some time researching and developing my knowledge of blueprints to aid in their development in my spare time.

In particular I’ve been looking into creating custom occlusion blueprints for FMOD (which I’ll get into more depth about at a later date) and some of the ways in which FMOD integrates with Unreal in a musically interesting fashion!

As you can see the text and ‘coloured blobs’ are timed to the music, or more accurately the tempo and time signature of the attached audio event in FMOD. This can be useful for a whole range of things (rhythm games in particular) although I plan on using this feature in my DATA Labs level to add some extra interest in the basement labs.

Boogie A.PNG
Once you’ve got the tempo / time signature info from FMOD its possible to trigger lots of different actions in Unreal. This is the blueprint for my ‘boogie demo’ above.

As you can see below the FMOD component has it’s own ‘On Timeline Beat’ event which automatically outputs information about tempo, beats, bars etc and can be used to trigger anything you like really! As my boogie loop is in 4/4 I’ve used the beat output and a switch with beats 1 – 4 to toggle visibility of the coloured blobs and boogie text render.

Boogie B.PNG
The ‘On Timeline Beat’ event outputs a range of useful data.

Another useful function I’ve been playing about with lately is the ‘On Event Stopped’ event that can be called from any FMOD audio component.  The screenshot below is taken from my DATA Labs level where I’m using it to turn off a cassette player once the recording on the tape has reached it’s end. (I’ll be posting about this soon as well!)

Cassette Stop.PNG

This is really only just scratching the surface of what you can achieve when combining the functionality of FMOD and Unreal in blueprints, but I hope it highlights a couple of ideas and provides some inspiration for your own projects. If you’ve got any questions etc please feel free to drop me a message over on Twitter.

Cartrdge Portfolio Update

Posts have slowed a little on here recently as I’ve been working on a number of freelance projects, however I have recently updated my Cartrdge page to include my latest portfolio work. If you’ve not heard of Cartrdge before I’d suggest having a nosey at some of the developers, artists etc that are currently using the platform as there are some hugely talented folks indeed. You can find my page HERE including updates for Lake Lodge & DATA Labs.

Screen Shot 2017-05-25 at 22.08.14.png

Digital Dark Age: What now?

Two weeks ago I launched my third year major project ‘Digital Dark Age’ – a playable concept album created in Unreal Engine. Since then I’ve been working to compile all the aspects of the projects production into an archive for the submission deadline on the 21st April but I wanted to write a quick post to outline a few thoughts from the launch event and some points for development in the future.

Launch Event A.jpg
Setting up for the launch at the Eagle Inn

Firstly, I had underestimated just how much work was necessary to complete everything I had in mind, but conversely I ended up creating more content than I had initially planned! My original proposal and concept for the level seemed ambitious but achievable, and this has remained true throughout the projects duration however there were many aspects of DDA’s production that I spent a lot longer on than intended. This included:

– Graphics / Artwork design and production (flyers, posters, in-game artwork, logos and MORE!)

– Animations and GIFs (in-game footage, logo and text animations)

– Social media promotion – I thought it would be good experience trying to promote a project like this as I plan to develop the idea (and similar projects) in the future.

– Level design and mechanics (lighting, props, POSTERS, models, environment etc)

Launch Event F.jpg
A fellow Futureworks student testing out Digital Dark Age. The fire extinguishers were thankfully not necessary.

The amount of content I had created didn’t really hit home until I started going through all the project’s folders but hopefully it will form a comprehensive archive that really showcases the work I’ve put into Digital Dark Age. So what now? The day after the launch event I was quite useless, tired and just needed a bit of a break mentally from the project but I’m very pleased with how it went. A number of folks came and tried the level and I got some fantastic feedback from people which has definitely inspired me to continue development of the level in the future.

After I’ve got my assignment all finished and handed in I’m going to focus on a few aspects of the level I know I want to develop:

– Optimising the level so it plays on less powerful computers
– Adding more interactive props at each point in the level
– Work on the overall audio mix and output volume
– Including additional vox-pops and audio commentary
– Adding main menu options for controlling graphics / audio settings
– Fixing a number of small bugs in the level’s mechanics

I feel that there is significant scope for Digital Dark Age, both as a learning project for me and an interactive learning environment focussing on the issues of digital preservation, sustainability and our digital heritage. I’d like to thank everyone that came down to the launch event and that’s offered feedback and thoughts after playing the level, both in person and online. I’ll be posting a final project overview style blog post close to my deadline in a couple of weeks. In the meantime feel free to download Digital Dark Age v.1.0 HERE (Windows only at the moment I’m afraid!) and have a listen to the soundtrack.

Thanks for reading!

 

Massive Galaxy – Soundtrack

Hi folks! A welcome break from ‘Digital Dark Age’ I’m sure for any readers of this blog – moving onto a project I’ve been working on for some time with Massive Galaxy studios, based in Portugal.  I’ve composed a number of pieces of music for the game, including the title theme which you’ll be able to hear in the forthcoming trailer. For now, here’s a selection of some music from the various scenes and levels in-game.

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

Digital Dark Age- EP digital / cassette pre-order!

Hi folks!

As mentioned in my previous post my interactive concept album / EP will be available to download and play on March 21st – however cassette / digital pre-orders are open now! Any support would be greatly appreciated so please share this with a friend, family member or even an intrigued pet!

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.

Digital Dark Age: Progress Update

I’ve been working on ‘Digital Dark Age’ now for around 3 months – and during that time I’ve been really happy with the progress I’ve made. It’s an ambitious project, but one that has already had a significant impact on my knowledge of interactive audio and game development. My demo level ‘DATA Labs’ was great practice for this project, having developed many of the blueprint scripts and working out a few bugs previously made the level design of DDA a lot easier, however I have run into a number of issues over the course of its development though thankfully nearly all of these have been addressed!

HighresScreenshot00000.png
A screenshot of the first part of Digital Dark Age – showing trigger boxes, post processing volumes and a number of actors for music cues, lighting and text trigger blueprints.

If you’ve not read any of my previous posts on the project, in brief its an interactive concept album in first-person style. As you play through the level you’re introduced to the theme of the Digital Dark Age, find out a little more about it and listen to 5 original compositions that I have created specifically for the level. Not only that, but depending on the speed you play through the level and how you move about, the music will change and adapt creating a much more interesting score than a typical linear piece of music – essentially it’s ‘adaptive music’ or ‘dynamic music’ or ‘interactive music’ (which ever term you feel more comfortable with as there seem to be a number of definitions for each!)

EndFlyThrough.gif
A little teaser of the end of the level!

Some of the main problems I’ve encountered so far have been the multitude of trigger cues for each of the pieces of music. I’m using Unreal Blueprints and FMOD parameters to control how music is triggered and manipulated in the game (see screenshot below) and this has been a bit of trial and error to make it work smoothly. I had some major issues with box collisions but thankfully these have been sorted out and it’s all working as it should!

Fabrication Music Mix Blueprint.PNG
Screenshot showing the blueprint for the song ‘Fabrication’ (area 3 in-game) and the associated triggers and scripting for adaptive mixing.

I’ve had a lot of fun designed the graphics for each of the songs, and these are represented as computer terminals in-game that sit at each of the different parts of the level (one for every song). I hope to expand on these a little more to include more interactivity before my assignment deadline in March!

BraveNewWorldTerminal.gif
One of the ‘terminals’ showing the ‘Brave New World’ animated graphic. To Do!

I’ve created an incomplete to-do list below of things that I’m planning on finishing, and hoping to implement in the next few weeks.

  • Player interaction blueprint to bring up further information at each terminal
  • Smoother transitions between musical cues to allow for a more ‘seamless’ experience.
  • Development of character footstep sounds and environment ambience.
  • Improved look and feel of lighting (HELP!) Flickering lights here and there.
  • Development of headbob blueprint and character movement input.
  • Some kind of ending…. possible with the player being teleported back to the start of the level (mostly for showcasing purposes at launch event).
  • Post processing adjustment to better suit the feel of the music.
  • AND MORE.

Stay tuned.