In the previous post, I said at the end that I wanted to add sounds for each of the PowerUps when they are used. This would mean that when a player used a powerup, such as the heal powerup, some sound would play so that the player who used the powerup and any other nearby players (opponents or teammates) would know that a powerup was used, and what powerup was used, based on the sounds.
To do this, I decided to make a bunch of random 8-bit type sounds. To make the sounds I used LeshyLabs sfMaker.
To make the sounds, I would just click on “PowerUp” or some other option until I found a sound that I thought was cool. I would then use the “Mutate” option to change it a bit and see what it sounded like, and would just randomly click on the options to change the sound. I don’t know what the options are actually doing since I know nothing about sound and sound design, so I was just blindly creating hundreds of sounds until I got something I liked.
The end result can be seen in the video below. When a powerup is used, a sound specific to that powerup is played on any client that is controlling a player nearby where the sound is coming from, which is each goblin with the powerup particle effect.
I’m not 100% sure what the licensing is for sounds made from LeshyLabs is. Their website seems unclear to me, as any legal/licensing stuff references the software used to make the sound (as far as I can tell at least). I found LeshyLabs from some random gamedev youtuber who mentioned using it and other similar tools for games they publish on iOS/mobile, so hopefully that means it’s legal to use? Probably not. Hopefully I don’t get sued!
The powerups that have the new sounds are:
Other powerups, like the drop/throw item powerups (banana, bottle) don’t have a sound unless a player is hit by them. I do want to add sounds for the drop/throw action as well, though.
New Random Events
Before, the only “random events” I had in GRF was the one “bottle throwing” event where bottles are thrown from off screen at the field, creating a patch of broken glass that trips a goblin if they run into it. I decided to make two new events:
- “Split Ground” where a crack opens in the ground and zombie arms reach out to trip goblins that run into it
- “Streaker” event where a “naked” goblin(s) runs across the field and will trip goblins if they don’t dodge them
First, for the split ground event, I created the animation for the ground splitting open (the gif doesn’t loop btw):
You can see it in action in the below video:
There’s also a “snarling” sound effect for the zombies that I made using sounds from the GameAudioGDC sound archive on Sonniss.
For the streaker event, I first created the new “naked” goblin. I wanted them to either face straight toward the camera or away from the camera. I drew them using Slynyrd’s “top down character sprites” tutorial.
The same blog also showed the frames for animating the top down sprite running. Below is the “running toward the camera” animation.
It looks… Good Enough! For me at least. The below video shows the “Event” happening:
You can see that 3 different streakers are spawned, and they kind of “stagger” a little for when they start running. They also are running at slightly different speeds, but that is harder to tell in the above clip. When they run into any goblin, they trip that goblin.
That video was recorded from the “client” game instance and you can the streakers clip into their starting positions from a random different position. I’m not 100% sure what causes this, but it appears to be a Mirror thing where I spawn the objects in a position and then move them to a new position. I’ve seen it happen before. It looks bad and there is probably a way to fix it, but I haven’t looked into to much yet. I imagine just doing something like setting the start position earlier would help but idk.
I mentioned a few more sounds I’d like to add for dropped powerups, but beside that I think I am set for “content” at the moment. The next thing I really want to do is work on NPC AI that would eventually allow for a person to play singleplayer against the CPU. That will probably be a lot of work, but it should be “fun” and a “learning experience” aka weeks or months or maybe even years of frustration at not getting it to work quite right. Good luck to me on that!
Smell ya later nerds…