In the interest of both exposing the nitty gritty details of our really powerful combat technology and also sharing some design insight, I'm going to open up some of the sword's basic standing mechanics for viewing at the frame by frame level. Information at the frame level is typically only of interest to the designers or to the master class player types who are operating at competitive levels, but I'm going to try and make this fun and accessible by using (hopefully) easy-to-look-at-and-understand animated timelines. But first, let's take at the game's very first standing sword A attack. It's probably the first attack the player ever sees.
Sword Standing A1
The timelines contain the following properties (please note that while these GIFs are rendered at 30fps, the game runs at 60 frames per second):
- Hit Box Active: This is when the hit box on the move is on and will force a response on anything inside of it.
- Dash Cancel: This is the window in which the move can be cancelled into a dash with dash input.
- Movement Cancel: This is the window in which the move can be cancelled into regular left/right movement with left/right input.
- Block Cancel: This is the window in which the move can be cancelled into a block with block input.
- Absorb Cancel: This is the window in which the move can be cancelled into blood absorption with blood absorption input.
- Next Move Listen: This is the window in which the game is listening for the player's A or B attack button input in order to fire the next move in the designer-made combo. In this case, "Sword Standing A1" links into "Sword Standing A2" and "Sword Standing B2".
- Next Move Fire: This is the window in which the game will take the input it heard and fire the move. If it hears the input before this window opens, it will buffer the input and fire it automatically on the frame the window opens. If it hears the input while the window is open, it will just fire the move in the next frame.
- Tech Move Listen: This is the window in which the game is listening for the player's command move input, which is up or down input plus A or B attack input.
- Tech Move Fire: This is the window in which the game will take the input it heard and fire the command move.
- Translation Active: This is the window in which the player character is translated during the move.
If the player pushes the A button again at any point during this move, and continues to push A, they will see the following 4 attacks:
Sword Standing A2
Sword Standing A3
Sword Standing A4
Sword Standing A5
There's the entire Standing Sword A button combo. Let's take a look at some of the principles at work here!
- Highly Flexible Canceling: All of these moves can be canceled at any point in the animation with a block, or a dash, or absorption. This was absolutely intentional from the start because I knew I wanted large groups of HIGHLY aggressive enemies, but I also wanted the player to respond with high aggression which is why the canceling windows are so liberal! If a player in Aztez is struck, it's because they didn't respond quickly enough, and not because they threw the wrong attack at the wrong time and they couldn't bail. This is also part of the courtesy Aztez extends to mashers; if you don't want to get intellectually bogged down in exactly what attack you're throwing, you're still safe if you're paying attention.
- Movement Canceling At The End Of All Moves: No matter what weapon or what attack you're throwing, you can bail out of it at the end with movement input to avoid the Amalur Problem. TL;DR is that it makes a huge difference in the feel of a move if you don't have to sit through the entire animation, especially when you're in an energized state where you can't take your finger off the directional input.
- Liberal Command Move Canceling: This one is interesting because I originally implemented these combos so that the command moves listened for input and fired it at the same time the next move fired, instead of just listening the whole move and firing immediately the way they do now. But high level players of mine would eventually tell me that because of the mobile properties of some command moves, they wanted to be able cancel with these moves at any point in the move INSTEAD of blocking/canceling/dashing in order to preserve a certain kind of momentum. Since the only downside was that you could now spunk the command move before the original attack hitbox opens, I obliged. After all, this makes it more interesting! "Do I let the hitbox open on the Sword Standing A3 and THEN cancel into the Up A command move, or do I do it NOW, lose the damage, and preempt this incoming enemy attack with a mobile hitbox of my own?!"
- Translation From The Very Start: Making sure that attacker translation occurs right from frame 1 is a big contributor to brilliant attack mechanics. You want as much feedback as possible to go off THE INSTANT the players hits the attack button, and most forms of feedback just aren't practical at frame 1, but translation is!
- Restricted Final Hit: Note that in the final Sword Standing A attack, there are no direct links to further attacks. Since it's the end of the designer created sequence, it makes sense that there isn't a listener for a "next move". But there's no listener for command moves because this is a big, powerful, final hit and it was designed to be the "...period at the end of a sentence." as the magnificent Saurian Dash once so eloquently put it. If you want to maintain your aggression once you've finished the sequence, you have to do some semi-fancy canceling. It is me putting a bit of a skill barrier in place to encourage the player to get comfortable starting and ending interesting sentences over and over again.
- Deceleration Into Big Finish: There is a subtle thing happening throughout this entire 5 hit sequence (and in all other designer-made weapon sequences in the game); the sequence decelerates. Notice that with every attack, the hit box gets pushed back a little bit, the translation window gets a little longer, and the next move fires a little later than the last one did. So from a player point of view (assuming they're mashing the A button as fast as they can), what happens is that they begin mashing and the 1st attack hits in 8 frames, and then 22 frames later the 2nd attack hits, and then 24 frames later the 3rd attack hits, and then 28 frames later the 4th attack hits, and then 34 frames later the 5th attack finally hits, and the enemy is sent flying. This is subtle, but makes a serious difference in the sequence's overall sensation of power. This was a key piece of insight given to me by Eric Williams, one of the original God Of War designers and all around amazing dude. If done correctly, you get a rhythm that "looks" like this:
These are just some of the principles, but they are biggies. There are subtle changes across the different weapon both in their mash sequences and their command moves, but they all adhere to the key ideas outlined here. If there's anything else you want me to elaborate on, bounce on into the comments and I'll see you there.