Manual PPP/KKK input will randomly drop in emulator


#1

In FBA emulation which ggpo uses, PPP inputs seem like they will always have a small random chance to fail when done manually and without a PPP bind. The reason is that all 3 punches must be input on the same frame, and the detection method used by the emulator is to simply poll the button states at every frame start.

This means that if you input lp, mp in the middle of the frame and then hp right after the polling occurs, you will not get the ppp input even if your inputs fall within a 1 frame window.

Visual example where you get credit for a ppp input:



0        1        2        3        4
|--------|--------|--------|--------|
|        | lpmphp |        |        |
|--------|--------|--------|--------|


Visual example where you do not get credit for the ppp input:



0        1        2        3        4
|--------|--------|--------|--------|
|        |   lpmp | hp     |        |
|--------|--------|--------|--------|


If your input falls right before a frame is polled by the emulator, then a < frame delay in your hp input can cause the ppp input to register.

If an input poll occurs every ~16.67 ms, then that means a 4ms spread between your first punch input and last punch input is a ~24% chance of failure. A 1ms spread is ~6% chance of failure.

Anyone that is human will almost always fail when attempting to input ppp 100x in a row. Even though it is actually very easy to input ppp within ~16.67ms, the input detection requires an almost 0 ms spread for a near 100% success rate. Even if someone could hit the input with only a 1ms spread, they will faill 99.8% of the time if trying to attempt the input successfully 100x in a row.

Does arcade ST behave similarly in detecting inputs? Is this just a fundamental flaw in the input system since arcade that will randomly drop ppp/kkk inputs?

Note that this problem seems to be exhibited in any emulated game where two or more buttons need to be input simultaneously on the same frame.


#2

I thought there was some (quite a bit of) leniency built into the game (most, if not all SF games after WW, which is why we have kara cancelling) so we wouldn’t have to worry about this. … I input ppp and kkk inputs just fine on FBA…

goes on fba and tries to do consecutive ppp inputs with hawk


#3

I’ve did ppp and kkk with gief for 6 rounds. i mess up approximately once per round. and i counted them too. it was about once every 40-50 ppp/kkk inputs. I’m pretty sure if i’m in a match I won’t be only doing ppp and kkk the entire match… honestly, i don’t think i’ve ever messed up a ppp or kkk input before… ever… as long as i make a concious effort to not do it sloppily. Maybe after I get my supergun working again I’ll test it on that board…

But I see how this can be an issue though. because I can’t seem to kara a normal into a ppp/kkk no matter how hard I try.

Maybe someone with more technical knowledge will know off hand if the original board only polls at the beginning of frames off hand without testing.


#4

Yeah, Kara canceling helps because if you release all the 3 buttons on the same frame you will get the special, but for some odd reason Zangief and Vega simply can’t lariat/backflip with a negative edge. Blanka’s Hop, Sim’s teleport and Hawk’s Dive work with negative edge. Maybe capcom did this because it would be too easy to get a reversal lariat/backflip, with PPP +KKK with both normal press and neg edge? Anyway, if you want to test your PPP/KKK skills, test with Zangief or Vega.


#5

I think capcom did it to prevent reversal lariat/ backflips when you want reversal spd/flipkicks


#6

Both versions probably store the inputs on a latch, then use it. Consoles and PCs send the stored inputs through serial communication, while the original CPS-2 would have that latch on the board itself.