Shadoninja

LD 42

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 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.

Celeste Audio Effect

There is a pixelated VHS-esque visual effect to match the sound as well.

hit.gif

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 Logo Black - White Background.png

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 lightly 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 pitch shifting with FMOD

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:

2018-08-18 09em31/em59-Eventful Horizon.png

Proximity volume control with FMOD

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:

Lowpass filter and layer volume

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.

Thanks for reading and I hope this inspired you to check out these effects live in our game: Eventful Horizon

LD 43

Sound Effects - Don't Fear the Synthesizer

Sound design is perhaps the most underappreciated aspect of video games. Is that an overstatement? Possibly, but let's talk a little bit about it. Sound effects are rarely ever the focal point of a game. When they are bad, it is painful and people do notice. But when they are good, players usually don't even think about it because the in-game actions and sounds are working together to be convincing. I know I am not a great sound designer yet, but I am doing my best to learn and grow, so hopefully there is something in this blog post that is useful for everyone.

Our game, Roustabout, uses about 31 sound effects in total. Finding, creating, and mixing these sound effects took a lot of time and care. Most of the sound effects in this game started as raw sounds from online libraries, but sometimes it made more sense to create them from scratch using virtual instruments or synthesizers. I want to go over some of our virtual/synthesized sound effects today (made with FLStudio).

These sound effects are: - Clicking menu buttons - Rotating the game's puzzle pieces - A generic "this thing is now ruined" sound for when game pieces get infected by rats - Musical chords for animations in the post-game score screen

Menu Buttons

Buttons tend to feel best when they give you a bit of a "let's go!" feeling, so this time, I gave the menu button sound effect a pretty high starting note, then quickly jumped up from there and gave it some delay (an echoing effect). The pitch might be a little too shirll, but it still sounds pretty cool to me:

(The play button is at the top left of the linked page!)

Sound Effect: Menu Select

Rotating Cargo

Getting a good puzzle-piece-rotation sound to fit the game was a lot of trial and error. I ended up using a noise channel (think Atari sound effects from the 80's) and scaled the sound 2 full octives during the short audio clip. This sweeping motion felt like a decent fit. Clockwise got a sweep-up sound and counter clockwise got a sweep-down sound:

rotate.gif

Sound Effect: Rotate Piece Clockwise

Sound Effect: Rotate Piece Counterclockwise

Infected Cargo

In, Roustabout, when a rat touches its target, the cargo is ruined and you must toss it overboard. The goal of my sound here was to clearly let the player know that the item is now "bad". Slowly sliding a note down achieved this effect pretty easily:

infect.gif

Sound Effect: Cargo Infected

Score Screen Chords

After each level, the player can get a rating of 1-3 stars based on how much cargo made it on the ship. They also can get a special stamp if they kept the bonus cargo aboard too. Our score screen creator made a cool animation of the player's star count and bonus stamp tallying up on screen. There was some obvious room for cool sound effects here, so I put together some chords that built up to a perfect score. The player only hears the biggest chord when they achive the perfect level score (and they get a drum too!):

ezgif-5-9fbde01390b4.gif

Sound Effect: Perfect Score Tally

Closing Notes

Once the sound effects are created, there is still more work to do. Getting each sound effect to play at the right volume in-game is another important battle that takes time and effort. This becomes especially challenging when the music is playing alongside the sounds in the final game. To tweak and tune this delicate balance, I use FMOD Studio! It is a very dense audio integration that takes some time to learn, but I won't make a single game without it. It is that good.

Thanks for reading! I hope you found this interesting. If you want to hear the full game's sound effects and also hear them alongside the main theme song (written/composed by me!), go play Roustabout!