Artificial or natural delays, I am somewhat confused that one end measuring/calculating ping can end up with a wrong value. Transmit at local time x, receive at local time y, subtract. It only needs a working local clock. Second surprising thing is artifical latency added on the client. Anything on the client I would avoid, if possible. Third, this all looks like magically connecting two ends. But it is packets flowi…
I think the symmetric delay here makes sense, since you're trying to simulate the latency of a (likely) symmetric connection between another client and the server. If you only add latency on the transmission, then 2 actions taken at the same time by players with different amounts of physical latency will be processed at different times. If we assume the game clocks on each client and the server are in sync, then this…
Riot Games: Artificial Latency for Remote Competitors
91–100 of 160 posts
Re: Riot Games: Artificial Latency for Remote Competitors
#92Earlier quoted context omitted.
My guess is that they did not add in the client delay.
Exactly right. They added too much latency because they forgot to account for the latency they added in the client. You can see from their architecture diagram (Figure 4) that the latency measurement didn't include the client delay. https://images.contentstack.io/v3/assets/bltad9188aa9a70543a... The blog post states: "The existing network monitoring system measured the latency at the networking layer as shown by the…
But the blog post states: "a calculation error that only manifested in scenarios where the actual ping was significantly lower than the target latency".
Re: Riot Games: Artificial Latency for Remote Competitors
#93Earlier 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.
Re: Riot Games: Artificial Latency for Remote Competitors
#94Artificial or natural delays, I am somewhat confused that one end measuring/calculating ping can end up with a wrong value. Transmit at local time x, receive at local time y, subtract. It only needs a working local clock. Second surprising thing is artifical latency added on the client. Anything on the client I would avoid, if possible. Third, this all looks like magically connecting two ends. But it is packets flowi…
I think the symmetric delay here makes sense, since you're trying to simulate the latency of a (likely) symmetric connection between another client and the server. If you only add latency on the transmission, then 2 actions taken at the same time by players with different amounts of physical latency will be processed at different times. If we assume the game clocks on each client and the server are in sync, then this…
Re: Riot Games: Artificial Latency for Remote Competitors
#95Earlier quoted context omitted.
Exactly right. They added too much latency because they forgot to account for the latency they added in the client. You can see from their architecture diagram (Figure 4) that the latency measurement didn't include the client delay. https://images.contentstack.io/v3/assets/bltad9188aa9a70543a... The blog post states: "The existing network monitoring system measured the latency at the networking layer as shown by the…
That kind of error would apply all the time. But the blog post states: "a calculation error that only manifested in scenarios where the actual ping was significantly lower than the target latency".
Re: Riot Games: Artificial Latency for Remote Competitors
#96Artificial or natural delays, I am somewhat confused that one end measuring/calculating ping can end up with a wrong value. Transmit at local time x, receive at local time y, subtract. It only needs a working local clock. Second surprising thing is artifical latency added on the client. Anything on the client I would avoid, if possible. Third, this all looks like magically connecting two ends. But it is packets flowi…
I think the symmetric delay here makes sense, since you're trying to simulate the latency of a (likely) symmetric connection between another client and the server. If you only add latency on the transmission, then 2 actions taken at the same time by players with different amounts of physical latency will be processed at different times. If we assume the game clocks on each client and the server are in sync, then this…
For all on the server, you could add latency right after receiving data from the client, but before game code processes it, and before sending data to the client.
That said, there likely were technical considerations involved in their decision to do a mix of both.
Re: Riot Games: Artificial Latency for Remote Competitors
#97Earlier quoted context omitted.
I read that section as comparing what they logged before vs what the player experiences: the time taken for an input to be registered and it's effect communicated to the user. Maybe I'm wrong, but I don't think the intention was a precise description of the error, but rather the hazard of not having logs which reflect what the user experiences.
They stated that they use the same calculation for the logs as for other purposes such as latency compensation. From near the top of the blog post: "The reason we did not find it sooner is that the cause of the issue was a code bug that miscalculated latency, which meant that the values in our logs were also wrong." And from later in the post: "Our logs were not displaying the issue because the calculation was wrong.…
Re: Riot Games: Artificial Latency for Remote Competitors
#98Earlier quoted context omitted.
Exactly right. They added too much latency because they forgot to account for the latency they added in the client. You can see from their architecture diagram (Figure 4) that the latency measurement didn't include the client delay. https://images.contentstack.io/v3/assets/bltad9188aa9a70543a... The blog post states: "The existing network monitoring system measured the latency at the networking layer as shown by the…
That kind of error would apply all the time. But the blog post states: "a calculation error that only manifested in scenarios where the actual ping was significantly lower than the target latency".
Because realized ping is over by as much as original ping was under, so if original wasn't significantly under...
Re: Riot Games: Artificial Latency for Remote Competitors
#99Distributed consensus is hard. Very hard. Anyone dismissing the problem as “should never have hopped,” hasn’t a clue as to how hard and error prone reliable distributed consensus is. 35 ms lag in overall responsiveness is an eternity in competitive game play. There are videos floating around that show drawing on a tablet surface with various input latencies (perhaps someone has a link, I can’t find them at the moment…
Re: Riot Games: Artificial Latency for Remote Competitors
#100Earlier quoted context omitted.
The technical team acted honorably, but the upper stewardship at Riot games behaved horrendously. They sacrificed the competitive integrity of their sport because they didn't want to exclude RNG from the tournament, because they wanted the audience of the Chinese market. This article goes into more detail, giving a larger context for why this situation shouldn't have never happened in the first place. https://www.inv…
> because they wanted the audience of the Chinese market. Or maybe because the tournament would've been shit without them? Who wants to watch an international tournament with only 1 of the clearly top 2 regions represented? WHole thing would've been a forgone conclusion at that point.
As the article states, increasing the ping doesn't make it more fair for the other teams because they actually traveled to the event. They're physically there. It only makes it more fair for RNG who can't attend because of Covid restrictions.
To paraphrase, it "punishes the teams who are there for a team that isn't."
From a business perspective of course, I agree with you. It's definitely better to sacrifice the level of play for viewership (and it does sacrifice the level of play because artificially increasing the ping at a LAN event makes the game worse).
But if you're running a competitive eSport and you want a fair sport, it's a terrible decision.