DevLog: "Hey, maybe we shouldn't use FMOD", Audio Manager Script & New Tuning Mechanic

Introduction

So, alot’s happened this week on our project since my last devlog, so let me detail some of them.

Quick side note: I think after roughly 4 months we settled on a name we don’t hate and might actually stick with this time. First there was Festivale Dumont (In french Accent) - of which we didn’t hate also, but with the consistent iterations the game took, it became more and more not fitting to the product, so we called it ‘The Right Angler‘ and now, ‘Riffs On The Reef’.

Goodbye FMOD

Something we’ve had in the back of our minds coming out of the prototype, all during the break and then the start of this trimester - is to cut FMOD from the project, burn it with fire and pretend it never existed…

FMOD over the course of this projects development has been like walking around with a loose lego piece in one of our shoes, and being to stubborn to take it out. Its been the cause of countless bugs that once fixing would arise another until they stopped coming, only for more to be waiting right around the corner. It has given us soo much unnecessary stress over the course of the project and it’s time it stopped (I’m certain if you scrolled though the commit messages of the prototype at-least 40% of them are cries for help from trying to wrangle with FMOD).

We gave FMOD one last shot to be implemented without issue and stress. Although, as expected, it did the opposite. And so I removed every trace of it’s existence from the project and and instantly felt a weight of my shoulders.

Although this means I’m going to have to step up and make implementing music, SFX, etc, without issue into unity (more programming for me to do, yay).

Accurate representation of what I did to FMOD this week :)

Accurate representation of what I did to FMOD this week :)

An Audio Manager Script that adequately replaces FMOD (I hope)

We have two amazing Audio Engineers on our project (shout outs Brea and Yasmin <3), so I have to make an audio manager that serves their hard work justice.

I gave myself some time to think of features that we need it to do. And then, I made the dame thing, it’s been awhile since I made an audio manager because I’ve used FMOD for the past 4ish projects, relatively with ease (unlike this project of course). So I need to make one that’s a good replacement to FMOD for what we want to do.

In this Audio manager, I added the following features and I hope it’s enough:

  • Plays audio;

  • Pauses audio;

  • Un-pauses audio;

  • Stops audio;

  • Fades audio In & out;

  • lowers audio volume for a set duration.

These are all functions that are easily callable and upon implementation, I was terrified it wasn’t going to be enough for what our audio engineers need to do and we’d have to resort back to FMOD or try and tackle WWise.

BUT, after anxiously waiting in the other room while my designer teammate QAs it and tries to get it to do what we want it to do… It works! it works beautifully and without issue (unlike FMOD)…

Lock Picking Music?!?

In hindsight of what our new iteration for this project was going to be this trimester. It would have been more a movie, there wasn’t going to be much for the player to do other than walk up to object, click a button and music plays.

So after some consultation with the facilitators of this project they had the amazing idea that floored me and got me very existed to implement it.

This new mechanic, of which I’m temporally calling it the tuning mechanic, is where you walk up to an object, press a face button on the GamePad (controller) and begin moving a joystick around to find a specified point, of-which you’re guided by controller rumble that ramps up as you find these points (think lock-picking in Skyrim or the chisel interaction in the latest God of War). Finding these points will play a note (a drum hit or a guitar pick) and once they’re all complete, it adds those notes to the background track. So, as you progress through the game you’re adding layers to the background track and making it sound awesome.

With this new feature hashed out in our minds I quickly got to prototyping the idea and then making tools.

I made a custom editor window for quick n’ easy changing and applying to one or multiple “Tuning stations“ and also a re-orderable array so you can quickly change which points the player has to go to before others.

Conclusion

This week was a big fella and i’m very sure there’s more of them to come. But, I learnt a bunch and it wasn’t a dull on, which is all I ask for in projects.