(Sic) Sound Bored
Yesterday I was greeted in my email box with gifts, fabulous gifts! Our intrepid Composer has clearly been hard at work, I mean, check out all the new orange color in the Music section of the Big List over yonder =>. It’s so colorful now. So right off the bat, the first 4 chapters and boss battles have music finished, in addition to musical cues for victory, death and Main Title musics. I’ve also a couple more living inside my laptop for story sequences that feature specific character themes.
I may post them, or link to them at the discretion of The Composer. Unlike art or any of the dumb code I post, the music could be used for other things without permission. So we’ll see. you may just have to wait.
In any event this means that I, as promised, get to go back in and add the pieces lovingly to the overall framework. It’s like I’m putting down ceramic tiles on a concrete tower. Then I ran into issues. You see, I hate the sound code in Blitz Basic. It gives me enough rage to transform into Hulk because it is implemented both poorly, and unlike the rest of the damn language. Sound channels are opened, closed, looped and gods know what else.
The biggest, stupidest issue has to do with the music wanting to overdub itself. Say you start playing a game and select a stage, the music comes on and sounds great. Now let’s say you exit back to the main screen, the original music will continue to play plus the music for the main screen. For the occasional giggle, let’s then say that you select a different stage, the music for that stage will begin playing over the music from the first stage you picked and the music from the main screen.
To try to fix it, I first tried to make sure that the my code was correct, which it seemed to be. I mean, it worked fine when I was playing midi files, but fell down with the far superior mp3 format. I then rewrote the entire function to consider the mp3s to be sounds instead of music. The difference is that sounds can be manipulated to a greater extent, but are loaded into memory instead of fetched from someplace on the drive. So I did that and I still got the same problem – overdub.
Oh, and the fact that the game kept opening mp3 files and thinking about them made the game slow down and play like ass. We mustn’t forget that.
So I got to thinking that the music function wasn’t getting the correct inputs, or it was being called incorrectly or something. So I hunted down all the calls and tried tweaking and modifying each one, to no further effect.
There’s no moral to this story really. The code is still uncooperative and still wants to play way too much music at me. The stupid thing is, there is a lot of music and sound stuff that has to work right, and be robust enough to support additional shenanigans. The next stage, The Cliffs, a crazy scripted and need dynamic musical cues. That means that I need to be able to call changes to the background music from a script, which of course means that the background music needs to work right first.
I’ll venture forth into that breach again later tonight.
-Before you post (ha, like anybody posts) yes, I know that I used the wrong “Board” in the title. I also know that, generally, an Editor would add the (sic) after a spoken misuse of a word, not two words previous. When these kinds of things happen, just consider the fact that I write pretty much for a living, so it’s pretty much always intentional.
Or I didn’t proofread. May be that too.