Creating Dynamic Music in Techtonica

Techtonica

Techtonica is a first-person factory automation game with a gripping mystery about mining your way out from the depths of an alien planet. Explore bioluminescent caves, mold destructible terrain, construct a massive subterranean factory. Dig your way toward answers & discover the secrets of Calyx.

Hey Groundbreakers! My name is Brandon (aka Cityfires) and I've been working as a dedicated (and the only) member of the Audio Team here at Fire Hose Games for several years! Today I wanted to just chat a little bit about my experience working on the music and sound for Techtonica! The goal for Techtonica's music was always to have a relaxed, ambient feel to the soundtrack when you were out exploring Calyx. But our game director Richard really was hoping we would have some way to distinguish the music when the player was in their factories. With too many assemblers and smelters in the area, the music would potentially not quite match the vibe of what's happening on screen. [img]{STEAM_CLAN_IMAGE}/42118931/1dd8b25f2a1f4fc6e0b43d1522bc94cf7a8b34ae.jpg[/img] Dynamic music is something a ton of games have, but our unique situation was deciding what it means to be "in your factory". So we tried several different ways to track this sort of information, and ultimately we landed on counting the number of "loud machines" near the player at any given time. We defined a "loud machine" as anything that was visually big and/or produced substantial noise. We then had each of these machines track if you were within their music activation range, and if the number was greater than the requirement, the music would swap! This ended up working very seamlessly, because it meant that the music could change as you enter and leave different areas in your game, it could suddenly swap when all your machines become active, or the music could "power down" along with your factory if you experienced sudden power issues. After we did some video tests to confirm that everything made sense and was worth doing, we had to work on building a prototype! Our game uses a very popular audio middleware called FMOD to handle audio events, so I worked for a while to build a system that worked entirely through FMOD and didn't really use any Unity code to trigger it. The results were...... "successful". It turns out you should use programmers to help you implement your advanced audio triggering, but for what we needed at the time for a prototype, it worked surprisingly well. Honestly it was a really wonderful experience in how to build an early concept, present it to your producer, then schedule programmer time to get it done correctly! [img]{STEAM_CLAN_IMAGE}/42118931/2139f288e9faabb5df372e871856f4737bcada29.jpg[/img] Once we finished getting that concept implemented, we took a lot of time to balance how far away machine audio would activate. It was really important to make sure you could hear everything from the correct distance, and we did a lot of manipulation to control how far away different parts of machines could be heard. We also added a reverb mix for all machines that could be heard between the cutoff points, so when you're standing in the distance you can hear the large cloud of machine audio all around you. Creating a functional dynamic audio system in a sandbox game had a lot of challenges, but I had a lot of fun figuring out all the right ways to control things! All the new music for 1.0, including the desert biome playlist and several narrative music tracks, will be available on [url=https://store.steampowered.com/app/2477520/Techtonica_Soundtrack/]Steam [/url]and [url=https://firehosegames.bandcamp.com/album/techtonica-original-soundtrack]Bandcamp [/url]when 1.0 launches on November 7th! And we’ll make sure it gets added to streaming platforms as soon as we can after launch. Thanks everyone for the support, and we hope you enjoy playing AND listening to the game when it launches next week!