Hello all! I made a new milestone on the progress of the game (Lair of the Insect God for those who don’t know) – so it’s time for a new blog post! This time I’m going to writing about the ins and outs of the new boss fight involving a alligator/bug/snail hybrid (as one does) and then I thought I might talk a bit about doing sound effects in video games.
As always SPOILERS ahead in the next section! So skip ahead to where I say “END OF SPOILERS” if you want to be surprised by this boss fight.
Gator-Aid
So at this point in the process I’m pretty much done with all the “major boss” fights as I’d consider them in the game. A major boss fight I’m classifying as something that either grants a upgrade/ability or progress the story somehow. Amongst these bigger boss fights I also wanted to work in a few smaller boss fights, for no other reason than to just change up fights and make the overall game experience feel more dynamic.
This boss fight solidly fights in this category – or if I may Gator-gory. I wanted this fight to be very basic with a simple gimmick and not much in terms of stages to the fight. My initial concept is a boss who you have to hit some kind of projectile at repeatedly in order to break its shell, which then leaves it open for normal attacks. This effectively is the same basic concept as the bat boss fight I previously wrote about – but instead of having to crack the spinning orbs you smash a shell with a rock.
Coming up with the boss concept itself was interesting. For this one I went with all unsplash images of various animals and insects. My idea was to make some kind of a beast which looked like a hybrid between a reptile and an insect. Ultimately what I did was combine an alligator, a snail, a komodo dragon, a butterfly and a frog to come up with the beast. As is usual with these type of enemies I make, the process mostly just consisted of cutting up the various pictures and collage-ing them together in Photoshop and then exporting the various parts of the monster into After Effects where I animated everything.
Doing these type of animations is always a lot of fun for me, as the images you are able to find are never exactly what you want so it forces you to get creative and to “make it work” as Tim Gunn would say. You also don’t have to fuss around with green screening the actors and making sure their animations loops sync up like you do when doing the normal digitized sprites from live action film footage as I spoke about previously.
After making the boss I made the “projectiles” that the player will be able to launch at the boss – specifically spiked rocky balls which the beast calls down from the sky. When the balls first land they can do damage to the player if they’re standing in the wrong position.
Once the balls have landed, the player can then launch the projectiles at the boss by doing “launch” hits – which are certain strikes within the various combos that launch enemies and move-able projectiles. To make sure the fight wasn’t too easy, I made the projectile launch up into the air when first hit – meaning that the player has to judge the arc of the projectile and the distance to the enemy when the projectile is launched or else it will go over the boss’s head. So you have to make sure you and the boss are in the correct position from each other in order to land a hit.
While all this is happening the boss is launching a flame projectile at the player and will also occasionally quickly run up and do a bite attack. Once enough projectiles have hit the boss, its shell will shatter and the player can then run up and do normal hits until it dies.
Overall – I think it’s a pretty straight forward fun little boss fight that will do a good job of breaking up the game play when placed at a certain point in the gameplay.
END SPOILERS
Sound Effects and Video Games
Before I got into video games or even doing movies, my entertainment life began in radio dramas. I used to run a podcast for a few years called Sci-Fi Radio Theater (still available on iTunes and Spotify). You’d think from that experience I would be a pro-sound person who loves doing sound effects. I am neither of those things.
To be completely honest I find the process of doing sound effects to be incredibly tedious and I’m also not super great at it. That being stated I’m capable enough with it at this point to make something… passable. The process of sound is really something you have to be very passionate about to get into it, because it is TEDIOUS. Basically listening to the same sound effect of a foot step over and over an over again while trying to match it to an animation – stuff like that. Ugh.
Regardless, sound is obviously important and one thing I can say I’m thankful for is how easy Godot makes utilizing and implementing sound effects into games.
The real difficult tedious stuff to be honest is trying to navigate the various DAWs (Digital Audio Workstation) prior to getting the actual sound effect into the game engine. I’m very comfortable with film editing software (like premiere and after effects) and I initially thought that doing sound editing would be a similar setup. It is very not. A lot of the more advanced DAWs operate on a whole different logic and technology which I often have a difficult time working my head around. Luckily for me I’m mostly just using them for simple stuff. When I hear complex professionally produced music however, it just seems like magic to me that a sound engineer could have enough knowledge and know-how in their minds to be able to pull something like that off.
In the end though I do get through it. The two main DAWs I use are Cakewalk (formally SONAR) and good ole’ open source Audacity. A lot of people ask me what the process of making sound effects for video games is like and so far for me it’s been relatively straight forward. I either create the sound effect myself using various microphones or recorders I have (even sometimes just using my iPhone) – and this mostly consists of me grunting into a microphone or banging pots and pans around the house – or I’ll grab an appropriate Creative Commons 0 licensed sound effect from someplace like FreeSound.
From there, the sound effect goes into the DAW and I’ll cut it down to what I need for the specific animation and then possibly add some kind of effect to it depending on what I need.
I’ll then save the file as an .ogg file (smaller sized and good for use in games) and then upload it into the engine. .Ogg files are usually saved as loops, so I’ll have to go into the engine and re-import it as a non-looped file (depending on the sound effect) and then I’ll set each sound effect for each scene as an individual node using either an audiostream node or an audiostream2D node. The audiostream2D node creates a “distancing” effect, so that the sound effect gets quieter or louder depending how close the player is to the scene generating the sounds effect. Normal audiostream nodes play the sound effect at a consistent volume no matter where the player is standing.
Inside Godot you are also able to add certain slight effects to the audio files as well – specifically the volume of the clip and the pitch of the clip. I usually will adjust both of these things in engine rather than the DAW.
Once all of that has been set, then it’s just coding how the triggers for the sounds work where appropriate. The way I usually deal with sound effects is I’ll actually map them to the specific animations in the animationplayer node. This doesn’t always work and sometimes I’ll need to actually code it out by hand in the script file – but that’s not very often.
And there we are! You learned something today about the gator-bug boss fight and doing sound.
I’m working right now on another smaller boss fight and will be writing a blog post about that when it’s completed. In the meantime you can check out video clips of this boss fight on social media pages linked in the footer.
Thanks guys!
-Charles