As I’m progressing through the challenges, I’ve noticed a challenge that intrigued me and scared me, but it also got me really excited. I reached out to the instructor to discuss my idea for the challenge vs what they were actually asking for.
Create a new form of projectile. You should already have a triple shot. Include something new from multi-directional shot to heat-seeking shots, etc.
Replace the standard fire for 5 seconds.
They want us to create a new type of weapon to shoot when we collect the powerup. Following other people’s ideas on the program Slack, I saw some interesting ideas pop up from death rays to bullets shooting in circular patterns over the entire screen. Seeing these weapons reminded me of a game called Raptor where you would have nuclear bombs of sorts that if you hit spacebar you’d throw this bomb and would destroy all of the enemies on the screen. That really inspired me and I wanted to create a weapon type that would not overwrite my primary weapon.
Since I wanted a secondary fire that I can shoot with another button and still allow me to fire my main weapon gave me the idea of a powerup I dubbed the “Orb of Destruction”. I got inspiration from the “Orb of Osuvox” from Ready Player One. But I didn’t want to use the orb as a shield, but a weapon that would shoot out waves every second or so for a set duration.
I thought about how I would implement the powerup and since we’ll be collecting a powerup. I decided to create an energy/charge system. With this system, I could later allow the player to select which secondary weapon they’d want in a shop/hangar set up and build upon that in a modular way. Another thing I wanted to incorporate into this weapon is that it would be so powerful that the player would have to temporarily sacrifice one of its lives alongside the energy requirement to spawn. This very powerful weapon is now harder to get and would be ideal for a boss battle later on. I decided to have a bar with 10 energy points and the orb requiring 10 energy to spawn for the energy requirement.
As a final safety check, I wanted to ensure the player has at least 2 lives to spawn since we don’t want to kill ourselves to spawn this weapon. I’d also need to make the powerup destroyable so that enemies can target it to try and destroy it. The last thing I wanted to implement is that if the orb survives the duration of pulses that it would return the player its one life — forcing the player to protect the orb while it’s active.
This is so much more complicated than just another powerup like a beam, ray or anything of the sort. I’m implementing a whole system and requires script updates and communication between most of my scripts that I had to make updates to all of my core scripts related to the player, enemies, powerups, UI and finally the actual weapon which added to new scripts to my collection.
Due to the complexity of this feature, I decided to split this article into two parts. Part 2 of the article can be found here.