Repository navigation
Longer Overview
The Bard Audio Engine is a powerful layer of logic and interface that works with GameMaker Studio 2 to give you greater creative control of the audio in your games. If you are familiar with audio engines like FMod or Wwise, this is kind of like those, but built directly into your project codebase. It’s made out of Game Maker scripts, objects and rooms.
There are two main parts to this thing.
First, the Audio Editor. This is a visual editor for audio logic. It exists as a “room” in your Game Maker project. When you run your game and visit that “room,” it will let you browse the audio in your Game Maker project and create logic for them. For example, you could have sounds play at a randomized pitch, or play a random sound from a list, or smoothly blend between two layers of a song… stuff that sounds do in games. It also gives you a wealth of tools for mixing: attaching sounds to different “busses,” and controlling the relative volume of sounds to create a balanced audioscape. This was made in conjunction with Em Halberstadt, who did the audio design in Wandersong and Chicory: A Colorful Tale, and is basically designed for a sound designer to implement their audio as they would in an engine like Fmod or Wwise.
Then, there’s the Audio “Engine” itself. At its base level, this does not add any new functions to Game Maker’s audio engine. It simply uses the existing audio functions in nuanced ways, and adds a layer of logic and tracking to let you do complex behaviors with little effort. You can use our extended “container” functions to play audio that uses the fancy logic you defined in the audio editor, and it will update in real-time based on changing parameters, etc. It also handles 3D spatial positioning for audio, tracks BPM and timing events, and has functions to load in groups of audio to help you manage your memory in larger projects. It’s fairly well optimized, manages its own memory, and comes with robust debug tools so you can see what’s happening in your sound.
This code was written and iterated on for about 5 years while making Wandersong and Chicory, and then was recently ported to work with GameMaker Studio 2.3.
The “Editor” portion was only ever tested on PC, but once you’ve defined logic for your game, it will ship and run on all sorts of computers and consoles.