Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.


I know right, what about home court advantage or any slight imbalance that great 70's movies are made of?


What to do when one player is lagging is a design choice. You can instead keep the game going and feed in their delayed inputs.


> 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.

https://pathofexile.fandom.com/wiki/Networking_mode


I’m guessing that even SC2 uses lockstep, as (in some cases) I’ve seen one person lag because their opponent has a spotty connection.


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.


Source on SC2 being peer to peer? I see it's server-client based. https://tl.net/forum/starcraft-2/145084-starcraft-2-netcodin...


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).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: