Using Frame Data

From Dustloop Wiki

Introduction

When you look at frame data, you're going to see a lot of numbers. I know some people are deadly afraid of numbers or just go mentally numb when they see the huge tables, but it's all really simple. You don't need anything beyond a first grade education to derive meaning from these numbers. Hopefully this guide will help you make some sense of what they all mean.

Have you ever seen frame data? I think many people skim over these charts and see the +'s and -'s and think to themselves, "+'s are good and -'s are bad." And for the most part, they are right, but they don't take that extra step to understand how these numbers relate to each other or how they work in specific situations.

Definitions

Intuitively, I think we all understand that attacks take time to hit, have a time when they hit, and have a time when you just can't do anything. We call these periods of time: startup, active, and recovery. All moves transition though these three phases in that order. And these phases are measured in units of time that we call: frames.

Frame
So what is a frame? Television, movies, games, videos and such are all like flip-books, just a series of still-images shown in rapid succession to give the illusion of smooth motion. A frame is one of these still-images. You don't need to know how this magic trick works. For fighting games and understanding frame data, you just need to know that a frame represents the smallest unit of measurable time. Regardless of how much real-world time a frame is representing, 4 frames will always be less time than 5 frames and 2 frames will always be more time than 1 frame.
The standard for most fighting games is to run at 60fps, that is to say that 1 frame will last 1/60th of a second.

The following is a common table that you will see often. Let's breakdown what each part means:

Damage Guard Startup Active Recovery Blockstun Hitstun On-Block Attack Level
The damage of the move. This is not important for now. How can this move be blocked. This is not important for now. Startup is the time starting from when a move initiates to the first hitting frame (inclusive). With a move initiating when you press a button (or complete the motion/command). Active frames are the frames during which a move's effect can occur. For attacks, these would be the hitting frames where the attack can hit, be blocked, or be caught. Recovery are all the frames following the active frames. These are the frames remaining till you are free to move again. Blockstun is the period of time after blocking an attack where the blocking character is stuck in a guarding animation. Likewise, hitstun is the period of time after getting hit by an attack where the character is stuck in a reeling animation. Static DifferenceIt is calculated by
 Blockstun - ((Active - 1) + Recovery)
is the difference in recovery time between the aggressor's attack and the defender's blockstun, assuming you blocked the move on the first active frame.
Many games on this wiki use an Attack Level system to standardize Blockstun, Hitstun, Hitstop and others for every move in the game, with a few exceptions. You can find these numbers in the games' Frame Data pages.

Notes on startup frames

In the frame data on this site, we use the time-to-hit convention: Startup will list when the move hits, a point in time, which is different from Active and Recovery, which is a duration. If a move is said to have 5 frames of startup, it actually has 4 frames of startup and hits on frame 5. This is so you don't have to do any extra math to figure out when a move hits. When calculating the total animation time of a move, remember to subtract a 1.

Most frame data for other games use this same convention, but some may list startup as true-startup. So beware of this if you notice your calculations are always off by 1.

Different ways to calculate frame advantage

Static Difference Static Difference is the difference in recovery time between the aggressor's attack and the defender's blockstun, assuming you blocked the move on the first active frame. It is calculated by:
Blockstun - ((Active - 1) + Recovery) = Static Difference

People often use this interchangeable with frame advantage. :Dustloop also adopts Static difference when writing advantages.

Real Frame Advantage Since not all the times you will land the first active frame, the actual Frame Advantage is not static in most of the cases: you can get your advantage by calculating
Blockstun - (Remaining Active + Recovery) = Frame Advantage

Most of the time, Frame Advantage will be a range of numbers, rather than a single number.

Meaty

A meaty is when you land your attack midway through its active frames. When an attack hits, it still has to transition through its remaining active frames, plus its recovery frames before it completes. To calculate the maximum advantage can your attack make under meaty conditions, simply calculate:

Blockstun - Recovery = Maximum Frame Advantage

By landing your attacks as meaty, you recover sooner, giving yourself more frame advantage. The most common way to meaty an attack is to knockdown your opponent and have them wakeup midway in to your attack.

FAQ and Stuff

Question Answer
What can't frame data tell me? Frame data is information on timings. Sometimes there'll be additional information like attack effects and such. The major thing frame data lacks is the positional data. It can tell us when a move will hit, but it can't tell us where the move will hit. We can see if there's enough time to do a move, but you still need to go back to the game to make sure the move is relevant, spacing-wise.
Are frames different from game to game? Yes.

Generally, fighting games run at roughly 60 frames per second. That is, one frame is shown for a 1/60th of a second before proceeding to the next frame.

This isn't always consistent within a game. Super Street Fighter 2 Turbo, for example, runs at a slightly higher than normal framerate on Zangeif's stage, and a slower on T. Hawk's stage. Guilty Gear exhibits momentary slowdown when large amounts of special effects are on the screen. Console ports sometimes also have speed differences, Guilty Gear Accent Core, PS2 Capcom Vs SNK 2, and PS2 Third Strike all run faster than their arcade counterparts.

