The Art of Punishing - Practical Applications of Frame Data and hitboxes
I didn’t feel like doing a main video for a lot of the examples, but i’m willing to record and post a video on any of the examples above if someone wants me to. There are video’s below showing specific punishes for specific characters. Scroll to Post 2 if you want to see them.
Also in my defense, it didn’t seem this long as I was putting everything together :[
How to punish an attack is a really big part of the metagame in SF4, when you show an opponent that you know how to and when you can punish an attack, it should make your opponent think twice about using the attack again. Attacks in SF4 can be punished on contact, whiff and on reaction.
Frame data is really important in determining how you can punish an attack, yet frame data does not give enough information to guarantee or confirm a punish. There are things to take into consideration such as hitbox interactions, pushback, spacing and hitstop (especially with attacks with ex.armor).
The important numbers in frame data are:
Startup frames
Startup frames are the frames before an attack can actually hit if it collides with a hurtbox. If you watch the hitbox videos (torrent), the startup is the time between when the animation begins and the red boxes appear. During startup, attacks can be counterhit, this is not true for recovery or active frames (in most cases). When you interrupt an attack on startup, that attack gets a damage buff and a frame advantage buff. So if you were to CH an attack with cr.mk, you’d get 125% damage and instead of being +7 on hit, you’d be +10. Keep in mind very few attacks force stand (balrog’s cl.mp, cl.hp, dash straight and lp.oh on CH, force stand) so combing into Ultra after CH is difficult. Good invincible attacks have invincibility up until their active frames or invincible startup AND active frames (compare Gief’s ex.gh to Rose’s ex.ss). Subpar invincible attacks only have some invincible startup frames, meaning that they can lose to attacks with enough active frames. Also for those who download the hitbox videos, the hitboxes are only accurate up to SSF4 and don’t include the changes (or characters) for SSF4:AE or SSF4 v2012, Eventhubs has images for those characters as well as updated hitbox images accessible from the hitbox link after clicking on the appropriate character name, nowhere near as good as the videos.
Active frames
Active frames are the frames in which an attack can count as a hit. Some attacks only hit once, and some hit multiple times. If the frame data shows only one number (e.g. 2f) then the attack can hit once within those 2f, while if they show multiple numbers (2*3), then the attack can hit once for each of the frame durations listed, this is important when dealing with '“trades” between attacks and armored attacks. Some attacks also have active frames that can break armor. Active frames can trade with another attack if the hitboxes collide with hurtboxes simultaneously. When a trade occurs the frame data goes kerflooie and you get combo videos (lol). The only useful trade that Balrog has consistently is a non-ex.hb trade with jump-ins, mostly lp.hb. This is only useful for jump-ins that don’t slam you to the ground (e.g. Juri d+hk or Gouken nj.hp/j.hk).
Recovery frames
Recovery frames occur after the active frames are finished. An opponent is completely vulnerable during these frames and HAS to complete the animation. Recovery frames are often masked on hit/block because both characters are committed to the animation in terms of hitstun/blockstun. If an attack whiffs and doesn’t come into contact with an opponent, then it goes through the recovery. There is also recovery on aerial attacks; some aerial attacks (especially jumping normals) are cancelled by landing frames (4f of recovery), while others have special recovery (compare Rufus’ dive kick to Vega’s Whiffed Flying Barcelona).
Frame advantage
Frame advantage/disadvantage only occurs when active hitboxes come into contact with a character. Because recovery is static (never changes), hitting with late active frames increase the frame advantage by the number of active frames before the active frame that hits (see SF4 Game Mechanics: Meaties and Safe Jumps). Negative advantage on is when the character being attacked recovers sooner than the attacker while positive advantage is when the character attacking recovers before the character being attacked. When someone attacks and their at negative frame advantage you can attack before they recover (punish), and when someone attacks and has positive frame advantage, they can attack before you and given enough frame advantage they can keep attacking while their opp is in block/hitstun (blockstring/frametrap).
Special properties (notes)
There are a number of properties that can be attached to frames. The most well known are invincibility, airborne, and pursuit property. Pursuit property lets you juggle from certain juggle states, airborne generally means you’re invincible to grounded normal throws and air reset if hit. Invincibility means that your hitboxes are invulnerable to certain types of active frames such as strike, throw, and projectile; some invincible attacks are invincible to all while some may only have one or two.
The armor property is a really important when playing with Balrog as his ex.dashes serve a ridiculous number of defensive and offensive uses. Attacks with super armor can absorb one non-armor breaking hit while attacks with hyper armor can absorb two non-armor breaking hits (Fuerte’s and Guy’s run can absorb two hits). All armored attacks have armored from the first startup frame through their active frames; this means that they can beat some meaty attacks and jump-ins. The armor breaking property is attached to active frames of certain attacks; when these active frames come into contact with an armored hitbox, there’s the sound of glass shattering and the attack will either be beat out alltogether or trade.
Armored Exchanges
Spoiler
For example, if Balrog does an ex.torpedo, and Bison does a reaction ex.pc, the pc trades with the ex.dash even though the armor is broken, this is because when the invincibility on ex.pc is gone, both the ex.dash and Bison are in their active frames and a trade occurs. Only some moves actually have the armor breaking property versus hitting multiple times. Another example is Fei Long and Cammy’s U1, if Balrog does an ex.dash punch and they reversal/reaction Ultra, but come into contact with Balrog AFTER their invincible frames have completed, balrog absorbs the hit and hits them clean.
Finally, armored attacks are usually ex attacks, and can be kara-cancelled/armor-cancelled into a higher priority special (see SF4 Game Mechanics: Option-Selects).
Hitstop
This is another magical frame data number that isn’t well known. Hit stop or impact freeze is what happens when hitboxes come into contact with each other. There’s a finite amount of time where the two players freeze and then the recovery animation ensues. Hitstop is where you actually cancel one attack into a special/super/Focus Attack.
Full Damage trades
Spoiler
The easiest example of hitstop is when you attempt to safe jump Dhalsim and he does reversal U1 which starts up in 12f but only has 1f of full body invincibility. So you perform a 5f safe jump against Dhalsim and somewhere within it’s last couple of airborne active frames it hits Dhalsim between startup frame 2 of his U1 and frame 12. Because you are stuck in hitstop and Dhalsim has already activated his U1, you hit Dhalsim, but the actual fireball doesn’t go away, and it’s active and hits you as you recover from hitstop (instead of you blocking). Compare this to a safe jump against Abel who does a reversal U1, which starts up in 14f (fully invincible from frames 1-4) but because you don’t hit him, you’re able to block.
Important physical properties within the sf4 engine are:
Pushback
Although pushback is a numerical property, it’s not well documented, but understood instinctively (e.g. i’m not in close enough to punish). Pushback is very visual. The biggest press pushback ever got was when Dictator’s cr.lk xx lk.sk block string was so powerful because he was still in range for cr.lk after a blocked lk.sk in the corner.
Hitboxes
When you come into contact with an opponent, you actually come into contact with their hitboxes versus a 3D model that matches exactly what you see. Sometimes, punishes don’t make sense visually. For example if you counter poke, Sagat’s st.hk with Balrog’s cr.hk, it looks like Boxer’s glove is maybe a pixel or two away from Sagat’s foot. The reason this is a punish is because most character’s hurt box on their vulnerable recovery is much fatter (horizontally challenged) than the actual 3D model. More on this in whiff punishing.
Calculating Vulnerable Frames
If you’re in the lab trying to figure out how to beat an attack whether with an O/S or a simple punish on whiff/block, knowing when you can hit the opponent and not trade and what types of attacks you can use makes a big difference. Below i’ll walk through the process of finding the vulnerable frames of Zangief’s jab green hand.
Calculating Vulnerable Frames
[details=Spoiler]lp.gh has no invincibility so he always has a hurtbox, thus the number of vulnerable frames are equal to the total duration of the attack. lp.GH has 34 vulnerable frames with only 2 that can trade. Contrast with Gief’s ex.GH which has 13f of strike/projectile invincibility in a total animation of (13 + 2 + 26) = 42f. Those frames minus frames where you can’t hurt the opponent (invincible frames) are vulnerable frames. Thus Gief’s ex.gh has 29 strike/projectile vulnerable frames located toward the end of his animation, but 42 throw vulnerable frames since the attack has no invincibility to throws.
These frames are very important when trying to offensively combat meaty attacks. If the startup for your invincible attack is less than the opponents vulnerable frames (usually active+recovery) then your attack will beat theirs. For example, Balrog’s meaty cr.lp: if hit on the 2nd active frames has 6 vulnerable frames and can be beat with a reversal 3-5f dp, but if C. Viper does a reversal U1 (5+1f startup), Balrog can block. [/details]
Punishing on Contact
The most well known way to punish an attack is on hit/block. An example attacks that fits both of these is Zangief’s jab green hand (banishing flat). On block you can punish with cr.lp and on hit you can punish with cr.lp .
PLINK YOUR NORMAL PUNISHES!
Frame Advantage
Attack Startup Active Recovery Block Hit
lp banishing flat 11f 2f 21f -7f -5f
[LIST=1]
[]On block, if hit on the first active frame you enter 14f of recovery (21f - 7f), because you recover 7f earlier than Zangief you can punish with any attack that’s in range and goes active before he recovers.
[]on hit you enter 16f of recovery (21f - 5f), because you recover 5f earlier than Zangief you can punish with anything that fulfills the punish requirement in 5f. At worst the lp.gh comes into contact with you and you can always punish with st/cr.lp . At best you block and punish with cr.mp/cl.hk
[/LIST]
But what if Gief FADCs the attack?!
Gief’s dash is the same forwards and backwards (26f), so it makes the math easier. When an attack is cancelled into a focus attack, it converts the remaining frames (active and recovery) into a focus attack or focus attack and dash. Because you were hit, you encounter the same amount of blockstun that you would usually encountered if he didn’t FADC.
Gief connects on the first active frame
BLOCK: Gief - 22f -> 26f Opp - 15f Frame advantage[-11]
HIT : Gief - 22f -> 26f Opp - 17f Frame advantage[-9]
Aside from the distance requirement (whether he fwd dashes or backdashes) Gief is at -11 if he fadc’s lp.GH on block and at -9 on hit. Punishing with something other than U1/super has a distance requirement. If Gief hit’s you with just the tip of his hand and back dashes, you’re not in range for anything but super and U1. Balrog can punish with st/cr.hk, st.hp, super and U1 if Gief is very close to you. If he dashes fwd, you can punish with U2 as fwd.dashes are completely vulnerable and non airborne. Zangief’s symmetric dashes are specific to him; most characters have faster forward dashes than backdashes. For example Balrog is 18f forward and 22f backward, while Sagat is 18f forward and 29f backward.
I have a Chart that notes Balrog’s ability to punish FADC backdashes on the first active frame, look at the FADC punish sheet.
What if you use an attack with armor?
When you hit an opponent during their active frames with an armored attack, the opponents attack both “whiffs” and “hits” simultaneously. With the exception of Juri’s ex.counter, the performer of the armored attack takes some damage, but doesn’t have to go through the recovery associated with blocking or being hit by an attack. It is because of this that the attack effectively “whiffs”, thus if the armored attack reaches it’s active frames before the opponents attack completes its recovery, they get hit.
Vega meaty cr.mk
Spoiler
For example, Vega (claw) does a meaty cr.mk at max distance and balrog attempts to offensively counter with ex.dash low (because it low profiles), Vega will recover first and be able to block, or (possibly) offensively reaction punish with U2 before you come into contact with him. The I tested was, df+hk, cr.hk, bwd.dash, slight delay, cr.mk.
Focus attacks also fit into this category. Because FA’s have armor, they also cause the attack to whiff and their vulnerable frames are equal to their remaining active frames plus their recovery. There are two ways you can punish with focus attacks: (1) charging the focus attack and releasing (lvl 2’s are the most useful), or (2) focus attack dash cancelling into a normal throw or a jab or special (See Auto-dash U2). The vulnerable recovery necessary for both of these to be effective is >22f. For example, two of balrog’s most useful pokes, cr.hk and far st.hp, are focus bait because their recovery is greater than 20f. These can be punished on reaction with a FADC into cr.lp/throw for some characters, or a lvl2 focus fish (e.g. between cr/st.lp, cr.hk poke string). Fireball blockstrings are the easiest to punish with this, if Dan/Ken/Akuma/Sakura or Ryu (max distance) do cr.mk xx hado, it’s not a block string, and thus can be punished with an armored/invincible attack.
Also lets keep in mind that Balrog has a shitty FA, verus Fuerte, Dictator, or Dudley…or Chun (shudder) See SF4 Game Mechanics: Focus Attacks for more info.
Another Example - Honda’s ex.hb
[details=Spoiler]
Frame Advantage
Attack Startup Active Recovery Block Hit
lp headbutt 13f 17f 14+13f -9f -
ex headbutt 8f 25f 14+13f -8f -
In the Honda matchup, Boxer’s range for “safe” chip damage is about 3/4 screen, while Honda’s is about 1/2 screen with lp.hb and almost full screen with ex.hb. In general what can happen is that you step within this range, and if you’ve got bad reactions, you allow him to get chip damage safely with lp/ex.hb. Honda’s jab and ex headbutt for all intents and purposes are unpunishable under most circumstances. There are only two situations where you have guaranteed punishes against the two, both with super. What makes the reversal super punish difficult is pushback. The pushback for headbutt on block changes depending on if you block standing or block crouching. Thus to punish ex.hb with reversal super on block mid-screen, you have to block standing and then reversal super.
Also some will ask why can’t you punish with U1 since you can do the frame trick and activate in 8f, and the reason is because U1 doesn’t cover as much distance in 8f as super, so unless you’re in the corner, being able to punish with reversal U1, is going to be very dependent on spacing but possible.[/details]