The Amalur Problem
While Kingdom Of Amalur's combat wasn't compelling enough in either direction (good or bad) to dedicate an entire combat analysis post to it, I wanted to address one major mistake the game made that prevented it from feeling a whole lot better than it did. It's frustrating to me personally because it's so easy to correct! The issue I'm about to elaborate on is a perfect example of how one simple nuance can make or break the feel of entire systems.
When you swing a weapon in Amalur and you do NOT cancel it with the next attack in the combo sequence (or it's simply the last attack in the sequence), the attack animation finishes. Now in many situations you want animations to finish playing because interrupted animations can look really bad. But the game's attack animations have a significant amount of follow-through at the end of them. While this is good application of animation principles (most character animations, especially attack animations, should have this follow-through to add weight to the movement), the problem here is that the player's movement input does not cancel this follow-through and it feels super sluggish as a result.
I've illustrated what I'm referring to in the above image. The forehand slash in Aztez is a pretty straightforward attack which is why I used it in this example. The entire animation from start to finish is 60 frames long at 60 frames per second which means it takes exactly one second to play all the way through. There is about 6 or 7 frames of anticipation (animation principle; anticipation is the movement that precedes the movement), about 10 frames where the weapon is being swung through the air in front of the character (there is an active hit box inside this window that lasts about 5 frames), and then you can see that the rest of the animation is spent on follow through and recovery. The majority of it! And Amalur makes you sit through the entire duration of this. What is the solution to this problem? A simple input flag that tells the game to cancel the animation completely if the player is providing movement input at a certain point or beyond in the timeline of the animation.
What you see here in this illustration is a flag at 30 frames that allows this to occur. If the player is providing the input at that exact moment of the attack animation (or past it) the game cancels it into the character's movement state so the player may continue to move. "But Ben! This finished, weighty animation looks so good and the player will miss half of it if they are trying to move!" I know and I don't care because you don't want the player sitting through a single frame of input blackout that they don't absolutely have to. Trust me on this. All the greats do it; pick up Devil May Cry, God Of War, or Bayonetta and perform an attack with no input. Full and beautiful animation with satisfying follow through and recovery. And long. Now do the exact same attack with your thumb on the movement stick. The attack stops entirely at x frames so you can continue to run and it feels a billion times more responsive. What I ended up doing in Amalur was cancelling every individual/finishing attack with a dodge just to have that feeling of input fidelity. It was super annoying.
You're going to have that classic feeling of disappointment knowing your full animations won't even be seen most of the time but when your player is sitting there with the their thumb on the movement input it's because they want to continue moving as fast as possible and it's your job to make these concessions so it feels good to kick ass in your game. Now I'm not necessarily saying these concessions should always be made no matter what, but for as something as fundamental as this, there's little to no risk of it breaking larger systems or making them feel bad.
Pingback: On Genre Distinctions « Aztez Development Blog()
Pingback: Combat Analysis: DMC « Aztez – A Game of Conquest and Brutality()
Pingback: Frame By Frame: The Sword’s Basics « Aztez – A Game of Conquest and Brutality()