Settling on a Style
Our team quickly settled on "2D sidescrolling" as a big contender for our game's direction. As such, it was important to quickly get some good feeling combat that would make our game stand out. The general direction for this combat was simple, with room for players to grow. We wanted more than a simple sword-slash attack, but nothing nearly as complex as a fighting game engine. On top of that, Robbie recommended that I try to move away from a sword, and maybe attempt a more unique weapon. I went with a spear for this prototype, since its main point of attack is trapped at the end of it (whereas a sword is more like 70% usable blade).
Since swinging a spear around frantically wouldn't be a reliable method of attack, I needed to come up with a few good ways to use a spear. These aren't by any means revolutionary, since spears are actual weapons, but they aren't seen anywhere near as much as swords, especially in the hands of a "metroidvania" protagonist.
I quickly came up with two attacks:
The Stab attack has the player stick out the spear directly in front of him. There's a little bit of startup time on the move, but when the spear starts moving forward it quickly snaps into position. This creates a pretty good sense of speed and power, and the player can really tell that you don't want to be on the receiving end of the attack. This attack only really covers the area immediately in front of the player, no higher than their head, so you'd have to jump and Stab in order to hit a flying enemy (or a taller enemy's head, which is often the case for bosses in these types of games).
This may not be the best description of this attack, but it's what I've decided to call it for now. The spear starts above and behind the player, quickly coming down in front of the player in an arc. This is meant to hit enemies that are above you, whether it's a flying enemy or one on a platform that you're trying to hop onto. This is a faster attack than the stab, since that has a bit more power behind it. Since this is faster, it also has less knockback in the current prototype, so there's slightly less reward for using it over Stab. Additionally, since only the pointed end of the spear has a hitbox, if an enemy is really up in your space, the slap may completely miss them (which will be represented by an even weaker hitbox with nearly no knockback or damage on it).
While Stab is meant to cover the weakness of Slap by hitting close enemies away, and Slap covers Stab's weakness by hitting enemies above you, I felt that there was an additional attack that could really supplement both. This is when I came up with Smack.
This ability has the player hit an enemy in front of him with the butt of the spear. In my head, this knocks the enemy up and away, just into the range where a Slap or Stab would be able to hit the enemy with the tip of the spear. In practice, vertical knockback is a bit weird and so I forewent it for the current prototype. Hitting the enemy away horizontally is still working great with the Smack ability, but I'll improve upon this in the future.
With these 3 attacks, I felt that I'd created a pretty good kit that will give the player just enough options for any 2D combat situation. Enemies travelling at different speeds, from different directions, should all have some weakness we can exploit with just these attacks. I could see the Smack attack hitting away an enemy's shield, allowing us to then beat up on them a bit while they go and retrieve it. That being said, I did decide to prototype one other mechanic that increased player options without overwhelming them. This mechanic is called a cancel.
A Cancel (or Smack Cancel) occurs when the player successfully hits the enemy with a Smack. Once the Smack attack connects, the player can immediately input a Slap or Smack, which will abruptly end the Smack animation early and start the newly inputted attack. The player doesn't need to cancel the smack into anything, but the option to do so opens up small optimizations for players who want to maximize their successes in-game. While this is often something used more in speed runs, it's also the kind of thing newer players may learn about and use sparingly to gain an edge and impress their friends. In a way, it's almost like drifting in Mario Kart, since newer players never seem to know about it, but fans of the series can't imagine playing without it.
*I intend to come back and touch this up with still images or GIFs in the near future*