SF4 Game Mechanics: Blocking and Blockstrings (Balrog Emphasis)



SF4 Game Mechanics: Blocking (Balrog Emphasis)
Youtube Video - Proof of Concept - SF4 Game Mechanics: Blocking (Cliffs)

Blocking allows you to avoid 2/3s of all attacks in the games (strikes and projectiles). As Street Fighter is “loosely” based on actual fighting, there are a number of mechanics that fall under blocking such as: autoguard, proximity blocking, trip guard, fuzzy guard, block strings, and block stun. In general, you can block strikes and projectiles, you can’t block grabs but you can tech normal grabs and you just have to avoid command grabs in general. Normals don’t cause chip damage when you block them, but specials do; generally specials are slower than normals so in a chip damage situation an op will start a simple block string with a normal and then cancel into a special to inflict chip damage. Also something that makes normals really good is that in block strings they maintain your opponents STUN, meaning that if you get a good combo in on them, and keep hitting them, even if they’re blocking their stun doesn’t go down.

All attacks have startup, active, and recovery frames. The first two don’t change for the most part (balrog’s dash punches are an exception). The recovery changes depending on if an attack hits or is blocked, this is the premise for whether a string of attacks is a true blockstring, and in some cases what makes a normal “good”: it’s frame advantage on hit AND block. Sometimes, the things that make these block strings false, make them very practical and effective as frame traps or counterhit setups.

A move is punishable on block if the op recovers fast enough to start their move before you are able to block; this is a half truth because you need two things to be able to punish a move: frame advantage and a move that has enough range. For balrog, this is about 3/4 a character space and at least 2 frames. Dirty bull gives a 2 frame normal throw range punish, while cr.lp gives a 3 frame punish that’s a bit more than throw range. And at best, 8 frame advantage with at max 1/2 screen range (Ultra 1/Super).

By definition a true block string is one where the opponent is in block stun until the very end of the combo. The most surefire way to test if a combo is a “true” blockstring is by using the autoguard test. Autoguard is a feature, where the game will automatically block for you after the first hit. Autoguard doesn’t really “block for you”, but while in blockstun and autoguard is in effect you are grounded and can only crouch or stand (effectively blocking high or low). To test a block string using autoguard, block the initial attack of the combo, and then put the stick in neutral, the moment where you get hit is where there is at least a single frame gap in the hits. True blockstrings do three things:
[]Offer you a safe way to do chip damage.
]Turn an unsafe move into a safer move OR a better situation.
[*]Allow you to maintain your opponents level of Stun since it doesn’t decrease while your op is in block stun
I’ll use two examples to show the difference between a false block string and a true block string.

<<notation startup, frame advantage block/hit>>
Examples - Block Strings

[details=Spoiler]Example 1 [True Block String]: This is a Gen Bnb combo [C]rane, [M]antis

[C]j.hk, j.hk, [M]st.mp, [C]cr.mp xx hp.roll
-su -/-, 4fsu +5/+6, 5fsu -3/-1 6fsu -3/+1

[C]cr.mp - 4A, 13R

This is true for the most part, albeit the final cr.mp xx hp.roll is a block string depending if its at max distance or not [more on this later]. But during this string you can meat spin 720s and you would be in block stun the entire time and be unable to attack until after eating the chip damage from the hp roll. In the case of balrog’s 3f cr.lp, he can frame perfect reversal and get a full combo from this after blocking. The reason this is a block string if done perfectly is because the normals link on block; there are no gaps in any of the attacks.

Example 2 [False Block String]: There are combos that combo on hit but not on block, a combo that C. Viper uses is:

cl.mp, cr.mp xx mp.tk
5fsu +3/+6, 5fsu +2/+5, 14fsu -1/+1

cr.mp - 4A, 9R

If you look at the data, cr.mp has a 5 frame startup, and although on hit (cl.mp) it would be a two frame link, on block, that gap is 3 frames, so you actually recover two frames before the cr.mp actually hits. In some ways this combo is much worse than a block string because it can be punished but you can also be…counter punished? I think that’s a good way to describe it. This is a frame trap at its most basic, because not many characters can actually punish that 3 frame gap (especially without meter). So you’ve got three things that can punish that: (1) Invincible specials (2) Specials with ex armor and (3) moves that go active in those 3 frames.

So as far as a punish for that three frame gap balrog has a couple of options, most of which are extremely unsafe (thus why it’s worse than a block string). Options include:
[]Rush punch with ex.armor
[*]Super/U1/U2 (if in range)
Each of Balrog’s first three options will work if the Viper is dialing combos, but what if she’s anticipating the attack? Blocking and throwing beat all of Balrog’s options. But if she goes along with the cr.mp you can definitely punish with an ex rush punch.

Being able to attack between the frame gaps of certain moves is not only applicable to block strings, but also normal to special cancels. I’ll go through two special cancels that are used often as pokes or simple block strings, but are inherently unsafe at certain distances because of the static startup of the specials.

Examples for Special cancels

[details=Spoiler]Example 1: normal to special cancel unsafe point blank. C Viper

3A, 9R
cr.mp xx mp.tk
5fsu +2/+5 14fsu -1/+1

3A, 16R
cr.mk xx lp.tk
7fsu -5/0 16fsu -2/0

I’m only going to do the numbers on the first combo, but both have the same problem. In short, the active+recovery frames aren’t enough (on block) to cover the startup of the special and the op recovers in time to punish. So best case scenario, you hit cr.mp on the first possible active frame and cancel into mp.tk: 2A+9R = 11F which is less than the 14 frames of startup of the tk. Thus your op recovers 3 frames faster than you and can punish with an applicable special. The same is true for cr.mk xx lp.tk because of its frame advantage on block - if it connects on first active frame: 2A + 16R (-5) = 13 which is less than the 16 frames of startup on lp.tk; this is also true for mp.tk.

2A, 18R
cr.hp xx lp.tk
8fsu -2/+2 16fsu -1/+1

This is how that block string can be made safer with less combo ability. Viper could also feint the tk to thwart any reversal attempt as well. Worst cast scenario: you hit the op with the last active frame and they block. 0A + 18R (-2) = 16. With 16 frames you can get out that lp.tk on block/hit without any gaps, it’s a TRUE block string in this sense and passes the autoguard test.

Example 2: normal to special cancel unsafe at max distance. Ryu

5A, 12R
cr.mk xx hado
5fsu -3/0 13fsu

Frame data is really important when it comes to explaining numerically why cr.mk xx hado is a block string sometimes. When you normal to special cancel, you replace remaining active and recovery frames with the startup to the special. So hypothetically, Ryu does cr.mk as close as possible so it connects on the first active frame and specials cancels at the earliest time possible, thus the startup for the hado is greater than the remaining active and recovery frames (16) of the cr.mk and you don’t recover from block stun until after the hado has connected. But what if Ryu hits you with just the tip during the last active frame? In this case you recover sooner from the blockstun given by the cr.mk and can punish accordingly. As far as the shotos are concerned, Ken has the worst fireball since it’s punishable even point blank, while Ryu seemingly has the best. This is probably fixed in AE with the reduction in his cr.mk’s active frames.

This has tons of practical applications because you can actually buffer in the motion during block stun and once you confirm the fireball press the button. Also because of autoguard, you can be sure that if it’s an actual block string that you’re safe since any input won’t come out since you’ll be in blockstun, although you’ll lose back/down charge. As far as mashing goes, if you’re making educated guesses, these are the best mashing points. The main reason this works consistently, is because of the static startup of the specials, they never change, so you can usually guess that light and medium normals cancelled to specials with lengthy animations will have a frame gap somewhere inbetween.

Example 3: Normal throwing to interrupt a block string of normals

cr.lp [+4/+7]

cr.lp, st.hp 9fsu 4 frame gap
cr.lp, st.hk 8fsu 3 frame gap
cr.lp, cr.mp 7fsu 2 frame gap

These could be considered frame traps, but they just demonstrate how much frame gap you need to perform a normal throw. This is especially important in matches against Gouken, where a successful backthrow can cost you the match. The second combo is interesting because it can catch crouch techs and setup a nice Counterhit, the st.hk’s startup is throwable, but cl.hk is not. Obviously enough, 2 frame gap isn’t punishable by normal throw (but is by SPDs).

In reference to balrog and block strings with normal to special cancels being punishable, he falls prey to the same issue as ryu’s cr.mk cancel into Hado but it’s a bit more complex. All of Balrog’s dash punches have variable startup:

               Light     Medium     Heavy    EX

Dash Straight 4-13 7-22 7-35 7-35
Dash Rush Upper 5-14 7-22 7-35 7-35
Dash Torpedo 12-21 13-28 13-41 13-41
Dash Low 13-22 14-29 14-42 14-42
Dash Overhead 22-31 23-38 23-51 23-51

