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 starup 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
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.
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-blockA 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. Now let's say that after the 5H Jam follows up with her 5K.
- Here's Jam's 5K data.
Here, the important bit is the startupThe 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.
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 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.
In actuality, Ky has no options after normal blocking Jam's 5H. And we learned all this without even fighting the matchup!
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
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.
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.
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.
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.
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.
Case Study 4 (Relative Advantage)
- Chipp's 6K data
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.
See Also