I’m working on the SFX and music. For this project I’ve planned ahead by choosing a key for the entire game (A minor pentatonic), so I can deliberately make each sound either harmonious or discordant.
I started by making the bees each hum a tune while they are flooding the board with their colour. The tunes combine to form different rhythms and harmonies during the game because the bees start and stop flooding at different times. It sounds somewhat like Terry Riley’s “In C”. So much so that I’m going to explore the effect further, add more tunes, and tweak how the bees change the tune they hum.
Hmmm… I should have realised this from the start, but writing procedural music involves twice as much work… writing music, and writing algorithms for generating music.
The procedural music system now comes up with quite catchy tunes. Each play through starts with the same phrase, but soon forms its own rhythms created by the interplay of the phrases playing on each channels and whether the variations of the main riff are played as treble or shifted to the bass. #pico8 #gamedev #chiptunes #music
Another play through from the same algorithm (because I cannot attach two audio files to the same mastodon post).
During gameplay, the choice of
musical phrases for each channel is affected by the actions of a player, and the collisions between the players, adding more variation to the music. The more conflict, the more the music becomes staccato and atonal.
It turns out to be quite tricky to synchronise #pico8’s update/draw loop with its audio sequencer and mixer. After quite a bit of experimentation I’ve found a method for controlling procedural music that doesn’t drift unpleasantly out of sync with the audio.
I’ve found some unexpected (and undocumented) behaviour of #pico8’s sfx and stat APIs. I hope I’m not relying on a bug that will be fixed in the future and break my code.
Now I need to write audio loops that the algorithm combines into interesting tunes (and not just interesting for fans of Stockhausen and early ‘70s German rock).
90% of the game done. Only the last 90% left to do (juicy title screens, option menus, & instructions).
@picoretro You're doing it backwards, that should be the first 90%! Right? Right???? 😅
@picoretro Naaah, you first juice up your menus for quick dopamine boosts and then leave the core game eternally unfinished, moving onto something else. That's the way! 😂