Live data from Hacker News

Riot Games: Artificial Latency for Remote Competitors

lolesports.com

131–140 of 160 posts

Re: Riot Games: Artificial Latency for Remote Competitors

#131
post #78
post #27

Earlier quoted context omitted.

I don't think I get how that solves the issue: you would have set a fixed cutoff time, where you switch from one window/batch to the next. It doesn't matter when you arrive within the window. But statistically, even for random window lengths, if you have a smaller latency, you will make the cutoff for the earlier window more often.

If the window is as large as 500ms then anyone can hit that most of the time, provided they have a good enough clock and decent network.

I don't think this actually solves the problem.

Say I know exactly when the window ticks over. I still want to put my order through immediately anyway since it's to my advantage to get it in the earliest possible window. There's no advantage in waiting for the next window to start.

So I put in my order, and my closer competitor puts in their order at the same time, and they get in the current window, while I have to wait for the next one. And now my disadvantage is even bigger because my order is delayed on top of my base latency by the remaining time until the next window ends.

-----

Even if we remove the window idea entirely and just add a random 100-500ms delay to every command immediately, being closer still has an advantage since 10 + Rand(100,500) is still lower on average than 100 + Rand(100,500).

Re: Riot Games: Artificial Latency for Remote Competitors

#132

Earlier quoted context omitted.

You can in fact have that magical time-travel approach to get apparent latency lower than the real number. Keep a history of the game state at every tick, so you can roll back to any previous instant. If real latency from one client is 50 ms, and you're targeting 35 ms, you roll back the game state by 15 ms each time input comes in from that client, and re-run the game logic from that point forwards and send the resu…

I really dislike games which rewind state based upon latency. It penalizes people with good ping and can lead to very weird game states where a large rollback can cause teleportation of a laggy player as seen by non laggy players. Team Fortress 2 is particularly bad where high latency players can teleport around or you can shoot and hit a laggy player but it doesn’t register by the server due to a rollback. Some play…

every game in existence where you can shoot at someone by simply clicking where they are either uses lag compensation or clientside hitreg, it's simply impossible to get around this

also players only teleport around on your screen in tf2 if you set your cl_interp very low

Re: Riot Games: Artificial Latency for Remote Competitors

#133

Earlier quoted context omitted.

Fairness isn't a perk applied to a team, it is a property of the game. Unless "ability to travel during a pandemic" is considered a skill for this game, it should not be factored into the competition. So, if teams who can't travel to be game are going to be included, then the host must find a way to provide a fair game. This means that remote and local players should have the same latency.

> Fairness isn't a perk applied to a team, it is a property of the game. Could you clarify what this means? I’m not entirely sure I understand what you mean. I think I just need a little more context. > if teams who can't travel to be game are going to be included, then the host must find a way to provide a fair game. I agree with the logic but disagree with the premise: teams who can’t travel to play the game should…

>> Fairness isn't a perk applied to a team, it is a property of the game.

> Could you clarify what this means? I’m not entirely sure I understand what you mean. I think I just need a little more context.

You have described fairness in terms of punishing or rewarding players for certain non-game behavior. But, this is not the right way to think of fairness, in the context of a competitive game. A competitive game has a set of rules, which the players compete under. In a fair competitive game, those rules don't favor a particular set of players. Regardless of whether they deserve it or not, players who couldn't show up in person would be playing under a handicap if there was no lag correction.

>> if teams who can't travel to be game are going to be included, then the host must find a way to provide a fair game.

> I agree with the logic but disagree with the premise: teams who can’t travel to play the game shouldn’t be included in the tournament in the first place, because it places an undue burden on the other teams and lowers the quality of play.

>> Unless "ability to travel during a pandemic" is considered a skill for this game

> I don’t think it’s a skill; it’s a basic obligation individuals and teams must fulfill.

Sure, it is an understandable position to hold, that players who can't show up shouldn't be able to play. Riot clearly disagrees with you(for business reasons probably, mostly). I sort of disagree with you, mostly because I think that while we're in this weird liminal stage of the pandemic, I think we should try to accommodate people who want to engage from home. But this is a soft disagreement, I think there are good arguments either way.

