How to Find Charge Switch Points

Using MacroLua, you can retain charge while performing crossups. The basic idea is to swap directions on the exact frame your character switches sides with the opponent.

If you’re wondering whether this is a legitimate technique, keep in mind that most fighting games sample inputs 60 times per second. In physical terms, all you’d have to do is flick your wrist or finger from one side to the other in under 1/60th of a second, without getting caught in the middle. Therefore it’s possible to perform this without tool-assistance, but obviously very difficult to avoid detection and partly dependent on sheer luck.

The most obvious scripting method is pure trial and error. Simply hold the starting direction, switch directions at some point, and keep adjusting that wait period frame by frame until it works. Here’s an example from Street Fighter Alpha 2, performed under the Normal Speed setting, with Charlie and Birdie standing at point blank range:

W60,UR.W27,5.W19,2.W60!
# SFA2 Charlie crossup j.MK, s.MP

W60,UR.W2,_L.W10,^L_R.W13,5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W11,^L_R.W12,5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W12,^L_R.W11,5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W13,^L_R.W10,5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W14,^L_R.W9,5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W15,^L_R.W8,5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W16,^L_R.W7,5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W17,^L_R.W6,5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W18,^L_R.W5,5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W19,^L_R.W4,5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W20,^L_R.W3,5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W21,^L_R.W2,5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W22,^L_R.W1,5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W23,^L_R.5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W24,^L_R5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W24,5.^L_R.W18,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W24,5.W1,^L_R.W17,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx LP Sonic Boom

Success! We finally found the working configuration! It took way too many tries though, because we couldn’t skip around at all. If we missed it by even one frame, it would fail:

W60,UR.W2,_L.W24,5.W2,^L_R.W16,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

Fortunately, there’s a smarter way. First, determine the minimum charge time of your desired special move – which happens to be 49 frames for SFA2 Charlie’s Sonic Boom:

ComboVid.com - Fighting Game Combos, Tutorials, Matches, Screenshots, and Strategy

W10,_L.W47,^L.R1.W60!
# SFA2 Charlie failed LP Sonic Boom attempt

W10,_L.W48,^L.R1.W60!
# SFA2 Charlie LP Sonic Boom

Next, insert that exact wait count into your script after the direction switch. Maintain that constant duration as you move the charge switch point back and forth. This allows you to accurately gauge whether your direction switch is occurring before or after the side switch.

If you’re switching directions after Charlie crosses over, then he’ll be able to charge from scratch and perform the Sonic Boom. If you’re switching directions before Charlie makes it over, then his charge will be broken and the Sonic Boom attempt will fail. Now you can skip around instead of testing one frame at a time.

W60,UR.W2,_L.W10,^L_R.W13,5.W34,^R.L1.W60!
# SFA2 Charlie crossup j.MK, failed LP Sonic Boom attempt

W60,UR.W2,_L.W20,^L_R.W3,5.W44,^R.L1.W60!
# SFA2 Charlie crossup j.MK, failed LP Sonic Boom attempt

W60,UR.W2,_L.W24,^L_R5.W48,^R.L1.W60!
# SFA2 Charlie crossup j.MK, failed LP Sonic Boom attempt

W60,UR.W2,_L.W24,5.W5,^L_R.W48,^R.L1.W60!
# SFA2 Charlie crossup j.MK, LP Sonic Boom (blockable)

W60,UR.W2,_L.W24,5.W2,^L_R.W48,^R.L1.W60!
# SFA2 Charlie crossup j.MK, LP Sonic Boom (blockable)

W60,UR.W2,_L.W24,5.^L_R.W48,^R.L1.W60!
# SFA2 Charlie crossup j.MK, failed LP Sonic Boom attempt

W60,UR.W2,_L.W24,5.W1,^L_R.W48,^R.L1.W60!
# SFA2 Charlie crossup j.MK, LP Sonic Boom (blockable)

