I’m going to be completely honest… I have no idea where to start this blog today. It has been such a busy day and I feel like my most productive day yet. I can barely remember all that I accomplished today, but the game is looking really good! Today, I started off by focusing on getting my boss finished. I believe I had the Boss beam, attack animations, and the death animations to complete. Also, a big shout out to Ryan for helping me to clean up my Boss beam animation.
After, finishing my Boss features and functions, it was time to start the Wave Manager. I have been putting this off for a while now, but after writing out a diagram of how I wanted to attack the challenge, it was a pretty smooth and painless process.
I’m not sure how anyone else tackled the wave manager, but for myself, I decided to set a point counter to determine when to transition to the next wave. After each wave was completed, the point total (different than the player’s score) would reset to 0 and the new threshold to reach the next level would be the previous wave point requirement times a 1.5x multiplier. Ex. If wave 1 required 10 points, then wave 2 would require 15 points to move to wave 3 and so on.
My next challenge would be to notify my program when the boss wave would be. To do this, I went with a modular function and divided the current wave by 4. If the remainder was equal to 0, then a boss wave would activate. In easier terms, every 4th wave would be a boss wave. To balance the boss waves, I created a new enemy spawn routine, which slowed the rate at which enemies are spawned, in order to make the boss waves more reasonable.
After getting my waves working properly, now I had to go back and create text for the waves. I won’t get into specifics here as it is a pretty straight forward process.
Now that I finished the core functions of my Boss and the wave manager, my game is basically complete. I went back polished some things up, added animations to many of the objects I didn’t animate before. I also created a camera shake for my Boss as it blows up in a glorious ball of fire. Also, I went back and managed to add sounds to most of the objects in the game.
One major blocker I had today and still haven’t been able to wrap my head around is dealing with powerups and coroutines. After finally thinking I am getting Coroutines down yesterday, I was thrown in for a loop today. Most things I have been able to google my way through or figure out after a while but this has proven to be a bigger pain than I imagined.
To explain my problem, basically, I have a powerup, Triple Shot Power Up, which enables my player to shoot three laser beams instead of the singular laser. This powerup lasts for 5 seconds and then disables. Fine, easy, this part works as intended. The problem arises when I go to collect another Triple Shot Power Up while under the buff from the first. I can’t manage to get the coroutine to restart and the new coroutine is completely voided and the buff wears off after the initial coroutine. Anyways, gonna try to tackle this again tomorrow as I was losing all sanity trying to figure this problem out.