When thinking of frames, it's best to think of them as just that. Avoid associating them with real world time. 1 frame is always less time then 2 frames, but 1 frame in SF4 isn't 1 frame in GGAC.

How many frames per second can the human eye see? This question isn't so simple to answer, and perhaps even the question is incorrect. But I can tell you that back when First-Person Shooters and 3D hardware were getting big, I could absolutely see the difference between 15fps, 30fps, 60fps, and 100+fps. As we kept managing higher and higher frame rates, there was never a point where it felt like my eyes/brain were missing frames. Though there was definitely a point where I was missing money.

If you're interested in the topic, there's google.

How many frames can people react to? To best answer this question, we should first differentiate between two types of reaction time: simple reactions, and complex reactions.
Simple reactions are when you are waiting to react to a single possible action. The classical example is pressing a button when you see a light appear. On average people can perform simple reactions in around 13 frames, but this will become slower if the animation is more subtle.
Complex reactions are when you must react differently to different stimuli. For example, pressing different buttons depending on the color of light that appears. On average performing a complex reaction takes over 20 frames, and can take longer depending on how many different stimuli the person must react to.

Simple reactions are clearly much faster than complex reactions, but for novice players EVERYTHING in a fighting game looks like a complex reaction. So how do players react to situations and attacks as if they were simple reactions? As a player gains knowledge of a game and learns the habits of their opponent, they can filter out unlikely options in their mind to improve their reaction time!

What's the difference between 'Low Profile' invulnerability and 'Upper Body' or 'Above the Knees' invulnerability?
Low Profile
The hurtbox of a move ends a short distance from the floor and this is reflected in the animation of the move as the character is very low to the ground. I'no's Stroke the Big TreeGGST I-No Stroke the Big Tree Hitbox 6.pngGuardLowStartup16Recovery15Advantage-7 is a classic example of this.
Upper Body, Above the Knees
The hurtbox of a move ends a short distance from the floor however this is not reflected in the animation. Often there is no visual indication at all that moves with these properties will evade moves that don't hit low to the ground. Most 6PsGGST Zato-1 6P Hitbox1.pngGuardAllStartup12Recovery12Advantage-6 in Guilty Gear games are good examples of this.

Case Study 1 (Brief Introduction to Frame Advantage, and Why Knowledge is Power)

Let's take a look at a situation in GGAC. You're Ky and you're fighting Jam. Jam does her 5H and you block it. What can you do afterwards?

Let's look at Jam's 5H data.
Damage Guard Startup Active Recovery On-Block Invuln
24×3 Mid 13 3(3)3(3)3 15 +1 22~24F, 34~36F Upper Body
25~33F Low Profile
Total: 42

Jam's 5H is a three hit move. Number in parenthesis represent the number of frames between each hit. What we want to look at is the on-block A measure of frame advantage when the opponent blocks an attack. Positive values indicate that the attacker can act first. Negative values indicate that the defender can act first. on Jam's 5H. It's +1, a positive number. This means, if you block Jam's 5H, Jam gets to "go first." She recovers one frame before you recover from blocking her 5H.

FRC Window Proration Guard Bar+ Guard Bar- Level
N/A 14×2,20 6×3 4×2, 5
  • 3rd hit pulls in opponent on hit

Now let's say that after the 5H Jam follows up with her 5K.

Jam recovers from her 5H one frame before Ky recovers from blocking Jam's 5H
Here's Jam's 5K data.
Damage Guard Startup Active Recovery On-Block Invuln
12 Low 5 4 7 +1
Total: 15

Here, the important bit is the startup The time before an attack is active including the first active frame. For example, an attack with 10F startup means the attack will do nothing for 9 frames, then hit the opponent on the 10th frame. , which is 5 frames. After blocking Jam's 5H you need a move with 3 frames of startup to beat the incoming 5K. It's 3 frames of startup, instead of 4, because you are starting one frame late. 4 frames of startup is needed to trade, and anything 5 frames or more will get beaten out.

FRC Window Proration Guard Bar+ Guard Bar- Level
N/A 80% 5 7 2
  • Jam is in CH state during move

Looking over Ky's data we see that 2PGGAC Ky 2P.pngGuardMidStartup4Recovery5Advantage+1 is his fastest move, at 4 frames of startup. In this particular situation, Ky can only trade with his 2P or risk a Vapor Thrust.

Now you might be thinking you didn't need to look at a bunch of boring charts to figure this out, you could just play the game and come to the same conclusion. And yeah, you could. But how long would that take, and would you even arrive to the same conclusion? How do you know when you solved the situation? There are a lot of variables in a match. Human execution alone adds a lot of noise to experiments. I know for people without access to frame data, or refuse to look at frame data, tight situations like the above, they sometimes conclude Ky can beat out Jam's 5K if he gets his 2P}} out early enough. But with the data, we see that early enough doesn't exist. Should Ky ever beat out Jam's 5K then it is due to an error in execution on Jam's part.

But we do have the data, so let's take an even closer look at this situation. Reviewing Jam's data we see that 5K isn't even her fastest move. 2P is 1 frame faster. What if she followed up her 5H with 2P instead of 5K? That means that after a 5H, against a 2P, Ky would need a move with 3 frames of startup to at least trade. But Ky doesn't have any move faster than 4 frames. What about the Vapor Thrust? It just so happens that Jam's 2P also recovers in time to block a Vapor Thrust.


The truth laid bare. The first row is the timeline.
Second row is Jam's 5H, 2P frames laid out, and the bottom row is Ky's blocking and reversal Vapor Thrust frames.

In actuality, Ky has no options after normal blocking Jam's 5H. And we learned all this without even fighting the matchup!

The Vapor Thrust missed. Poor Ky.

Have you ever heard of the OG player Buktooth? Let me paraphrase him:

Match experience can replace knowledge, but knowledge can often let you come to conclusions that would otherwise require match experience.

Case Study 2 (Creating Frame Advantage: Meaty Setup, Okizeme)

May's 5K data
Damage GuardHow this attack can be guarded. Throws have their throw range listed instead.
High: High or air Faultless Defense
Low: Low or air FD
Mid: Any ground block or air FD
StartupHow many frames it takes for the move to become able to strike the opponent. Startup includes the frame on which the move becomes active. ActiveHow many frames for which the move has a hitbox where if the opponent touches it, they will take damage. Occurs after Startup. RecoveryHow many frames that the move must go through after its active frames end to automatically go back to a neutral state. On-BlockAlso known as Frame AdvantageThe difference between the attacker's recovery and the period that the opponent is in blockstun. This value is based on the first active frame. Invuln Level
20 Mid 9 6 9 -3 4~17F High profile
4~14F Throw
2


A poorly timed meaty, -3 frames. And a perfectly timed meaty, +2 frames!

When May knocks you down, she can run up and do a 5K with near impunity. Her 5K is throw invincible, affording novice May players an easy reversal-throw-safe okizeme. And is relatively safe against many backdashes. But when not meatied, 5K is frame disadvantage on block. Many novice May players improperly meaty their 5K, requiring them to chain to other moves to create space, or burn meter to avoid a frame-disadvantageous situation.

"Johnny, you idiot!"

With a proper meaty 5K, May keeps her throw invincibility while also becoming reversal-safe against a large majority of the game's reversals and topping it all off with a +2 on block. The frame advantage gained from a meatied 5K aids her command-throw game.


Case Study 3 (Meaty Setup, Traveling Hitbox)

Many moves are in-place: their hitboxes move nowhere and you must forcibly position your opponent to take the attack midway through. This is how meaty setups done on okizeme work.

The second way to meaty a move is to make use of a traveling hitbox. Any character with a run can use the momentum from their run to cause their attack to travel and hit midway through its active frames. Some attacks move by themselves: Axl's green chain is a good example of this, along with Zappa's f.S and Slayer's 2D.

An example of using dash momentum to induce a meaty is with Ky's 2D. Ky's 2D, in most instances, is punishable on block, if it weren't for his ability to jump-cancel or special-cancel it. But canceling 2D to a jump or a special move carries its own risks.

Running 2D.

By running, putting the attack out early, and then using the run's momentum to carry the attack into your opponent on its latter active frames, you can make 2D safe, or even frame advantage, on block.

Ky's 2D hitting on the last active frame.

Slayer's 2D is a more common example of a traveling hitbox. It's also easier to do, the attack has built-in movement. Should Slayer's 2D be blocked from a close range, your opponent can probably punish it: you hit early in the active frames and you now have more recovery.

Slayer's 2D hitting on the first active frame.

But if you space yourself further back, you'll hit with the late frames and have less recovery and be safe, but at the cost of more startup.

Slayer's 2D hitting later.

Case Study 4 (Relative Advantage)

Chipp's 6K data
Damage GuardHow this attack can be guarded. Throws have their throw range listed instead.
High: High or air Faultless Defense
Low: Low or air FD
Mid: Any ground block or air FD
StartupHow many frames it takes for the move to become able to strike the opponent. Startup includes the frame on which the move becomes active. ActiveHow many frames for which the move has a hitbox where if the opponent touches it, they will take damage. Occurs after Startup. RecoveryHow many frames that the move must go through after its active frames end to automatically go back to a neutral state. On-BlockAlso known as Frame AdvantageThe difference between the attacker's recovery and the period that the opponent is in blockstun. This value is based on the first active frame. Invuln Level
20 High/Air 19 7 3+3 after landing -1 2


"Too slow!"

You don't always need frame advantage to be in a positive situation. Chipp's 6K is -1 on block, but even so, against a slow character like Axl he still maintains relative frame advantage. Chipp's fastest attacks are 4f startup. Axl needs a move with at least 5f startup to trade, but Axl's fastest normal is 6f. Even though Chipp is at frame disadvantage, this is still a "frame advantage" situation. Axl is forced to risk a catch-counter or take the pressure.


Chipp does 6K, then 2P vs Axl blocking then 5K


See Also


Navigation