so imagine you're making a gameboy rhythm game. the gameboy only has 4 sound channels and you kinda want to be using all of those for your song most of the time. but, people like hitsounds. its adds some tactility to the game which can be nice if you're into that. what're our options?
noise channel
the noise channel seems like a pretty good option. make a configurable oneshot noise you can play for the hitsound. because you're sequencing the rhythm game in time with the music, you can maybe also do things like
- dont include noise sounds in the actual song data that overlap with a hit object
- which basically means dont include the noise channel at all on hard difficulties i guess
- potentially, include data for the noise sounds, but play them in response to player input. the sound that plays is whatever is in range to the hit object, falling back to the player's configured hitsound if theres no nearby ones. so the player is the percussion section
- just play both and let them fight lmao
channel toggle clicks
you can generate click sounds on the gameboy by changing a channel's outputs from on to off, or off to on. It's a pretty subtle sound if you already have a lot of percussion going but its more obvious during sections of less rhythm, which is maybe good in this case because imo hitsounds matter most to gamefeel during sections without a lot of existing rhythmic elements to reinforce the player's connection to the underlying song rhythm.
I tend to use L/R pans a lot on the pulse channels, but i could definitely toggle the noise channel off/on quickly and maybe also the wave channel (but that one would probably interfere with a lot more)
let the player play the melody
the idea here is that instead of the hitsounds being rhythmic, they're melodic. sequence your song but dont play the melody. instead, whenever the player hits a button, play a note based on where in the melody the song should be. this can be really fun if you're really good at keeping time with a song but has kinda strange gamefeel if you aren't
add-in cartridge hardware
Im not sure how well known this is, but gameboy cartridges could actually provide their own audio hardware similar to how NES cartridges could! you basically get a fifth channel this way. So if i were to make my own cartridge, I could provide hitsounds with hardware on it. Im not sure if everdrive emulates any add-in audio hardware though, so this might only work if i actually made my own cartridge and sold it
the easy way out: Super GameBoy
most people playing a gameboy rhythm game won't be using gameboy hardware, they'll be using an emulator. We live in current year and emulators implement SGB. SGB was a hardware device that let you play gameboy games on a SNES. What fewer people know is it let the gameboy game access the SNES's sound hardware.
So, I believe we can use the SNES hardware to play hitsounds, without having to worry about it interacting with our song playback at all! I know Sameboy implements this, im not sure what else. I would probably distribute a game like this alongside a copy of an emulator pre-configured to play the game as best as possible, which also means that hacking in enough SGB compatibility to make the game's hitsounds work is a quite reasonable task to make it work on an emulator that doesnt already support SGB (like i think gameyob doesn't do this on DS).
