I've been developing improved cheat codes for the SF2 games for the official MAME pack. Since I'm instructing Macrolua users to use cheat codes to control variables like frameskip and stage choice, I figured it would be good to have clean code files available for everyone.
The current SF2 XMLs (0.142) are packed with inefficient and in some cases ineffective codes to the point that you don't even want to look over the list. Some of them are relics from the primitive cheat engine, and some of them are just ill-conceived. Rather than tell Pugsy they're crap and should just be removed (which probably wouldn't go down well), I renovated nearly all the codes in the collection for all six games. The official pack won't be updated until after 0.143 comes out, but the results are here.
Noteworthy codes:
- infinite life that lets the opponent go into proper hitstun
- prevent the slowdown from projectile impacts
- stage select, including bonus stages
- freeplay for [ssf2t], which doesn't have one in the op menu
- TAP power selector, which tells you exactly how much charge each level needs
- button-mash moves that require only two presses
- control the ending and boss in single-player
Along the way I learned some things I didn't know:
The bonus stages weren't entirely removed after SSF2. To see them in ST, force the byte at 0xFF8C4F to 0x10, 0x11 or 0x12. Use 0xFF8B65 in HSF2. The music is there and the stages are single screen, but the bonus sprites are missing except for the wrecked car chassis (which you can't stand on), and it's a standard fight to KO with normal blocking. An experienced romhacker might get more to come out.
Tiger knee only requires D,F,UF+K. Likewise, hooligan and chickenwing can be done with B,D,DF,UF+P/K. For practical purposes those aren't useful, but I also found that Dhalsim's super can skip part of the first half circle with B,DB,D,DF,B,DB,D,DF,F+P. Honda's oicho takes F,DF,D,B+P, but any back direction counts so you can get away with less than half a circle. And I guess it's common knowledge that Guile and Vega's supers only need _D,F,B,U+K, with diagonals optional.
Honda's HHS requires fewer presses than Chun's legs or Blanka's electricity. (Negative edge is not counted for these.) In World Warrior, the requirements were double their later values, and the time window to count the next press in the sequence was shorter as well.
timeout (frames) | required presses | |||||
---|---|---|---|---|---|---|
LP/LK | MP/MK | HP/HK | hands | elec | legs | |
WW | 15 | 10 | 5 | 8 | 10 | |
others | 15 | 12 | 9 | 4 | 5 |
If you can mash roundhouse ten times in 8/10 second, and get it to come out when you wanted, you don't need Chun Li. You could do lightning legs yourself. It's kind of funny how CPU opponents telegraph these moves by whiffing normal attacks, but don't hesitate to cheat in every other way.
I noticed some differences between the original games and their HSF2 reproductions:
- CE Balrog's TAP sucks. It basically only has level one. In HSF2 it can charge up to final, but it still has no invuln, unlike in HF where it has lower body up to level two.
- CE Vega's clawroll only has one roll at all strengths. In HSF2 it's variable.
- As noted earlier, WW Blanka's roll has the goofy pushbox and CE Dhalsim can be juggled.
- In WW you can't kara-cancel mash moves from their punch or kick buttons, which makes them even harder to execute. In HSF2 you get a couple kara frames. (Compare HDR.)
- The supers of Chun Li and Honda as well as Honda's oicho are not storable in HSF2. On the other hand, in ST these moves could not be performed once you released the last direction. In HSF2, if you release the stick or move it away and then press the button within the usual leniency window, the move comes out.
There have been rumors that ST Claw has more difficulty pulling off the _D,U+K walldive in HSF2. On first investigation I didn't find anything amiss. But after practicing it awhile I noticed the move does have a higher failure rate than I was used to. Here is what's happening:
In SSF2, Vega had an abnormally short window to input up then the kick after releasing down charge. This was corrected in ST, though old Claw still had this flaw. In HSF2, the leniency properties of Super and SuperT Claw's _D,U+K were mistakenly mixed up. Since no one ever cared about O.Claw, the original bug hadn't been noted, and it was thought to have originated in HSF2. As for the bug itself, it has something to do with the button-down input being missed. If button-up is used, the leniency is normal. Here are my Macrolua experiments. None of this seems to apply to his _D,U+P.
Here's what you get for each ending in each game. I think there's no more than three tiers.
normal | no continues | no losses | |
---|---|---|---|
WW |
|
| |
CE |
| ||
HF | |||
SSF2 |
|
| |
ST |
|
|
|
HSF2 |
|
Akuma himself will do something different after beating Bison or a rival Akuma, but only has one ending: staff roll with montage of beat-up portraits, followed by his "game over" screen.
Akuma won't show up in HSF2 if you lose even a single round. Plus, if you lose on Akuma and continue in HSF2, he won't come back and you get Dic. Maybe they figured, "whatever, you people have emulators now". However, in all the earlier games, any versus play counted the same as using a continue. In HSF2, if the other player challenges, you aren't disqualified from facing Akuma if you manage to win the versus without losing a round. The challenger is also eligible for the best ending if he doesn't lose a round, but he has to start the single player sequence over.
I've always found it odd to withhold the credits until the player beats the game, sometimes with additional conditions. Would a kid really care so much about those names? And then they're all hiding behind pseudonyms. Even today it's hard to identify some of those developers.
Your findings are always very interesting, especially with regards to the SF2 series, thanks for a great blog. And also for the cheats, that invincibility problem has tested my patience for almost a decade!
Posted by: fluxcore | 06/14/2011 at 04:07 AM
good stuff
Posted by: kay | 06/14/2011 at 07:17 AM
Nice to know your getting the life codes to work. Also the first Vampire games are using an engine similar to sf2, but then again Capcom always used the same base engine for fighters (so does Namco).
Posted by: jedpossum | 06/14/2011 at 12:04 PM
I mean those games life codes has problems similar to Sf2.
Posted by: jedpossum | 06/14/2011 at 12:09 PM
You can get the storable moves by holding start while selecting SUPERT.
Thanks for the cheats.
Posted by: Buttermaker | 06/14/2011 at 01:59 PM
Thanks.
fluxcore: A decade? Well you can finally practice in peace now.
jedpossum: OK, took care of it here. As you can see there are some other things that could use some cleanup. There are... wow, a lot of retardedly designed codes in these files.
Buttermaker: Ah, that shows even back then the devs were conflicted about it. I've never knew about that till now. I guess it's sort of a security through obscurity feature.
Posted by: dammit | 06/15/2011 at 12:55 AM
Thanks, works great I can actually practice pouncing now.
Posted by: jedpossum | 06/15/2011 at 04:12 PM
hey dammit, do you know of any input delay in alpha 2 regarding blocking?
it seems like up close fireballs are like, unblockable, whic feels weird. Maybe that is why the valle cc works, because you can' block downwards?
Posted by: CWheezy | 06/17/2011 at 01:39 PM
Can you describe a setup where that happens? If it's with a super FB, unblockability after superfreeze/CC freeze is complicated... It seems there are different types of inputs which might be allowed or not.
For example, parrying might be allowed when blocking isn't: http://www.youtube.com/watch?v=xNifSZmSIyg
And then there was this in SF4: http://www.youtube.com/watch?v=V7vPT_VcMKg
Posted by: dammit | 06/17/2011 at 08:53 PM
CWheezy yes in Alpha 2 it takes 200ms (or about?) to block. So when you activate a CC on your opponent who is within sweep range and is standing up, they cannot block your sweep because it is not enough time.
Posted by: XSPR | 06/17/2011 at 10:46 PM
I mean just like regular fireballs. when i play st I can block them up close, but in alpha 2 it is way more difficult
Posted by: CWheezy | 06/18/2011 at 04:56 AM
I just tested it in sfa2, it takes 3 frames for from the time to you press back until you block, in fact it takes 3 frames from when you press any button for it to happen on screen. High blocking and low blocking take the same time.
So yeah, you can never react to most normals in time to block them, vs Ryu's fireball at point blank range you have four frames from the first frame of animation on screen to when you can press back and block.
ST seems to be about the same give or take a few frames
Posted by: error1 | 06/18/2011 at 10:08 AM
Hmmm, maybe I am crazy. It just seems different somehow
Posted by: CWheezy | 06/20/2011 at 10:18 AM
It might be you are comparing fireballs with different startups. (FWIW, N. Ryu and A2 Ryu fireballs have the same startup.)
Or maybe there is distracting stuff in the A2 backgrounds that is hurting your reaction, or the first frame(s) of the startup animation isn't triggering your reaction somehow.
Posted by: dammit | 06/20/2011 at 11:40 PM
It feels different for like every projectile.
Maybe it is why if you are standing when cc is activated you can't block low?
And i don't mean the blowout cc either
Posted by: CWheezy | 06/21/2011 at 12:25 PM
I can definitely vouch for it being harder to walk up and block projectiles in SFA2 than in ST. I know several other people have observed the phenomenon too.
Posted by: polarity | 06/21/2011 at 07:34 PM