Melee Attacks in PVP Must Be Fast!

There is a common misconception in PVP game design that melee attacks should be slow and reactable in order to make it fair for your opponents to play around them. The problem with this is that it fundamentally breaks the core game dynamic, resulting in a game where doing nothing is the best option.

PVP games focused on Melee combat must have some way to either hurt the opponent that they can’t react to, or a way to set up a situation where they cannot avoid getting hurt that they cannot react to. If a game doesn’t have this, it will result in a complete stalemate. A more broad way of formulating this is: A PVP game must have a way for any player to advance the game towards a conclusion where one side wins, and any action that would prevent this advancement must be dependent on Rock Paper Scissors Guesswork, or have a chance of failure.

I believe that all PVP games are a complex (or not so complex) combination of 3 simpler games: Rock Paper Scissors, Skill Tests (or efficiency race), and Random Number Generation. Everything PVP is a game of chance, a game of skill, or a game of prediction; or some combination of the three.

Melee combat games are games of largely RPS. Melee strikes have a commitment, like a throw of hands in Rock Paper Scissors. And when they connect with an opponent, they will inflict hitstun, interrupting the opponent’s action. This means that different choices will counter one another, like in Rock Paper Scissors. This is a non-transitive relationship between different options and how many points they score. And critically: When you throw hands in RPS, you do it on the count of 3, throwing them simultaneously, so that neither of you can see which hand the other person threw.

Let’s imagine a version of Rock Paper Scissors where you didn’t throw hands on the count of 3. Imagine you can throw whenever you like, but you need to stick to your hand after throwing it. You can’t take it back. If you want to play this version of Rock Paper Scissors with me, please comment below with your throw.

So, I’m sure you can imagine the problems with this hypothetical RPS game. And a game with slow attacks usually ends up having the same problem: The person who goes second has the advantage.

Slappy-Go-Round’s Broken RPS

There’s a Mario Party Minigame called Slappy-Go-Round which has this type of problem. The player who waits for their opponent always has the upper hand.

In this game, players can jump and ground pound. When a player ground pounds, it will cause the giant hand to slap the other player from behind. If that player is in the air when the hand comes around to them, it will instead hit the player who ground pounded. The problem is, if you have average human reaction time, you can see your opponent ground pound and jump in response. Therefore, the best strategy is to wait for your opponent to ground pound, and jump when they do. However, your opponent can also do this and now neither one of you wants to jump.

There are two ways you can solve this: You can either speed up the ground pound animation and slapper, or you can slow down jumps. Both solutions require players to jump preemptively to avoid getting slapped. Both solutions make it impossible to react to the “attack” option.

There’s some common wisdom in PVP games that it’s actually surprisingly tricky to get players to attack one another. RTS games have limited resource deposits instead of unlimited resource deposits so that you need to expand and build new bases to secure more resources, or you will fall behind in military production, allowing your opponent to overtake you. However, nothing in the game rules is stopping both players from simply turtling up with all the resources on the map and not attacking. There isn’t a time limit. Starcraft leagues have had to institute referees to judge when situations like these were going on and award game losses to players who refuse to pursue a win.

Attrition

Attrition in games can be defined as “progress towards the end of a game”. Within this definition, although racing games aren’t conventionally thought of as games of attrition, you can view the act of progressing towards the finish line as one of attrition. A lot of PVP games have different relationships with attrition.

FPS, RTS, MMORPG, and MOBA games allow players to simultaneously inflict attrition upon one another, meaning that the winner of a given exchange is whoever can inflict more attrition faster, and successfully mitigate the attrition inflicted by their opponent. However, there is no way to completely stop taking damage during an exchange, only reduce it. This means that the game progresses towards its result any time the players fight.

Melee combat games have a more lopsided type of attrition. Players commit to different choices, and usually only the loser of an exchange takes attrition, while the winner does not (obviously some exceptions exist, like trading blows and super armor).

Fighting games also have a type of attrition in the form of the timer, an alternate win condition. When the timer runs out, the player with more health will win. Similarly, FPS games have objectives, like planting or defusing a bomb, to force players to engage with one another or risk losing. MOBAs have gold and creeps, enabling a team to level up past an opposing team to overwhelm them. RTS players have no such alternate goal, so you can sit around forever and never lose, and set up scenarios where your opponent will always lose more by attacking than not. This isn’t necessarily the best strategy in any RTS, but it’s a potential risk that designers have to contend with.

This is why a lot of TCGs have the alternate win condition that attempting to draw from an empty deck will cause that player to lose. Because it’s something that is nearly guaranteed to eventually happen to one of the players at the table. Yes, there are cards that can put cards back into your deck, but including them means not including better cards, making your deck more likely to lose the conventional way.

This shows that it’s okay to let players reverse attrition sometimes, in a limited way, but ideally this means incurring attrition on a different axis. In Deadlock, you can retreat to your base or wait outside of combat to heal, but this means surrendering control of the lane to your opponents. Having multiple objectives, multiple ways to win and lose, can help make a game more dynamic and avoid this type of breakdown.

Other Examples of RPS Breakdown

So when a game centered around melee combat doesn’t have a way to force attrition through double-blind guessing, the core concept of the game breaks apart. This is uncommon, because most PVP games aren’t about melee combat, and most games about melee combat are fighting games, which had the first games in the genre not fall prey to this trap, but it does sometimes happen.

One high-profile example of this type of RPS breakdown is For Honor. In For Honor, when you lock onto an opponent, you can attack from three different directions, and accordingly, you can block in those three directions. However, presumably to make this feel fair to players, the attacks are so slow that you can always react to which direction attacks are coming from and block accordingly. To help mitigate this, there is a guard-breaker option when you get close to your opponent, working much like a throw in a fighting game, but your opponent can break the guard breaker by inputting their own, and again, this has a large window to react, meaning you can’t hurt opponents unless they fail to react.

This resulted in the parry/unlock metagame during the game’s early competitions. When all of a game’s attacks can be reacted to, players find the options that can’t be, and now the game revolves around that instead of the intended gameplay. I’ll be honest, I haven’t kept up with For Honor, so I don’t know if the developers eventually fixed these problems, but I imagine they did.

Another high-profile example is Dark Souls PVP. Dark Souls was made to be a PVE game franchise, but it has an optional PVP component, which is fairly cool in its own right, but I think most people would agree it’s not a place for serious competition. Like For Honor, player attacks in Dark Souls are usually slow enough to react to, and your defensive options are fairly quick. The purpose of this is to make it easier for PVE enemies to interrupt your attacks. PVE enemies need to be designed to be slow or predictable, because PVE combat is a test of skills, not prediction. You can’t predict what a computer will do when it’s not operating by deterministic rules, so having enemies use fast unpredictable attacks wouldn’t be fair.

One of the big innovations of Dark Souls was making not just the enemies slow, but also the player character themselves, thereby making it risky for the player to attack when they weren’t sure it would be safe. However, this had consequences in the PVP mode, because it meant your only way of dealing damage to other players also could be mitigated or even parried on reaction.

This is why Dark Souls 1 had such a strong backstab-centric PVP metagame, because backstabs were the only option that couldn’t be reacted to. Another thing breaking this deadlock is that spells cannot be parried, deal chip damage to shields, and many of them can be manually aimed, allowing you to anticipate where an opponent will dodge to. Stamina also acts as a kind of attrition, because all actions cost stamina, and if you can force your opponent to drain their stamina first, you can attack them and they won’t be able to use their defensive actions. This is… less than perfect, but it’s something.

A game that surprisingly doesn’t have this happen is Divekick. I’ve seen many beginners at Divekick go, “well, if diving and kicking take so long, isn’t the best strategy just to camp out?” And then they lose when I inch up on them, and either catch them jumping, or jump before they do for the height advantage. You can set up situations in Divekick where you’re so close together that you can overwhelm your opponent’s reaction time, and jumping is itself a fairly large commitment. Add to that the ability to kickback (press kick when grounded to jump backwards) and there is no way to completely avoid confronting your opponent. Cleverly, there is a timeout win condition here like other fighting games, and it measures who is closest to the line at the center of the stage, meaning that you can advance on the center without risking losing, forcing a type of attrition.

It’s possible for FPS games to have this type of breakdown, if all of their projectiles move slow enough to be reacted to, but this isn’t common. Maiden and Spell is a PVP Shoot em up that has entirely reactable bullet projectiles, but you can force your opponent into “checkmate” situations where they are committed too hard to one position to move out of the way in time.

Conclusion

So how fast do attacks need to be? Your standard attack needs to be faster than average human reaction time, which is about 250 milliseconds, or 18 frames in a 60fps game. There are a number of players who can react faster than this, as low as 14 or even 10 frames at peak human reaction time. This means that your fastest attacks should probably be only as slow as 10-12 frames of startup, which is what most 3d fighting games choose as their benchmark. A lot of 2d fighting games choose to have their fastest attacks be 3 to 5 frames of startup. This can give you a wide range of variability between attacks while keeping them unreactable.

Can some attacks be slower than that? Absolutely. Lots of games include fairly slow attacks that are intended to be reacted to, yet people get hit by them anyway, including high level players. This involves abusing an opponent’s “mental stack”, essentially overwhelming them with so much information that they can’t react to an attack they don’t see coming.

This may not be an entirely common type of game design fault, but it’s one that I expect to see more frequently in the future due to the rising popularity of Souls-like games. I actually debated this with my co-writer, Alex Brazie for the Mastering Game Mechanics course. He included a slide where he suggested it was good practice to ensure that attacks can be reacted to in PVP, and I pointed out that this actually wasn’t the case.

This is a problem that almost every PVP game with direct interaction needs to solve in one way or another, so it’s important to know the fundamentals and what is actually causing the problem when it does show up. Even if it’s not a common mistake, it’s an understandable one, and hopefully I’ve given you the tools to identify it, and how to fix it in a variety of ways when it does pop up.

Leave a comment