The variable startup is dependent on how far you are away from the opponent, for example you want to combo into a lk.torpedo. Combo that works is j.hk, cr.lp, cr.mp xx lk.torpedo, but you want to be able to use this without a jump-in after a two jab hit confirm point blank e.g. cr.lp, cr.lp, cr.mp xx lk.torpedo. But this doesn’t work, because at the distance you’re at the startup of lk.torpedo is greater than the recovery from cr.mp. This is something that comes into play when you want to use EX moves as blockstrings because they’re much safer on block (say against Gief who has to burn super/ultra to punish an EX.DS). Although the ex dash makes the move safe on block, it MAY introduce a gap in your combo where they can sneak in an SPD. This is also why sometimes st.lp xx ex.ru sometimes won’t combo when you’re at max distance because st.lp only has 5 frames of recovery (12-13 frames total for the cancel) and ex.ru has a MINIMUM of 7 frames startup.

The variable startup also allows for some really unorthodox special links from normals that can’t special cancel such as:

j.hp, cr.mk, mk.ru FADC cr.lp, cl.hp*
j.hk, cl.hk, lp.ds xx super
j.hk, cr.mk, ex.ru, cr.lp, st.lp, cr.hk*

*These combos MAY be character specific(see cr.mk into close normals)

The startup of each dash punch depends on how close you are to the opponent, the strength of the button also determines how the startup is scaled depending on distance. From tests it seemed as if the light and ex versions have similar scales which are gradual while the medium and heavy have a steeper scale. These are from tests into different strength dash punches from a deep jump-in to cr.mk which is +7 on hit. Thus after cr.mk I can link lk.ru/mk.ru/lp.ds/ex.ru/ex.ds but not any medium/heavy dash straight punch. This would also be a deterrent to using ex.dashes in blockstrings, because even though they’re much safer on block they’re usually never blockstrings when you cancel from a blocked normal.

Weird blocking mechanics:

Again, taking into consideration that the street fighter system is loosely based on actual fighting, you’ve got a couple of weird situations and mechanics that accompany blocking. These are fuzzy guard, proximity blocking, pushback and trip guard. Each of these have minute effects when playing but certain characters and situations can really bring these mechanics front and center.

Fuzzy guard exploits the use of jump-ins AND a player’s habit of blocking low after a jump-in. Two common applications of fuzzy guard are with jump-ins that hit twice and moves that can hit as an instant overhead. What happens is that during blockstun you can transition from low to high guard, even when in block stun, so after blocking an attack players will instinctively switch to a low guard (especially if you’re a charge character), anticipate an incomming low attack, or attempt a crouch tech. When you switch to a low guard, the other player can do an instant overhead and hit you even though you’re blocking, since you’re blocking low. Some of those attacks are punishable on hit similar to Yoga Sniper.

Examples for Fuzzy Guard


Example 1: Ryu - double hitting jump-in


Ryu’s jumping mp hits twice, so if he does a late j.mp and you block the first attack, and then switch to a low guard, you will be hit again since you’re blocking low and his j.mp must be blocked high.

Example 2: Adon - Instant OH nj.mk

late nj.hk (blocked) early nj.mk xx hk.jk

Adon’s nj.hk puts you in block stun, and as you switch to low guard anticipating the low attacks to follow while you’re still in block stun, you switch to a low guard and get nailed by the early nj.mk which can be special cancelled into jaguar kick for big damage, offering a really nice high low setup. The reason this works so well is because of Adon’s short jump arc, and that late nj.hk, early j.mk actually combos on hit AND on block, so although you’re still in blockstun you can ruin the autoguard by holding down. The combos are character specific, but it’s still a godly high/low mixup. To beat this setup, you can let autoguard block high for you and switch to low if he doesn’t jump.

Example 3: Balrog - Versus Sagat

Proximity blocking is what the long yellow box means in the hitbox pictures. IRL when someone throws a punch in your vicinity, you blink/wince because you’re anticipating a hit, and the further away you are the more sure you are it’s not going to connect, so you don’t. The same thing happens in SF4, when you’re in this “invisible range” and you whiff a move, you’re opponent winces, and if they’re holding back, they momentarily block and are stuck in place. st.lk seemed to be the most effective in testing, primarily because of its short range and quick recovery. Proximity blocking occurs if the opponent is holding back, things such as whiffed jump-ins, as well as charging focus attacks cause proximity blocking to occur. Look at Bisons hitbox images for his FA: image.

