What are frames anyway?
Ever created or even seen a flipbook animation? If you have, then you already understand the concept. The technical details don't really matter. If Ryu is a character in your flip book animation, then the pages would be the frames. You can think of fighting games as flip book animations
that (usually) run at 60 frames (or "pages") per second.
But fighting games are more complex than flipbook animations!
The key is to only concentrate on the entities in the game that affect gameplay. ie. Characters and projectiles. Everything else can safely be ignored. Noone is interested in the frame data of a spectator dancing in the stage's background.
Aah OK... but how does this help me? And what do all those numbers in the guides mean?
Before we get to that, remember that every attack in the game has 3 phases - startup, active, and recovery. Think of physically throwing a punch. The startup is when you raise your fist from it's resting position, pull it back and start to throw it forward. At this stage your punch is practically incapable of doing any damage. The active phase is when your arm is fully extended and is capable of connecting with a target and doing damage. The recovery phase is when you pull your arm back to it's resting position. In fighting games, frames give us a convenient unit of measurement when considering (among other things) how long these phases last for the different moves. ie. If SFIV is one giant flip book, then the frame data is basically a count of how many pages it takes to animate certain moves.
Sounds simple enough, but I still don't understand how to read frame data.
Let's take an example straight from SRK's SFIV Ryu Wiki
The frame-relevant columns in the table are Startup, Active, Recovery, Frames On Guard, Total, Frames On Hit, Frames of Block Stun and Frames of Hit Stun
For Ryu's Far Light Punch, the respective values for the move's phases are:
4 Startup frames
3 Active frames
6 Recovery frames
The convention in frame guides is to include the first frame of the active phase of the move in it's startup (apparently because some people find it hard to add 1 to a number). So when you see a move has a 4 frame startup, it actually means it takes 3 frames to startup and hits on frame 4. This is also incidentally what people mean when they refer to "X" frame moves. X just represents the first frame of the move's active phase (ie. the first frame it's capable of hitting the opponent). In this case, Ryu's Far LP is a 4 frame move. The frame data also says the active phase of Far LP lasts for 3 frames, which means that it's capable of hitting an opponent for 3 frames in it's life span. The 6 frames of recovery should be obvious.
The next column represents the move's total lifespan in terms of frames. In this case, it's 12. "But 4 + 3 + 6 = 13!!" I hear you say. That's true but remember that the first frame of a move's active phase is included in the startup! So it's actually 3 + 3 + 6.
Let's ignore the Frames On Block/Hit columns for now and focus on the Block/Hit stun columns. Block stun represents the number of frames that you will be unable to do anything (besides block) if you block a certain move. Hit stun represents the number of frames that you will be unable to do anything if you get hit by it. Note that this usually only applies to grounded opponents. In this case, Ryu's Far LP does 10 frames of block stun and 13 frames of hit stun. So if you get hit by it and you're not blocking, you won't be able to do anything for 13 frames. If you were blocking, you'll be kept in a blocking state for 10 frames.
Frames on hit/block represent how much quicker (or slower) than your opponent you recover after landing a move (under standard conditions). Ever heard of people talking about how a "safe" a move is after hit/block? Or "frame advantage"? This is what these numbers represent. It's actually pretty simple to calculate, but frame guides include it for convenience. Without looking at the frame data, we can calculate it ourselves by adding the number of active and recovery frames, subtracting one (we don't include the frame where the move connects), and then subtracting this value from the block/hit stun values. So for Ryu's Far LP, we have:
3 active frames + 6 recovery frames - 1 connecting frame = 8.
Subtracting from block/hitstun:
13 - 8 = +5 on hit
10 - 8 = +2 on block
... which is exactly what the frame data says. This means that if your opponent blocks your Far LP, you'll be able to act 2 frames quicker than them after it lands (in other words, you have a 2 frame advantage). And if they don't block it, you'll get a 5 frame advantage over them.
Any move that is +0 or more on hit/block is considered safe from punishment. However, even though some moves are -1 or -2 on block/hit (meaning your opponent recovers quicker than you), they are still safe under most conditions because very few moves in the game are able to punish within two frames. Remember, a move has to reach it's active phase before it's able to connect and do damage. If an opponent tries to punish your move with a move that has a long startup, you'll usually have enough time to evade or block it even if you are at a slight frame disadvantage.
On the other hand, consider though Ryu's Close HP. It's -15 on block and -10 on hit. Your opponent will recover a full 10 frames quicker than you even if you successfully land it and will be punish you with virtually any move in his arsenal. It's completely unsafe on block and hit. Fortunately, you can skip the recovery of the of close HP by cancelling it straight into a special move like SRK, Fireball or Tatsu.
Wait wait wait... that's way too much info for me! And how am I supposed to remember all these numbers anyway!?
The important thing is to understand the concepts and implications, not remember the actual numbers. Frame data is usually just used as a reference. Very few players try to memorize all the numbers. Some of the data sticks in your head because it gets discussed a lot on forums etc, but not many people out there actually even know the all frame data for the characters they main. And even if you could memorize all the numbers, it's not going to help you in a match. You're not going to sit there and manually count the frames of various attacks.
So why even bother with frame data at all then?
It's completely possible to play without even knowing an iota of frame data. Some top players get by without even considering it. In fact, in the good 'ol days playing "by feel" was the only way people played, and there are many legendary players that come from that era. Frame data makes it easier to reason about and discuss certain things though. Instead of saying an attack is "quick", you can say it's a 3 frame move and everyone will know what you're talking about. It also takes out a lot of the grunt work. Instead of going through your entire arsenal trying to figure out which move you can use to punish after you blocked your opponent's cr.hk, you can just look up the relevant frame data and have the answer in a few seconds.
OK, I think I understand. But why measure in frames? If you're measuring duration why not use something like milliseconds?
Because it's easier to reason and talk about a 4f move than a 66.67ms move
Makes sense. So basically I can use the frame data to figure out combos and stuff?
Yep, but you can also use the frame data to easily figure out which moves can punish what, how safe/unsafe certain moves are, and check how much invincibility a move has. This information is usually included as a note or comment. eg. The note: "1~4f invincible, 5~16f lower body invincibility" for Ryu's HP Shoryuken means that it's invulnerable to normal attacks from frame 1 to 4, and the lower part of his body is invincible from frame 5 to 16. Again, you don't have to memorize these numbers, but given this information it's pretty easy to figure out that even if your opponent is able to attack with a poke or something a few frames before you are, you can do an HP Shoryuken to beat them because it has so many invincibility frames.
What's a "meaty"?
Remember how we calculated the frame advantage on block/hit? We took the hit/block stun and subtracted the recovery AND active frames. Why subtract the active frames? Because if you connect Ryu's Far LP on the very first active frame (frame 4), there are still 2 more active frames that have to pass before you reach the recovery phase. This means that after the move connects, there are 2 remaining active frames + 6 recovery frames = 8 effective
frames of recovery. However, if you manage to connect the move on it's last
active frame then you only have to endure 6 frames of recovery. This is known as a "meaty" (it doesn't have to connect on the last
active frame though). How do you connect a meaty attack? The simplest and most common way is to time the attack on your opponent's wake up so that they wake up "into" the move's active frames. The benefit of a meaty is it forces your opponent to either block or perform an invincible move (some reversals or an evasive move like a backdash). It also gives you more frame advantage on block/hit. Some link combos actually require you to use a meaty attack because under normal circumstances you wouldn't have enough frame advantage to link the followup.
WIP... Questions, comments, suggestions, corrections etc are welcomed and encouraged