However, once the decision is made about which players will be included in the tournament, if the tournament is to be taken seriously it must present a level playing field to the players who've been let in.

Re: Riot Games: Artificial Latency for Remote Competitors

#134
post #8

As context this was a big international fiasco. Nobody was acting maliciously but fans of RNG and other teams felt wronged. RNG didn't want to attend due to covid restrictions on travel but Riot really wants Chinese viewers in international tournaments, hence all this online latency work. Pros on other teams were lied to by the false latency information which must be almost paranoia inducing to be told it's only 35ms…

good ol - china fuckery. lol

Re: Riot Games: Artificial Latency for Remote Competitors

#135
post #56

Earlier quoted context omitted.

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…

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.

> 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

Re: Riot Games: Artificial Latency for Remote Competitors

#136

Earlier quoted context omitted.

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.

> 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 an…

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.

Re: Riot Games: Artificial Latency for Remote Competitors

#137

Earlier quoted context omitted.

> 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 an…

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.

Re: Riot Games: Artificial Latency for Remote Competitors

#138

Earlier quoted context omitted.

> Fairness isn't a perk applied to a team, it is a property of the game. Could you clarify what this means? I’m not entirely sure I understand what you mean. I think I just need a little more context. > if teams who can't travel to be game are going to be included, then the host must find a way to provide a fair game. I agree with the logic but disagree with the premise: teams who can’t travel to play the game should…

>> Fairness isn't a perk applied to a team, it is a property of the game. > Could you clarify what this means? I’m not entirely sure I understand what you mean. I think I just need a little more context. You have described fairness in terms of punishing or rewarding players for certain non-game behavior. But, this is not the right way to think of fairness, in the context of a competitive game. A competitive game has…

My only rebuttal would be that I don't think the actual game itself should be affected if we want to preserve competitive integrity. That's where I draw the line. Raising the ping at a LAN does affect gameplay and rather significantly.

I do agree with you the host should make a decent effort of accommodating players who can't travel though, but I thought this was pushing it a bit too far for my taste.

What's funny about all this is that technically because the Asian Games aren't going to be held anymore and because it was one of the mitigating factors for RNG not travelling, technically they could physically travel to Korea now.

Re: Riot Games: Artificial Latency for Remote Competitors

#139

Earlier quoted context omitted.

>> Fairness isn't a perk applied to a team, it is a property of the game. > Could you clarify what this means? I’m not entirely sure I understand what you mean. I think I just need a little more context. You have described fairness in terms of punishing or rewarding players for certain non-game behavior. But, this is not the right way to think of fairness, in the context of a competitive game. A competitive game has…

My only rebuttal would be that I don't think the actual game itself should be affected if we want to preserve competitive integrity. That's where I draw the line. Raising the ping at a LAN does affect gameplay and rather significantly. I do agree with you the host should make a decent effort of accommodating players who can't travel though, but I thought this was pushing it a bit too far for my taste. What's funny ab…

It is a funny position that Esports are in. Normal, recreational competition takes place online with random pings. Pro competitions take place with set, usually minimal ping. For everybody but the pros, adjusting to lag is a crucial skill. Maybe tournaments games should be played as 'sets,' where everybody on each team gets randomized ping, to test that skill. (just kidding (although it would be interesting)).

Re: Riot Games: Artificial Latency for Remote Competitors

#140

Earlier quoted context omitted.

Are you saying that Linux's packet delay function is imprecise? Can you link to more information about this?

The problem is that you can't just add a fixed amount of latency to hit a goal of 35ms, you need some sort of algorithm that adaptively changes the amount of added latency to account for occasional spikes in network latency (this is a game that takes >30min so those spikes are guaranteed to happen over the course of a game)

Why not? Their system simulates latency between their facilities in two cities. Latency does not change much. Their solution adjusts to realtime latency variance, but they don't show that such realtime adjustment is needed. The article doesn't say whether they even measured latency variance.

And they also don't show that their dynamic adjustments are more fair than a static adjustment. I think it's likely that their system penalizes local players for too long after a short remote latency spike.

Post reply on HN