Live data from Hacker News

Valorant's 128-Tick Servers (2020)

technology.riotgames.com

51–60 of 136 posts

Re: Valorant's 128-Tick Servers (2020)

#51

I wonder if any game servers are implemented in Erlang?

I distinctly remembered that Eve Online was in Erlang, went to go find sources and found out I was 100% wrong. But I did find this thread about a game called "Vendetta Online" that has Erlang... involved, though the blog post with details seems to be gone. Anyway, enjoy! http://lambda-the-ultimate.org/node/2102

Eve used Stackless Python.

CoD Black Ops used/uses Erlang for most of its backend afaik. https://www.erlang-factory.com/upload/presentations/395/Erla...

Re: Valorant's 128-Tick Servers (2020)

#52

128 ticks per second servers. (And lo, suddenly the article's thesis is inherently clear.) A "tick", or an update, is a single step forward in the game's state. UPS (as I'll call it from here) or tick rate is the frequency of those. So, 128 ticks/s == 128 updates per sec. That's a high number. For comparison, Factorio is 60 UPS, and Minecraft is 20 UPS. At first I imagined an FPS's state would be considerably smaller…

When Battlefield 4 launched it had terrible network performance. Battlefield 3 wasn't great but somehow BF4 was way worse. Turned out while clients sent updates to the server at 30 Hz, the server sent updates back only at 10 Hz[1].

This was the same as BF3, but there were also some issues with server load making things worse and high-ping compensation not working great.

After much pushback from players, including some great analysis by Battle(non)sense[2] that really got traction, the devs got the green light on improving the network code and worked a long time on that. In the end they got high-tickrate servers[3][4], up to 144Hz though I mostly played on 120Hz servers, along with a lot of other improvements.

The difference between a 120Hz server and a 30Hz was night and day for anyone who could tell the difference between the mouse and the keyboard. Problem was that by then the game was half-dead... but it was great for the 15 of us or so still playing it at that time.

[1]: https://www.reddit.com/r/battlefield_4/comments/1xtq4a/battl...

[2]: https://www.youtube.com/@BattleNonSense

[3]: https://www.reddit.com/r/battlefield_4/comments/35ci2r/120hz...

[4]: https://www.reddit.com/r/battlefield_4/comments/3my0re/high_...

Re: Valorant's 128-Tick Servers (2020)

#53

This deep dive article is very nice. At any given time, ~50 of those games are going to be in the buy phase. Players will be purchasing equipment safely behind their spawn barriers and no shots can hurt them. We realized we don’t even need to do any server-side animation during the buy phase, we could just turn it off. That explains the current trend of "online" video game that is so annoying: For 10 minutes of play,…

This is not equivalent to "lobby time or end game animations" in other games. In Valorant (similar to Counter Strike), at the start of the game you have 60 seconds to buy your weapons and abilities for the round. Valorant/CS is typically a best-of-13, and before each round is a 60 second "buy" period.

In CS you can leave the buy zone immediately. I don't necessarily believe that Valorant's decision to fence players in their spawn for the first minute during the buy period is simply to save on server costs, especially because they realized that optimization possibility after the fact. Being able to buy your weapons quickly may have an element of skill, but it doesn't make for particularly interesting gameplay. They may have just decided that they'd rather level this part of the playing field so people can focus on the core tactical FPS gameplay.

Re: Valorant's 128-Tick Servers (2020)

#54
post #49

Earlier quoted context omitted.

OSRS plays on 0.6 TPS... or 100 ticks per minute kind of funny how different that is.

No, OSRS is 100 ticks per minute which gives 0.6 second ticks, which rounds to 1.667 ticks per second.

Yup. As a plugin dev it has its weird quirks but it's quite amazing how the entire time runs at that speed

Re: Valorant's 128-Tick Servers (2020)

#55
post #49

Earlier quoted context omitted.

OSRS plays on 0.6 TPS... or 100 ticks per minute kind of funny how different that is.

No, OSRS is 100 ticks per minute which gives 0.6 second ticks, which rounds to 1.667 ticks per second.

Eve Online probably wins the slowest tickrate award with its whopping 1 tick per second.

Re: Valorant's 128-Tick Servers (2020)

#56
post #30

Earlier quoted context omitted.

Apex Legends is at 20 IIRC (My memory is from 2-3 years back on this one tho) CSGO was at 64 for the standard servers and 128 for Faceit (IIRC CS2 is doing some dynamic tick schenanigans unless they changed back on that) Overwatch is I think at 60

CS2 is mostly 64 tick from what I understand. The "sub-tick" stuff is timestamping actions that happen on a local frame before the next tick. So in theory the client feels perfectly responsive and the server can adjust for the delta between your frame and the tick. In practice it seems to have been an implementation nightmare because they've regularly shipped both bugs and fixes for the "sub-tick" system. The netcode…

That's very interesting. The CS2 netcode always felt a little brittle and janky to me, but I could never pin point exactly what was causing the issues. Especially since other games mostly run fine for me.

I also remember reading a few posts about their new subtick system but never put two and two together. Hopefully they keep refining it.

Re: Valorant's 128-Tick Servers (2020)

#57
post #48

This post reads less like an engineering deep dive and more like a Xeon product brochure that wandered into a video game blog. They casually name-drop every Intel optimization short of tattooing "Hyperthreaded" on their foreheads.

well of course they would. they bought all intel hardware. and they are making one of the most perfromant multiplayer servers ever. they should be mentioning every optimization possible. if they had amd thread ripper servers they would mention all those features too.

Re: Valorant's 128-Tick Servers (2020)

#58
post #55
post #49

Earlier quoted context omitted.

No, OSRS is 100 ticks per minute which gives 0.6 second ticks, which rounds to 1.667 ticks per second.

Eve Online probably wins the slowest tickrate award with its whopping 1 tick per second.

IIRC it gets even slower during massive battles where there are hundreds/thousands of players on the same server and area

https://wiki.eveuniversity.org/Time_dilation

Re: Valorant's 128-Tick Servers (2020)

#60
post #30

Earlier quoted context omitted.

Apex Legends is at 20 IIRC (My memory is from 2-3 years back on this one tho) CSGO was at 64 for the standard servers and 128 for Faceit (IIRC CS2 is doing some dynamic tick schenanigans unless they changed back on that) Overwatch is I think at 60

CS2 is mostly 64 tick from what I understand. The "sub-tick" stuff is timestamping actions that happen on a local frame before the next tick. So in theory the client feels perfectly responsive and the server can adjust for the delta between your frame and the tick. In practice it seems to have been an implementation nightmare because they've regularly shipped both bugs and fixes for the "sub-tick" system. The netcode…

Worth noting that part of the packet size appears to be due to animation data, which they’ve begun the process of transitioning to a more efficient system. [0]

With that being said: totally agree on the netcode.

[0]: https://old.reddit.com/r/GlobalOffensive/comments/1fwgd59/an...

Post reply on HN