The proximity blocking only occurs right before the active frames of an attack and stops as soon as the active frames occur. Only strikes and projectiles can trigger proximity blocking. Projectiles have a moving hitbox that trigger proximity blocking, and because of this they can actually move while you’re stuck blocking the projectile to get better spacing or stifle your pressure game. Zangief’s tick throws and whiffs into SPDs (because their so fast) can throw off attempts to jump out of them especially if you’re blocking because you may be used to jumping and immediately charging as you’re on the way down and once you figure out you didn’t jump you’re already being grabbed.

Pushback occurs on both hit and block, its the distance an opponent is pushed back after connecting with an attack. This often affects an ability to do certain combos outside of the corner as well as certain punishes.

Examples for Pushback

[details=Spoiler]Example 1: Honda’s lp.hb

With Balrog, punishing Honda’s lp.hb is near impossible, but in the corner headbutts in the corner are infinitely more unsafe because of the reduction of pushback. So if Honda does a light headbutt in the corner, which is difficult to punish on block midscreen, you can punish (deep in the corner) with U1 reliably.This is also the reason why some combos ONLY work in the corner.

Example 2: El Fuerte’s U2

This is an example where frame data (by itself) supports the punish, but taking pushback into account, the punish isn’t valid.

Trip guard is pretty simple in that it allows you to block on the last couple of landing frames of an empty jump. Conversely, if you do a jump-in attack you’re unable to attack until a couple of frames after you hit the ground, but you’re allowed to buffer in attacks and they will come out later IF the attack whiffs. Yeb’s post in the Credits has significantly more specific information about trip guard. This is used in a lot of option-selects as an air buffer that do one thing if the air attack whiffs versus hit. this is often combined with a safe jump so the op HAS to deal with the attack.

Examples for Trip Guard

[details=Spoiler]Example 1: Gen buffer crane hk.super

If Gen does a jump in and buffers in crane U1/Super the following will occur: if the op backdashes, the buffered crane super will come out and catch them when they’re airborne during the backdash. If the op blocks, gets hit, or Focus absorbs and dashes backwards, the super doesn’t come out. Combined with safe jumps this works on the majority of the cast. Characters who this obviously won’t work on are characters with a grounded backdash such as Ken and Dan.
Balrog doesn’t really have any setups that utilize trip guard (air buffers), but he’s really weak against them when they’re combined with safe jumps because of the extended startup of all of his moves. For example, if Gen’s air buffered crane super was combined with a safe jump and you did any headbutt on reversal you’d eat a super, or block and get hit with mantis super.

Also Ultra combos have weird blockstun; there are Ultras that have points where you fully recover and have a gap of time to do moves and/or reversal ultra. These are the points you can attack at instead of eating all of the chip damage then attacking. Common ones are: after the final turn around punch in Balrogs U1/Super, after the initial shock of Viper’s U1, and after the first flash kick of Guiles U1.


balrog’s only true block strings are jab chains. Block strings ending with specials have to vary from character to character. Balrog cannot end any blockstrings with any dashpunch or he will be SPD’ed by Zangief and Thawk, and he can only end block strings with EX Smash and EX upper vs a Chun Li with Super since both moves are -1 on block. Also, ending a block string with a jab straight will get you punished by moves with 3 frame start up or less (distance dependent) like Ken’s fierce DP.

One good tactic for proximity blocking with balrog is to do any jab chain and watch what your opponent does after the pushback. If you keep jabbing when they are just out of range to be hit and they are holding back, they will still be blocking. If your opponent has no tool to counter cr. jab, he will most likely try to walk back to create space. However, they will be stuck standing in place because of proximity blocking. This is when you abuse Balrog’s sweep. If your opponent has caught on to your use of sweep, this is when they will most likely try to counter the sweep with a focus attack, which you should anticipate and have your ultra ready to counter focus attacks on reaction, cancel your sweep with FADC and hopefully punish a whiffed FA, or use ex overhead for a beefy punish (EX OH ~ cr. strong xx HB/EX upper…). Another option for your opponent is to backdash or jump. use long range special moves to punish backdashes and jump back fierce or any other viable AA to counter your opponent’s next move. Train your reactions so you don’t let them get away for free.

Hope this helps someone and I’ll clean this post up later because its kind of messy.