Taking Game Audio to New Heights
(Warning: Celeste spoilers are in this post)
One of the reasons I found myself playing through all of Celeste this year was because of its killer sound design. It had a cohesive soundtrack with and a motif that got stuck in my head as I (un)gracefully air-dashed through the game. But the genius of this game’s music/sfx goes a little deeper than listeners may notice the first time through. They utilize dynamically-filtered audio. This concept is quite new to me, so I spent a good chunk of LD42 exploring this technology to implement it in our game.
Before we go into any details, let’s use an example to explain what I mean by dynamically-filtered audio. Watch the YouTube video below and listen to the music effect that happens when the player collides with the other character. This effect can be heard many times as the player chases the other character during this chapter.
There is a pixelated VHS-esque visual effect to match the sound as well.
This is a seriously cool effect on the game and adds to why everything feels so…. epic!
So what did Celeste use to create these dynamic audio effects in their game?
FMOD! This isn’t the only technology in the “audio middleware” space, but it is the one we will talk about today. Pulling off effects like this without using a tool like FMOD often results in heavy limitations on implementation (I have been there). The effect takes sound that is playing in the game and applies filters/effects to it based on the state of the game. The modification happens live as the user experiences the world. This power should not be taken likely as it opens up game developers to a world of posibilities.
Let’s look at an example of me recreating this effect. It isn’t perfect, but it is close! What seems to be happening is as the player comes in contact with the enemy character in the game, a trigger is activated (we will call it “Hit”) that will slide the pitch of the entire track way down and back up again over a small time interval. This clip shows me triggering the “Hit” with my mouse, but this would be done with game code eventually.
Celeste’s actual implementation of this effect is a little more complicated, but this is a great place to start while learning FMOD.
So in what ways did we implement FMOD in our game? We first started with position-based audio as the player nears the space crystal. This is something that can be done without tools like FMOD, but it was a good first step and was quite easy:
FMOD is used again later to a greater effect as the player nears the end of their journey by applying a lowpass filter to the main section of the music (simulating an “under water” effect) while also bringing up the volume of a soft breathing layer that was previously muted from the same track:
There were other ways we used FMOD for this game jam, but this is already a pretty long post! I hope seeing FMOD in action blew your mind like it did for me! We only scratched the surface of FMOD’s capabilities.
Files
Get Eventful Horizon
Eventful Horizon
Platformer without running or jumping
Status | Prototype |
Authors | bitDecay Games, Kenoshen |
Genre | Platformer |
Tags | Experimental, Ludum Dare 42, Space |
Leave a comment
Log in with itch.io to leave a comment.