Lately, I’ve been on a rollercoaster ride of balancing and counterbalancing game mechanics. It has been a blast. Now that enemies can dodge the Player’s bullets, maybe it’s best to include a weapon they can’t avoid.
Create a new weapon type for the Player: The Homing Missile.
As with every other power-up, I began by creating some art. If you see this bad boy coming towards you, you had better smash the acceleration pedal!
With one exception, all enemies follow a linear vertical path. This movement makes it simple for the Player to shoot them down accurately. I want to introduce another level of difficulty.
Allow enemies to dodge the Player’s attacks.
This challenge boils down to having the enemy detect the Player’s bullet and move to avoid it. The first thing that comes to mind is a RayCast2D. However, with this approach, the area of detection would be limited. I can therefore take advantage of another Physics2D method.
In my last DevLog, I wrote about giving enemies the ability to destroy power-ups. I realized that the result might have been too powerful. With that in mind, I will try to balance out the equation with an additional tool that the player can use.
Add a magnetic mechanic to attract power-ups.
The idea is simple. The player can press a key, and any powerups within range should gravitate to their position. My first step was to create a Script to implement the attraction behavior.
PowerUps can activate powerful weapons, be used to reload ammunition, and heal damage. The Player must take advantage of them to survive. It’s time the Aliens fought back with more devious means.
Allow the enemies to detect and shoot at power-ups that lay in their path.
I have done most of the work required for this new mechanic. Aliens can already detect the Player and shoot at them. The only thing left to do is to include power-ups in the list of viable targets.
Currently, the Alien Shooting Script uses LayerMasks to identify the Player as a target. …
Rushing headlong into swarms of enemies is a fool’s errand. Guns blazing, you do your best to shoot down as many as possible. Inevitably, a few will get past you. That’s the way it goes sometimes. Good riddance.
Aha! You let your guard down. You had better check your rear-view mirror because enemies can now shoot back at you.
Create an enemy that shoots back at the player once it gets behind them.
The idea here is to make an enemy that shoots backward at the player. When this new enemy gets behind the player, it will detect them and…
As the player, you spend a lot of time avoiding collisions with your enemies. Dodging is made easy by the fact that enemies move predictably. But I want to throw a wrench into that scheme. Sometimes, trouble comes looking for you, and all you can do is face it head-on.
Create an enemy that will attempt to ram the player.
Fundamentally, this is a question of movement. I had to decide how to move an enemy normally and switch its behavior based on the player’s proximity. But before any of that, I drew some new sprites.
Enemies can shoot, and they can move in different ways. Now it's time to extend their life expectancy.
Create a new enemy that can take more than one hit.
It is a simple idea that was just as simple to implement. Besides creating a new sprite for this enemy, I also had to write a short addition to my enemy’s Script to make this work. The idea is to allow this type of enemy to take more than one hit; Forcing the player to concentrate fire on them to assure their destruction.
This extra time that forces the player to…
Not all items are created equal. Any game that uses a loot-drop system categorizes its items by rarity. At the moment, all of my power-ups and enemies have an equal chance of being created. I want to change this and create a Spawn System that relies on rarity.
Create a system that takes rarity into account when spawning enemies and power-ups.
In a previous Devlog, I talked about creating a wave spawning system. Part of this system includes a list of Aliens for each wave. I want to control the probability for each alien. …
Dodging enemies in the game could become a little too easy and repetitive. Therefore, I took a step further in trying to vary the style of gameplay. Time to create a new enemy!
Provide enemy characters with the ability to shoot back.
This shooting mechanic was not difficult to add. I had most of the necessary components already created. All I had to add was a Script to handle the shooting mechanic.
But first, I had to adapt an enemy sprite to make the new enemy. It seems like a good idea to differentiate enemies so that the player can…
Picture this: You’re rolling down the L.A. river in your armored MarkVII TT tank. You feel pretty confident that your main 110mm SledgeHammer cannon can take on just about any threat that comes your way. Your only concern is ammunition. But lo! you spot a crate of high-velocity rounds you can pick up just ahead. Enemies are all around, but you bear down on your target and go straight for the resupply.
But it’s a TRAP!
Crafty alien invaders don’t just show up out of nowhere without a plan. They have studied our customs, weapons, and tactics. …
Experienced digital artist, Unity game developer & coder with a knack for problem solving and a passion for video games.