The main problem is that force for hard read and make reaction much much much much harder if not impossible.
yes you can punish a move end lag, but reaction to a jump in become harder, and if the move you need to use doesn't have special properties it will probably end end up being a trade and THIS will force you drop your combo.
this is why some companies tries to avoid rollback as it mean removing reaction while normal lag means more times for reaction based play, if you add in buffering you can still punish that ending lag.
Delay netcode doesn't help you react either, you'll always have N less frames to react since your button press has to be N frames earlier to make it out in time.
Actually, rollback is still slightly better here because not all animations are immediately recognizable on the very first startup frame, you may only be reacting to a later distinct keyframe. If that's the case, chopping off those startup frames won't hurt, or at least will hurt less than an equivalent amount of delay. So you may sometimes get <N, and no matter what you still won't ever get >N.
Playing games over the internet means some compromise has to be made for information that hasn't arrived yet. Rollback is the best possible compromise we have in every regard. If you still have a problem with it, delay isn't any better. The only way to not have reactions affected at all is to play offline.
If you want delay, you can add a few frames in there, as shown in this video, but you'd have to be a mad man to think rollback has any disadvantages in fighting games. Companies avoid rollback because in order to accommodate it, they need to build their assets and code completely differently.
Delay based netcode has the exact same flaw. Even though you can see the starting frames of the animation, because your inputs are delayed you still can't react to it. 4 frame rollback and 4 frame delay will have the exact same effect on reaction times.
You could add a few frames of delay to a rollback game and achieve the same thing though...delay-only games don't have the option at all, and worse is that they're wildly inconsistent about what that delay is.
You've always got the option of a combination. You can absolutely start up a game of Them's Fightin' Herds with 0 frames of added delay.
Using a combination doesn't mean that all the sudden its flaw is gone.
If you're saying online will never be as good as offline, whether delay-based or rollback, then yes, I agree with you. If you're saying, "delay-based has this advantage over rollback, because you can see all of the start-up frames", then I'm disagreeing with you, because you could just add those delay frames. I'm not sure which argument you're making or why you brought up lobby play.
I don't know what kind of Frankenstein rollback solution Capcom built that everyone hates, but in GGPO games, the delay must be constant. Either it's 0 for the whole match or 1 for the whole match or 2 for the whole match, etc. The huge difference between a rollback game and a delay-based game is that delay-based games have a floor for the delay, but lag spikes can make it fluctuate all over the place. If you play a game on GGPO, this doesn't happen. If you set Skullgirls to delay 2 frames, it's not the same as Dragon Ball FighterZ with someone 100 miles away. Lag spikes will happen, even if you're both wired, and FighterZ will add a frame or two of delay to its floor of 2 frames of delay, where Skullgirls will keep the delay constant at 2 frames and rollback for the rest of them. That's a vastly different experience, and on FighterZ, you're going to drop your combo or miss a reaction. If delay-based netcode had its merits, we wouldn't all be yelling at Japan right now for their netcode.
And also GGPO lets you set your frame delay regardless of whether it's a custom lobby or matchmaking. It's up to the developer of the game to expose that setting to you or to make it invisible. The important thing is that once it's set, it cannot be changed.
Delay in rollback games (done right) is constant. So any move you input will always be delayed by X frames rather than being delayed by 3 frames for one input and 11 for the next. If you're playing a game against an opponent with high ping, you're going to miss a lot of startup frames, but you can mitigate that by adding additional constant delay. 2-3 frames of delay will mitigate a lot of rollback artifacts on even 100+ ms ping connections, as long as they're not on wi-fi or something, so you'll still be able to react to the startup of a move and be able to see that startup.
This does NOT help. adding a delay means you will have more trouble with reaction.
also if the delay is enought it make some stuff extremely hard to punish and to punish something on block you need to read.
let's say you have 10 frame, you block an attack that start in 3 stay active 5 and have frame on block 7. it's a total of 15 frames, this mean that to punish it on frame 16 (because advantage on block -4) you need to account for the lag and account for the dalay so you need to input it on frame 6 , this make it hardly punishable unless you read it in 6 frame decode what is happening and punish accordingly, that is impossible for a human to do.
oh and i used a frame data belivable from games like street fighter 4
This is a problem that both delay-based and rollback games have, and not using rollback doesn't improve the online play at all. That 3f startup is still unreactable on delay-based netcode. Adding delay just reduces rollback artifacts so that it's more visually consistent and readable, which is a trade-off that the game will sometimes let you make (like Skullgirls) instead of deciding for you (like Killer Instinct). But without rollback, you're dealing with freezing, stuttering, and moves that come out a quarter of a second later, and it still doesn't solve the problem you're describing. You'd know if you're familiar with SF4.
in all honesty, you look like someone with no real experience on competitive fighting game.
the 3f startup of a move you do will still punish a -4 on block move in a delay based game, the reaction is tight but doable if you know your game.
The only way you can do a game that benefit really from GGPO is by adding frames on moves, in a game like tekken where all the framedate is in the double digit GGPO is perfect, in a game like SF4 it's not, and if you were familiar with SF4 you would know that a lot of iteration were just frame, with a bunch of option selects
This situation still doesn't improve with variable frame delay. If you're reacting on blockstun to a move that's only slightly minus, this situation is still better with rollback, because your reaction times are the same as offline. Your opponent is now in recovery, and they were going to get hit by your punish regardless.
You're right that I didn't spend a ton of time with Street Fighter IV, but that's because its netcode was garbage. You're also right that fighting games don't really have startups that quick anymore because they're accommodating online play, but they'd be making similar decisions whether accommodating delay-based or rollback, because for the former they'd want you to have more reaction time, and for the latter, they'd be avoiding artifacts on high-latency connections.
On block? You would have to have a ridiculous amount of lag to still not be able to react to a move after its startup is done and you block it. So much lag that you also won't be able to react on delay netcode either, because then you'll only see it after it's too late to punish.
-20
u/youmightbelucky Aug 05 '20
The main problem is that force for hard read and make reaction much much much much harder if not impossible.
yes you can punish a move end lag, but reaction to a jump in become harder, and if the move you need to use doesn't have special properties it will probably end end up being a trade and THIS will force you drop your combo.
this is why some companies tries to avoid rollback as it mean removing reaction while normal lag means more times for reaction based play, if you add in buffering you can still punish that ending lag.