This strategy is commonly referred to as being in the class of “latency hiding” as it doesn’t actually improve latency, it just allows you to reduce apparent latency. In practice it’s still useful but I think it’s mainly useful because it allows for local input to be buffered significantly less than if you were to compensate for lag by adding buffering only. However, that is not always useful. It is mainly useful in games where netplay is handled in a lock-step fashion, where each peer needs to keep every action coherent frame-wise. That makes sense for things like fighting games, but it doesn’t make all that much for say, puzzle games, even though those can be quite latency sensitive too.
Either way, there is nothing magic. At the end of the day, the soonest you can see an action is still physically unchanged. Especially since the prediction model that makes the most sense is just assuming no action.
That said, I dunno enough about MOBAs to try and postulate on how much it matters, and I have no idea if LoL is using lockstep or some other approach.
LoL is not using lockstep. Lockstep has two big disadvantages for a competitive game. Tt requires both client to have the full game state to run the simulation, which makes creation of maphacks trivial. The second issue with lockstep is that if one player is lagging, all players are lagging, which is also not something you'd like to have in a fast paced competitive game.
Maybe I'm just a fuddy-duddy, but for me there's no room for remote competitors in a serious competition. Either it all happens on the same LAN or its just playing for funsies.
> Tt requires both client to have the full game state to run the simulation,
> The second issue with lockstep is that if one player is lagging, all players are lagging
Where are you getting this?
My game Nebulous uses lockstep, and it's a MMOish mobile multiplayer game. Plenty of clients lag, but one client lagging doesn't cause any other to lag. Furthermore, clients do not have full game state, as an optimization and data transfer reduction first, anti-cheat second.
Path of Exile actually lets you choose lockstep or client-predictive. "Serious" and "competitive" ladder players choose lockstep because, naturally, you want your client's representation of the game state to be as close to the server's representation of the game state as possible, UX be damned.
This is independent of lockstep vs. predictive and more to do with topology. SC2 (and most RTSs) are peer to peer, there is no server game state, just two clients that synchronize to each other. In that case, one client lagging will absolutely effect another. Also in that case, its incredibly difficult to not have both clients simulating full game state.
Prediction could mitigate that (and possibly does, even in sc2), but if one client is suspended and the other is running fine, either every thing that the running client does is moot (and will be reverted) or it gets suspended, regardless of lockstep or prediction.
The thread you linked reasonably concludes its "routed" P2P. In other words, P2P with, (1) a forced route through, and (2) a form of network address translation at, blizzard's server.
My speculation: this almost exclusively to protect the private IP of one client being exposed to another client. There is no server processing happening beyond connection verification to help mitigate desync attacks. Deliberate desyncs are still possible though, since I've been the victim of it.
I can definitely see why the maphack thing would be an issue generally, but in the case of a broadcast esports competition is it so significant? They seem to have put an awful lot of engineering effort into their special lag system for this tournament, so I assume they at least have some pretty decent budget. So, presumably they could create a special client (possibly even sending the competitors locked down hardware). This seems like it would let them do some things we'd normally consider impossible or 'magic' -- assume both sides of the pipes are going to tell you the truth about everything...
There are pretty regular esports scandals involving cheating. Heck, we've seen players bring their cheats in via special drivers embedded in their peripherals (which is why almost every serious in-person tournament provides peripherals + PC and does not allow the player access to them outside of supervision).
Either way, there is nothing magic. At the end of the day, the soonest you can see an action is still physically unchanged. Especially since the prediction model that makes the most sense is just assuming no action.
That said, I dunno enough about MOBAs to try and postulate on how much it matters, and I have no idea if LoL is using lockstep or some other approach.