Metroidvania Gameplay Mechanics 2: Player Abilities (And a few extras…)
The Further Challenges of Developing a Metroidvania – Shmup Indie Game
Possibly the second most important thing in a metroidvania game is the player’s abilities. That’s why I also spent a long time making sure I had these figured out before moving on to other areas such as the level design.
Here are some basic abilities that have already been added into A.S.S. (some of the more exciting ones I’ll be revealing later when I know the functionality will be there to support them):
An annoying occurrence in metroidvania titles for me is to have to back-track to the last save point again just because I made a minor error miscalculating a jump or enemy’s attack arc. The result of this is often 20-30 minutes of dead time repeating the same section when really, you’re just trying to fight that boss that killed you an hour ago.
For this reason, and also to keep the general flow of gameplay at lightning speed, your health will regenerate. This will only work, however, if you are not shooting or using certain abilities. This makes the player make constant tactical decisions about whether it is better to shoot and go for the kill or to hold off attacking for a second and concentrate on surviving (though it will only ever be a second or two as the regen speed is pretty fast). Big concentrated doses of damage will still kill you instantly if you let them hit you.
This system will be extremely familiar to anyone who’s played Vlambeer’s awesome game Luftrausers where you pilot a fighter jet made of biceps. Very cool. Luftrausers is more of an arcade game that I repeatedly visit for small play sessions so it will be interesting to see how the system will translate to a metroidvania setting. (I’ve also cheekily stolen their circle that closes in on the player to visually represent health (for now at least)).
Edit: My gif didn’t come out that great but you can still see the effect around the edges or in the chromatic aberration (blurry shit) when the player takes damage, as well as that these don’t go away until the player stops shooting.
Whilst on the subject of health loss and
stealing being inspired by ideas from awesome games, the death mechanic in A.S.S. will be familiar to anyone who has played Dark Souls, Demon’s Souls or Shovel Knight. For me, since it was the first of these that I played, Dark Souls revolutionised the concepts of death and saving for me as a player.
When you die, you will be returned to the last save point that you used with all of your equipment intact. What won’t be intact is your currency. I will reveal later on what this currency will be used for in A.S.S. but, rest assured, you won’t want to lose it.
So, when you die, a portion of your currency will be left out in the world in the location where you fell. If you can make it back there again without dying, you will be able to reclaim your lost spoils and nothing will be lost. If you die, it is gone forever.
Taking up a weapon slot in either the right or left hand, the shield will block all incoming projectiles and fire them back in one giant projectile upon letting go of the button. This was a little overpowered at first, so I’ve also prevented the player from being able to move or heal while the shield is active.
Size and damage of the projectile produced scale according to the number of bullets absorbed. There is currently no maximum limit set for the size or damage of the bullet fired back at enemies and, though it can take up more space than the screen sometimes which isn’t very realistic, it does look damn cool. So I might keep that in, we’ll see.
The projectile fires back in the direction that the arm is facing when the button is released so it is possible to absorb damage from one enemy and fire it back at another. If you’re quick enough…
Hands (Or maybe magnets?) (Weapon)
These will be an integral part of the game and probably the first items you’ll get for the weapon slots. Enemies, objects…maybe some other things: you can pick stuff up and throw it around.
Damage dealt is based off of the velocity of the object multiplied by its mass so realistic damage output can be expected; heavy, fast things hurt more than light, slow moving things.
When thrown, the drones shown above currently have their fixed angle disabled (they are now allowed to rotate), angular and linear drag decreased and their gravity slightly increased to give them the appearance of being ‘drunk’ or having malfunctioning targeting and gyroscopic functions. I think it looks funny. Oh yeah, and they sometimes crash into each other after doing this so it does have some tactical advantage too…
Not only do enemies separate into their constituent parts when destroyed, they can then be picked up and used as projectiles or even equipped and used as the enemy would have done.
I said previously that I’m only revealing the features for now that I’ve gotten working in the prototype and so am confident will make it into the game, however the next one I’m working on at the moment and so I don’t have a nice gif I’m afraid. The reason I’m happy to talk about it now, however, is that it relies on the weapon inventory system that I showed in the last post.
Edit: Here’s a gif for now 🙂
Just like the weapon switching I showed in the last post, body parts can be equipped on the player in two different setups that can be switched between at the touch of a button. You can set the same parts on both setups if you wish and only change one or two, or you can change every single part and have entirely different play styles ready at the touch of a button.
I look forward to sharing some of the body part designs you’ll be using and seeing some of the playstyles you come up with when using them…
There are many, many more abilities to come so for now, Tile Mapping 🙂
This section is about what I’m working on at this very moment:
Yesterday I installed Zerofield’s Unity asset Tile Editor. I’ve steered away from assets in the past, feeling that I needed to learn how to accomplish things on my own, but I’ve found a number recently that have seemed too helpful and time-saving to pass up. Tile Editor is one of these.
So, now instead of having to create tile maps in a third-party application, export and go through the whole process again if a tile was out of place, I can manage my levels straight in the inspector window in Unity. Thank you Zerofield.
And, even better, I’m actually at a stage in development now where I’ll allow myself to start making levels and other things more fun than programming inventory systems. Maybe even some music and SFX soon…
Thanks for reading,
Robots Will Destroy You.