W60,UR.W2,_L.W24,5.W1,^L_R.W21,^R.L1.W60!
# SFA2 Charlie crossup j.MK, LP Sonic Boom (blockable)

W60,UR.W2,_L.W24,5.W1,^L_R.W17,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx LP Sonic Boom

VoilĂ ! We cut the total number of trials in half! More importantly, we ran into preliminary success on the fourth try, which is a lot less boring than sixteen consecutive steps of failure. Give this method a shot and let me know what you think.

14 thoughts on “How to Find Charge Switch Points

  1. CPS2

    You know I only found out this was possible (in games other than SF3 with it’s partitions) pretty recently. Since it’s just a 1 frame window and there’s really nothing visual at all to go on, it probably never happens in matches. I’m wondering how many people even know this stuff works…

    Also: lots of macrolua scripts on sonic hurricane, it’s getting very technical now! lol

  2. runuts

    Hi, I’m a Blanka player, and often enough, I observe the following phenomenon:
    I charge, the opponent crosses me up, and if the timing is right, when I fire my ultra1, Blanka turns around and launches its animation facing the opponent. For example let’s say I’m on the left, I’m charging downleft, Ryu crossup j.mK, and I fire my ultra1 doing right-left-right, but Blanka just turned around to face Ryu, and the ultra ‘magically’ goes to the left.
    Of course, that doesn’t happen every time. If launched too soon, blanka is still facing right and the ultra goes to the right, and if too late, the ultra simply doesn’t launch. So why does it work? Well to be honest, I think it comes from a reflex charging character players have: always go back to charging after a move. So the ultra move in my case is: charge left, then right-left-right-left+3P.
    Now, from what you just explained, I’m guessing that when the trick works, the buffer does counts my first right movement as a changed direction charge. Am I right?

  3. Rufus

    Took me a second to figure that out.

    I don’t understand what you chose to highlight in the script strings on the second pass. I also think notes like:
    ‘wait 11 frames before switching directions – no sonic boom (switch happens after 11 frames)
    ‘wait 21 frames before switching directions- no sonic boom (switch happens after 21 frames)
    ‘wait 25 frames before switching directions – no sonic boom (switch happens after 25 frames
    ‘wait 31 frames before switching directions – sonic boom (switch is between 25 and 31 frames)’
    ‘wait 28 frames before switching directions – sonic boom (switch is between 25 and 28 frames)’
    ‘wait 26 frames before switching directions – no sonic boom (switch is between 26 and 28 frames)’
    ‘wait 27 frames before switching directions – sonic boom (switch is between 27 and 28 frames)’
    might make the search process clearer.

    Stylistically, I’d also rather write “W5” than “.W4”.

  4. Carnoustie

    @runuts
    Hate to break it to you runuts but that’s called autocorrect and it’s there to make your life a little easier. Even if you have a super or ultra command like qcf qcf, you can still have it turn around if your opponent is crossing you up. I think how it works is, if you’re crossed up, the game is designed to briefly take ridiculous super commands, like down-forward-down-back (same direction twice for you but the opponent is no longer in front of you). Flash kick style moves have always had this property since they’re not direction dependent but now all moves have it.

  5. Maj Post author

    CPS2: Had to happen sooner or later, right? Too bad google has no clue how to cope with it. I’m getting ads in languages i’ve never even seen before.

    runuts: There’s a number of different ways that might work. Sometimes all you need is three directional inputs. Charge DL, R, L+PPP would work because one of those inputs will get counted twice if your opponent jumps over at any point. R would get counted as F, then B if the opponent crossed over while you were holding that direction. You can also do Charge DL, R, L, R, wait, PPP. That way you can complete the directional portion of the input, then wait for Blanka to turn around, then press PPP to execute the ultra in the new direction. This is all standard stuff that goes all the way back to SF2. The main difference between SF4 and older games is that characters are a lot more sensitive to turning around in SF4 than they were back in SF2. Back in the day you’d have reversals going the wrong way all the time, whereas now they auto-correct more consistently.

    Rufus: Oh i just highlighted changes. Although i made a mistake and included _R-_L.W30,^L+^R.W60, (Charlie and Birdie walking toward each other at the beginning of the round). I’ll remove that. I thought about including notes but didn’t want to make the article any more cluttered. Anyway it’s obvious once you try it. I’m not that interested in explaining this stuff to people who aren’t gonna try it. As for W5 vs .W4 – the latter isn’t conceptually accurate unless you’re dealing with holding directions, and i’d rather maintain the same style throughout. Plus it’s cleaner looking than _LW49 which would worry me.

  6. N00b_Saib0t

    @runuts – as maj said, what you’re describing dates way back but is just easier in SSF4. i have a CvS1 match vid on my youtube where i do an auto-correct somersault strike when by brothers cammy rolls through me (@1:32 if you decide to watch it, but be warned, we suck/were using dreamcast pads), and @3:09 i do what maj was just talking about by charging back, letting the side switch be forward, then back, forward+punch.

    the link, if you care. http://www.youtube.com/watch?v=ETZQVZXkBDk

  7. Kareem

    About Blanka, in ST his super tracks. If you activate it and hold it rolling in place, and your opponent jumps over, Blanka will always just switch direction and go after the opponent no matter what.

    Wouldn’t be surprised if this was the case for Blankas U1 in SF4 as well.

  8. Maj Post author

    N00b_Saib0t: CvS might have been the first game where Capcom changed turnaround sensitivity, because that’s when all the oldschool players started complaining about auto-correcting reversals and anti-airs. (That’s where the term “CvS help” came from.)

    Kareem: Nope, that’s an ST-only feature. The only other version where the roll part automatically tracks the opponent is SFA3 X-Ism, which is supposed to be a throwback to ST.

  9. Bob Sagat

    Heh, recently I had ST Chun’s super charged up (already holding forward) when my opponent crossed me up. I decided to just go for it and managed to switch direction and finish him off withot even practising it.
    At Stunfest I’m pretty sure I saw NKI do it during the tournament at least once, jumping in with a with a crossup mk and then supering instantly.
    So yeah CPS2, it does happen during matches.
    I’ve also seen Claw activate Rog’s super by switching sides above him several times during wall dive. Rog’d be in the corner and Claw dives up on the wall behind him. Claw moves around a little bit, Rog hits a punch button to try and knock him out of the air and wastes his super in stead. Probably also workes on the other back forward charge supers as well.

  10. CPS2

    @Bob Sagat
    Is that a 1 frame window though? It sounds more like whatever the input buffer in those games is, to me. What I’m saying is, jumping over someone while charging in one direction (or dashing under), then charging in the opposite direction (finishing your charge AFTER switching sides, not having charge then pressing a button), THEN pressing a button, only really happens in SF3 haha. I think what you’re talking about is “having charge,” and then having it buffered, changing sides and pressing a button. And now Maj will tell me that “having charge” doesn’t exist lol.

  11. CPS2

    I know I explained that terribly, but I’m still thinking in terms of “you have charge now, you can keep it for X frames, you switched sides and pressed button within X frames.”

  12. Rufus

    “you can keep it for X frames”

    It varies, but it seems to be about 8 (turbo 0) frames input-to-input to do moves in HDR, with some character-to-character and move-to-move variation. It’s possible to make some of the super commands take more than a second that way. (Maj has an article about combo tricks exploiting that technique somewhere no less.)

  13. CPS2

    Yeah I’m sure you can have as much as an 8 frame gap in some games between necessary inputs for a move, as I’ve seen gaps as big as 40 frames in SF3 and around 12 frames in SF4. I think what happens with charging while changing directions tho, there isn’t any gap at all, which is why it’s a 1F window, you have to trick the game into thinking it’s one directions you’re holding. Although you can of course fit the crossup into that 8F gap near the end (just before the last input). Hope that makes more sense…

Leave a Reply