• # Reading and Using Frame Data Part 1

4r5 has written up a guide for those of us who don't know how to use the frame data we have on this site! Here's part 1.

When you look at frame data, you're going to see a lot of numbers. I know some people are deathly 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. Before we dive in to the tiny details of what all this information means, I think it would be useful to start off with a simple and basic example.

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

Let's take a look at a situation. 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:

Jam's 5H data, from Dustloop's frame data guide. (Jam's 5H is a three hit move. Number in parenthesis represent the number of frames between each hit.)

Startup: 13
Active: 3(3)3(3)3
Recovery: 15
Static Difference: +1

What we want to look at is the static difference 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. 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:

Startup: 5f
Active: 4f
Recovery: 7f
Static Difference: +1f

Here, the important bit is the startup, 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.

Looking over Ky's data we see that 2P 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 framedata, or refuse to look at framedata, tight situations like the above, they sometimes conculde 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 Thurst? It just so happens that Jam's 2P also recovers in time to block a Vapor Thrust.

The truth laid bare. Top row: Jam's 5H, 2P frames laid out. Bottom row: 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!

Poor Ky.

Any of you ever heard of 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."

Definitions

Intuitively, I think we all understand that attacks take time to hit, have a time when they hit, and a 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.

Startup

Startup is the time starting from when a move initiates to the first hitting frame. With a move initiating when you press a button (or complete the motion/command).

Active

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

Recovery are all the frames following the active frames. These are the frames remaining till you are free to move again.

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, durations of time.

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.

Blockstun and Hitstun
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 Difference

Formula for 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. People often use this interchangable with frame advantage.

Frame advantage is a situation in which you can act before your opponent can. Frame disadvantage is when your opponent can act before you can. Even, or neutral, is when you and your opponent recover on the same frame.

Meaty

Formula for maximum potential frame advantage.

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. 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.

Static difference is the frame advantage you would have if you land your attack on the first active frame; in other words, it is the worst case scenario. A perfect meaty is when you land your attack on the last active frame -- the best case scenario. The frame advantage of a move is not a single number, but a range of numbers.

FAQ and Stuff

Q. What can't frame data tell me?

A. 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.

Q. Are frames different from game to game?

A. 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 procedding to the next frame.

This isn't always consisten within a game. Super Street Fighter 2 Turbo, for exmaple, runs at a slightly higher than normal framerate on Zangeif's stage, and a slower on T. Hawk's stage. Guilty Gear exhibists momentary slowdown when large amounts of speacial 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.

Q. How many frames per second can the human eye see?
A. 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.

Q. How many frames can people react to?
A. I would say the better question is: How do I get people to get hit by a move? But since there do exists some absolutely horrible moves that people never get hit by (e.g. Cammy's Spin Knuckle), then there must also be a margin where people just won't get hit, but will in fact hit you.

Over many years, and many games, and many people, the rule of thumb I found is 15 frames, or 250 milliseconds, give or take. At that point, I expect everyone, down to even the loneliest noob, to at least be able to block the move on reaction. Moves slower than that and I expect people to start hitting me on reaction.

Applying Frame Data

Case Study 2
Creating Frame Advantage: Meaty Setup, Okizeme

May's 5K data:

Startup: 9
Active: 6
Recovery: 9
Static Difference: -3

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 no where 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

Chipp's 6K data:

Startup: 19
Active: 7
Recovery: 3+3
Static Difference: -1

"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