Live data from Hacker News

Riot Games: Artificial Latency for Remote Competitors

lolesports.com

21–30 of 160 posts

Re: Riot Games: Artificial Latency for Remote Competitors

#21
post #19
post #11

Earlier quoted context omitted.

I never understood why they didn't use randomized length micro batches to solve this. Instead of processing orders instantly, wait between 200ms and 500ms and then process all orders that came in that window in random order. Then being 5ms closer to the server wouldn't matter.

Probably because such a system is not provably fair – you can’t prove your system is truly random.

You would use an external source of randomness, which you can definitely prove is sufficiently random.

Re: Riot Games: Artificial Latency for Remote Competitors

#23
Some data: 8 years ago someone found going from 35ms to 0ms latency meant you were likely to win games 1-2% more of the time: https://www.reddit.com/r/dataisbeautiful/comments/1t23a0/lat...

And this is a little different, but Riot found that playing on ethernet instead of wifi made you about 1% more likely to win games. https://web.archive.org/web/20160814131032/http://na.leagueo...

Re: Riot Games: Artificial Latency for Remote Competitors

#24
post #20
post #13

Earlier quoted context omitted.

That sounds like a complex solution. Sometimes a dumb solution that works good enough is better than a complex solution that _probably_ can't be exploited.

It's complex on one end to reduce complexity on the other -- the trading companies wouldn't have to worry about millisecond optimizations if they trading batches were 200ms windows. So the wire lengths wouldn't matter but also not mattering is the processor, memory, software, etc. for the trading companies. Seems like a good tradeoff. And honestly the wire thing probably isn't real. Light moves 30cm in a nanosecond.…

I used to work in HFT. I promise you that companies would still try to exploit randomized batches. There is an advantage to being the very last entrant into a batch (most up to date information). Truly random batches are not trivial to implement and any statistical pattern in the batching could be exploited.

Re: Riot Games: Artificial Latency for Remote Competitors

#25

A good software lesson here. They built a complex system to tweak tens of ms (at most) of ping to equalize. And they had a bug and it disadvantaged on team. Thus, they have to replay due to unfairness introduced by Riot itself. They could've gone Option 1 - all teams at their natural ping. While it wouldn't be as perfect in theory, it wouldn't have resulted in replaying matches. Plenty of other esports and fighting g…

There is a huge difference between 0 ping and 35 ping though, particularly in pro-level LoL. It is strategic but that ping can be the difference between flashing a skillshot or not, and swinging the whole course of a teamfight. Of course 35 ping is not THAT bad and I agree, while unfair, it wouldnt be the end of the world, it's not even Worlds, just MSI, an invitational event.

[deleted]

Re: Riot Games: Artificial Latency for Remote Competitors

#26

A good software lesson here. They built a complex system to tweak tens of ms (at most) of ping to equalize. And they had a bug and it disadvantaged on team. Thus, they have to replay due to unfairness introduced by Riot itself. They could've gone Option 1 - all teams at their natural ping. While it wouldn't be as perfect in theory, it wouldn't have resulted in replaying matches. Plenty of other esports and fighting g…

> People play Melee with ping differences bigger than that and it works fine lol. Waaay more technical game shows that there's tolerance.

Sure, people play with ping disparity in tons of competitive games, but that's because there's not really an alternative for online play. It's "play with a ping disparity" or "don't play at all".

Once there is more widespread reliable alternative, which Riot seems to be working toward in their own game tournaments, maybe we'll see if this tolerance persists in competitive tournaments.

Re: Riot Games: Artificial Latency for Remote Competitors

#27
post #11

Reminds me of the cable lengths for black boxes connected to the network in Wall Street. Each cable is the same length regardless of which computer is closer to the access point.

I never understood why they didn't use randomized length micro batches to solve this. Instead of processing orders instantly, wait between 200ms and 500ms and then process all orders that came in that window in random order. Then being 5ms closer to the server wouldn't matter.

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.

Re: Riot Games: Artificial Latency for Remote Competitors

#28
post #21
post #19

Earlier quoted context omitted.

Probably because such a system is not provably fair – you can’t prove your system is truly random.

You would use an external source of randomness, which you can definitely prove is sufficiently random.

You could do something like this:

• Pre-publish, for each time batch, a public key. You could publish lists of these well in advance.

• Let everyone submit, alongside each order, a number arbitrarily selected by them. It does not matter how they select the number, but it would be simpler if everyone chose distinct numbers.

• When order processing is done, do it by the order of closeness of the submitted number to the private key. Publish the private key after order submission is closed.

• Everybody can now verify that the order of processing is indeed by the order of the previously secret private key, and everybody can verify that the private key corresponds to the previously published private key.

Re: Riot Games: Artificial Latency for Remote Competitors

#29
post #11

Reminds me of the cable lengths for black boxes connected to the network in Wall Street. Each cable is the same length regardless of which computer is closer to the access point.

I never understood why they didn't use randomized length micro batches to solve this. Instead of processing orders instantly, wait between 200ms and 500ms and then process all orders that came in that window in random order. Then being 5ms closer to the server wouldn't matter.

this is called a periodic auction and has been common on European exchanges for nearly a decade

(though the matching algorithm varies)

Re: Riot Games: Artificial Latency for Remote Competitors

#30

Earlier quoted context omitted.

Perhaps apocryphal/silly, but amusing nonetheless. Story goes that this means you want to be in the computer furthest from the interconnect because light travels slightly faster in straight fiber than in coiled fiber.

Not apocryphal; IEX has 38 miles of wire in their building. Tom Scott did a video a few years ago about it: https://www.youtube.com/watch?v=d8BcCLLX4N4

Does IEX have any liquidity or uptake yet?
Post reply on HN