Understanding the SF4 engine


How does one actually go about doing this? (I used the search function, BTW)

I read this post:

This is what I’m talking about. Most of us know the importance of footsies, zoning, spacing…etc. But what the poster means has deeper meaning. He’s talking about the guts of the game, what makes shit work and not work.

How can we learn the engine better?

The obvious answer is by playing but what do you look for? How do you look for it? Is it accidental, on purpuse?

Can anyone think of any examples or scenarios?

Hopefully this’ll be a good discussion, something we can all benefit from.


good question. I wanna know too so I can build up my Gief. Not like I have an easy ass time with him anyway.


He’s using ‘engine’ quite loosely, as a metaphor for understanding not just what happens but why it happens. Unless you’re a programmer at CAPCOM who has access to the SF4 source code, there’s nothing more than statistical observation of the gameplay mechanics you can do to “understand the engine”.


“This” is basically knowing frame data. Or at least have a loose grip on it.

By knowing that, you know what can punish what and when to just block. When someone is likely to try to throw and when they’ll try to attack. You know what has invulnerable frames and when.

All of this is obvious just by looking at the frame data. Example: If your opponent does a move, which you block, that is +3 on block, there’s very few options the other person has to continue their assault. Most characters have a 3 frame startup move, usually lp or lk. Also, throw starts in 3 frames. Or they could block. Thus, you narrow down the possibilities of what could happen next and react according.

This also allows you to determine what you can use to craft your own combos with. Whenever I see a combo in a video that I’ve never seen before, I check the frame data to see how it is possible and the frames required to do it in.

I’ve only started doing this type of thing and have a rudimentary knowledge of it but it’s improved my play A LOT. I know that Ken’s hurricane kicks (hit or block) are useless to try to punish. They recover too fast. I know that Balrog’s rush punches are safe to punish unless they’re a light version.

Stuff like that is important and that’s what that little paragraph is referring to.


I don’t know why people say “understand/feel of the engine” when it’s the same thing as understanding the gameplay. For something to happen, like Akuma cancelling :d::mk: into Ultra to catch a jump-in, is totally sensible if you understand that the kick drops his body down low, hence making his hitbox lower and dodging the attack.

Same thing applies to Balrog’s EX Upper allowing for continuous attacks.


exactly… we need the source code… fucking capcom.

they need to treat this like blazblue… EVERYTHING you need to know about that engine is available… fucking capcom…



I just do my best to look up or figure out in training mode anything I come across that I don’t understand. Talking to the player that did it to you can be really helpful, too, but not everyone is up for that.


Rename this thread to “Understanding SF4” and I think we’re done here.

Also, way to not give the original poster any credit. Good job bro.


Don’t just play and chalk up wins/losses to random BS or whatever - actually take a moment to stop and analyse what happened.

For example, let’s say you knock down Sagat, and at this point he has no life left. Chip damage will kill him. Knowing that, you take a step in and throw a fireball to catch him on wakeup. Sagat does wake-up ultra, blows through your fireball, and you die. That sucks.

But if you just say “that sucks” and don’t take a minute to stop and think about what happened here, you don’t improve as a player.

So we know Sagat’s ultra goes through fireballs, even/especially on wakeup. That’s a nice start. What else do we know?

Whatever fireball you did, it left you in enough recovery for Sagat’s ultra to hit you.

Whatever distance you did it at, you were within range of Sagat’s ultra.

I could just say “Fuck it, I’m never gonna throw wakeup fireball again”, and that would keep you safe, but it wouldn’t let you capitalize on the potential opportunity here.

Do you have a fireball that would recover in enough time to block the ultra?

Could you take a few steps back and throw the fireball outside of Sagat’s ultra range?

If you can do that, then Sagat will either just have to accept the fireball and die, or do something with invulnerablity frames that blows through the fireball, but will probably leave him wide open on whiff/block meaning he dies anyway.

You threw the fireball without thinking about recovery, the ultra’s start up or range. You lose.

You don’t throw the fireball out of fear. Its safe, but you still haven’t won the match.

You throw the fireball with respect to recovery, start-up, and range, and put Sagat in a lose-lose situation. You win.

These days, we have the internet and frame data and all these wonderful resources, so you can look up Sagat’s ultra start up frames and your recovery frames and do the math. Or you could also do it the hard way - trial and error. I’m a fan of the old fashioned, but having all the frame data and what not be available is nice.


This ties into AZ’s amazing post above, but this is something I do a lot and it really helps me.

If you try something you think should work, and it gets stuffed, REMEMBER it for later. Then hit up training mode, set up the opponent dummy to do the same thing, and work it out until you understand why it either never works, or what you can do to make it work.

A great example is Chun’s low strong. It stuffs shoto jumpins for free, but ONLY if you time it right…I read about this, tried to use it in matches and got the crap kicked out of me in the process.

About 30 minutes in training mode and I had it down cold…the next day I was pulling it off in matches.

You need to be both the coach and the player sometimes.

Remember to spend time in training mode working things out so you understand them.


Look at the Wiki page as well, that taught a whole load of shit i never knew. Specifically the “Mechanics” section.



leykis 101


It’s not because you know what footies and zoning mean that you’re implementing it in your game.

For instance when you’re close and start to spam jab … You might think
here come my footies … But are you choosing the right moment to put pressure?Or it’s just random?

When you’re spamming tiger shot.You might think here come my zoning .
But are you really evaluating the distance between you and him?Are you syncro with your tiger shot?Do you know how much time it’s take for a High Round house to come out after a tiger shot and you know exactly at which distance you need to be ?

Or are you always jumping backward each time your opponent take ground?

If you cross-up someone?Are you taking a risk that he won’t shoryuken you?Or do you know he won’t have the time?

Are your high risk combo random?Or you’re simply hoping that one of your combo might connect or that they don’t reversal you?

For instance … With guile … You cross-up and go for a clk clp cmp xx Flashkick .Your CMP does not hit because of your bad execution that day.Does your flashkick will come out or your sonic boom?

I think it’s all of that and more that make the difference between a top player and a random guy playing online.

A lot of us beleive we know the match-up.But talking for myself.i think not.
Reading and theory it’s great.But Quality training and really learning the distance and working your execution make you the best.


good post!


I’m pretty much agree but it has to be more then that. Theres always the mind games and tricks pros will pull off that you wouldn’t ever see coming from just a “good” player online or offline.

Sure you can nail down the execution and the combos and whatnot, it’s another to actually pull those off in an actual match. Plus some matchup and strategies you’ll have to learn but what makes everyone so different is the mind.

You can watch justin or sabin or daigo or mago or ricky or ed ma or whomever, you’ll notice at some points that changed the match, you might think "wait a minute…how did he know when to do walk up shoryu, how to catch someone with whiffing a throw without even pulling a punch, or even “How the fuck did that guy perfected that guy as though he knew exactly what was going on like he planned it from the beginning”? This isn’t something you can learn from the engine. It’s loosely related to the engine (tick throws…) but then again, it has nothing to do with the game engine.

Sagat going through fireballs? all I’m going to say “so? the hell you going to do about it”. Nerf it? then it’s pretty bad of an ultra. This is where you figure out and instinctly know he’s going to ultra the moment you throw that fireball. When you do, block, combo or counter-ultra, your pick.

I’m not disagreeing with you buddy, it’s just that, there’s more to the picture that everyone doesn’t mention or miss.