Have you ever heard the phrase "Sculpting Time"? Well Cory Barlog uttered that gem during an interview while he was still an animator, we all gave him shit about this quote because it sounds so ridiculously high brow. The truth is animators are doing exactly that, sculpting a chunk of time into an amazing animation based on some design. Design has to think of time as a material such as marble or stone because if the artist has too much material to begin with the sculpture may be too big and take far longer to complete than originally anticipated. Herein lies my first piece of advice, ALWAYS give the animators a frame range.
Frame range can be as general as the total amount of frames or can be as detailed as to break the animation up into four pieces; the anticipation, connection, follow through, and recovery. Design should have a good idea of what frame ranges will work best but if there is any doubt do some testing. Generally three test animations (fast, medium, slow) can determine the speed that seems acceptable for the character. The attack hitting is really important because more than anything else it will determine how fast the game plays, so spend a lot of time testing all sorts of hit ranges. Typically in 3D fighting games the jab hits around 8-10 and if I remember correctly the first strike of Kratos's Square combo hits around frame 12.
If you have no idea what sort of frame ranges may work best for the game you are working on then I suggest buying some of the top notch fighting games and doing some research. Find some moves in the game you like then seek out the frame data to remove a lot of the guess work from the process. If no frame data is available you can always video capture the move and dissect it frame by frame. Heck you can even go old school Jordan Mechner! A few frame data links below...
SF2:WW - SF2:ST
Once we have the frame ranges down its time to move onto the translation of our attack animations. The translation of an attack animation serves two purposes: 1.) It makes the player feel like they are mobile and 2.) it closes ground on the enemy to increase the chance of a successful hit. Many games completely fail when it comes to creating good translation for attacks, hell some games have none at all... these games tend to score very poorly on the Metacritic so get down with the translation!
So how do we create good translation, well it comes down to the acceleration and deceleration curves. If the curve is too smooth if feels boring, if it has too harsh of a fall off it feels stilted so again we need to test a lot of motion to determine what kind of curves will work best for the game. Another question is should we translate pre-hit, on hit, or post-hit??? Again this is different for all kinds of attacks, but asking the question ahead of time means you are considering it instead of guessing in the dark. Below are a few types of translations commonly used for attack animations...
Plant - a simple foot planting walk from one attack to another, usually covers short distances and is considered high in fidelity but unresponsive and bland in terms of player feeling.
Slide - hit a pose and slide forward propelled by some amazing force, usually covers long distances and feels really good if the accel/decel curves are on the money.
Shuffle - sort of an split between slide and walk, move the feet but slide along, usually covers medium distances and halts upon connection pose transferring all the translation into the hit.
Other notable variations: Hop, Leap, Dash, Sprint, etc...
The translation of an attack animation is very important because not only does it serve to make the player feel mobile when attacking but it also plays a huge role in determining the size of the combat spaces. Honestly a lot of testing and metric work will be required to figure out what sizes work best with the attack translations. I tend to start with a small space being half the distance of the combo length and the large space being four times the combo length... just get with the level designer and TEST!
Well now we have an animation in the ballpark for timing and translation, check back soon for Part 3!