Today we’ll discuss some selected hitboxes from the Street Fighter Alpha series. To see these in action, follow the same procedure as last time, only instead of the SF2 script, download and run the CPS-2 script.
SFA1 Hurricane Kicks hit both in front and behind, as they did in SF2. In SFA2, the air Tatsus of the Shotos lost the ability to hit behind, and by SFA3 all Hurricane Kicks (Shotos, Guy and Sakura) could only hit on the front swings.
Throughout the series, Rose’s Soul Spark is the only projectile to have a pushbox and causes pushback before it can even connect. The first active frame comes after the last pushing frame. The fierce version has the most severe pushback, as you can tell from the length of the scarf. This SFA2 shot shows P1’s jab Soul Spark on its first active frame opposite P2’s fierce Soul Spark on its last startup frame.
The teleport moves of Dhalsim, Bison, and Akuma are instantly safe, except for SFA3 Akuma who can be hit in the head until he starts moving.
Dhalsim’s Yoga Shock (B + hold LP) is a charged up version of his jab that has more favorable boxes and hits as an overhead. In SFA2, the jab won’t even hit crouching opponents despite the animation.
Don’t ignore those green boxes. They help you judge how suitable a move is as a crossup. The farther the attack boxes extend from the bottom or back the pushbox, the better it is for crossing up your opponent. Some jumping normals have multiple attack phases that make them good as both crossup and frontal attacks.
The two phases of Sakura’s j.MK and Karin’s j.MK.
Cody’s j.MK (first attack phase) is crossupable but harder to connect because his pushbox extends farther below it. The second phase of Gen’s KKK stance j.MK is so crossuppy that it pushes the opponent away instead of towards.
In SFA3, Sagat’s Tiger Uppercut (all versions) and Adon’s Rising Jaguar (LK only) are invincible until after the first active frame, which gives them priority over moves that don’t have invincibility. Likewise with roundhouse Flash Kicks, roundhouse Cannon Spikes, non-jab Shoto uppercuts and all Tenshou Kyaku versions.
Birdie’s Bull Horn and Balrog’s Turn Punch can go through fireballs.
So can Cammy’s Spin Knuckle and Zangief’s Lariat. PPP version is hittable by low attacks at all times, while KKK version is invicible to low attacks until after the first active frame.
Chun Li’s Spinning Bird Kick and Senen Shuu can also pass through projectiles. SBK (ground version only) additionally gets a few frames of complete invincibility.
Honda’s Headbutt can squeeze under high Tiger Shots, but only the fierce Headbutt. The others have a taller blue box.
Likewise, Sakura’s Hadouken won’t collide with high Tiger Shots, but only the weakest Hadouken.
Sodom has abnormally low hitboxes on his crouching roundhouse, low enough to get under low Tiger Shots. It’s shown in SFA2 here but it holds true through the whole series. None of the other slide attacks (Guy, Rose, Dhalsim, Rolento, R.Mika or Vega) can do this, not even Guy’s QCF + MK,K command slide, which appears lower to the ground. (Thanks to error1 for pointing this and the previous fact out.)
Dan’s Kouryuken doesn’t seem so bad until you figure out that it doesn’t get any invulnerability. That is, unless he flashes white at the startup. It’s long been known that from SFA2 onward, Dan’s 23rd attack of the round, and every 15th move thereafter, is a potential flashing Kouryuken. (SFA1 Kouryuken is just like the other Shoto uppercuts.)
Crouching Sodom, hidden hitbox. When SFA1 Sodom is hit while crouching, his head and midsection boxes shift way forward. This allows combos such as this. Ironically, only the reel from light attacks causes the exaggerated effect. In this shot, P1 Sodom got hit by c.MP while P2 Sodom only ate a c.LP.
Gen landed anti-air HK > HK in KKK stance and is about to follow up with lvl-3 Jakouha, despite the fact that Sakura is resetting and has no vulnerability box. Buttermaker explains: “It grabs the pushbox.” In contrast, Rose’s Soul Throw and the anti-air supers of Zangief and Dhalsim can only connect before the opponent reaches the peak of the arc after being hit out of the air. SFA3 Gen is special.
The vulnerability of Cody’s Bad Spray and Sodom’s Tengu Walking (b,db,d + K version) depends on when the move is input. If the input occurs while vulnerable (before the peak of reset arc, during float, or after an air block) then they are vulnerable during execution. But if you input the move after the peak of the reset arc they retain the reset invulnerability.
In fact, inputting these moves before reset causes the reset to not become invulnerable at all. This also applies to Dhalsim’s Yoga Escape but only until he reaches ground level, since the move itself is always invulnerable. (Thanks to Buttermaker for pointing this out.)
This is the result of a glitch that Keiko showed in a video. When two SFA2 Chun-Lis trade Kikoushos, the vulnerability boxes of the projectiles, which are responsible for negating other projectiles, are mistakenly left on screen invisibly. This leaves an impassable, unbreakable barrier to Kikoukens. If someone does another super, the effect is reset.
The SFA series introduced taunts. Taunts can be canceled into like other special moves, and a few can actually hit, although they all have small hitboxes, do little damage, and have horrible frame data. The tinyness of the attack boxes isn’t really a factor in their uselessness. It’s more of an inside joke from the developers. The first of the damaging taunts was Chun’s in SFA1 and by the end of the series Birdie, Sodom, Sakura, Rolento, Akuma, and Dan had them.
Between SFA2 and SFZ2A, Rolento’s grenade went from dud to (barely) live and Akuma’s stomp gained flames. A special taunt win icon (a reference to an old Capcom game) was also introduced for SFZ2A. Before that you would only get the regular “V” for KOing with a taunt, and in SFA3 you get the special move “S” icon.
Dan has always had multiple taunts which he can do infinitely, but it wasn’t until SFA3 (X-ism only) that they could hit. The hit area is limited to the single pixel on his glove. I had to change the code of the script to show one-pixel boxes. SFA2 Sakura’s taunt also has a one-pixel hit area.
Sagat’s Angry Scar taunt costs meter and makes his next uppercut do more damage. It first appeared in SFZ2A, where it gives a considerable amount of invincibility. Ryu also gained the red Hadouken in SFZ2A. (Then he forgot about it, mostly, when World Warrior came around.)
X-ism Sodom wields swords instead of daggers as a throwback to his Final Fight appearance. Despite appearances, both have the same hitboxes. These shots compare jumping fierce and roundhouse Daikyou Burning.
However, a declawed Vega has shorter attack range but also smaller vulnerability. These shots compare standing fierce, Flying Barcelona Attack, and Sky High Claw (jab version with claw and fierce version without). More like Sky High Face Bash?
The script can show the hitboxes of more than two characters at once. SFA1 Ryu demonstrates his lvl-1 super Hurricane Kick, looking enviously at Ken’s ridiculous lvl-1 Shinryuken, and opposite a briefly dizzied M.Bison in SFA1 Dramatic Battle.
Charlie’s lvl-3 Somersault Justice and Sakura’s lvl-3 Haru Ichiban beating up on Shin Akuma in SFZ2A Dramatic Battle.
A-ism Bison’s lvl-3 Psycho Crusher on its first vulnerable frame opposite CPU Bison’s Super Duper Psycho Crusher, which is invincible the whole way through. In order for this matchup to happen it had to be in Dramatic Battle mode. CPU Cammy had the misfortune of being the bait.
The first of these hitbox scripts was created for Vampire Savior by felineki, for research into a Mugen conversion. mz translated it to Lua for use with MAME-rr and created similar scripts for SFA3 and SFA2. I had enough of a clue by then to figure out how to modularize them and merged them into a single CPS-2 script.
Using a Lua feature added by mz, MAME can autosense what game was playing and load the correct module. At that point I focused on adding modules for new games. Thanks to feedback from Buttermaker, Xenozip and error1, I also made improvements such as invulnerability checks and the blank screen mode, and fixed camera scroll issues.
The first SFA game is the only non-SF2 game encountered so far that uses one byte instead of two for the box parameters. Maybe this contributed to the decision not to include Dhalsim: his long range attacks would have required a special routine as they did in SF2. As with the SF2 games, SFA1 uses pointers for both the animation frame and the hitbox tables.
SFA3 was relatively easy because it doesn’t use pointers for anything but attack box animation frames. The most confusion came from SFA2 and SFZ2A, which use pointers for the hitbox tables of the characters, but not projectiles. Maybe the developers thought there would be enough space in RAM for only the projectile data. In any case, they eventually figured out how to dispense with the pointers by the later life of the CPS-2.
Now, please enjoy some of Xenozip’s videos: