Actual data on Turn Rate frame rate/ms

General Discussion
tec27 ran a few tests, saw a lot of people argue about this on the forum.

http://www.teamliquid.net/forum/brood-war/428360-bw-general-discussion?page=197#3922

TLDR:

TR 8 on low = roughly the same as lan latency on 1.16

TR 12 on low = much faster than lan latency on 1.16

TR 12 on High = faster than lan latency on 1.16 (and TR 8)

TR 12 on Extra High = slightly lower latency than TR 8 on low latency
08/25/2017 03:27 PMPosted by TT1
tec27 ran a few tests, saw a lot of people argue about this on the forum.

http://www.teamliquid.net/forum/brood-war/428360-bw-general-discussion?page=197#3922

TLDR:

TR 8 on low = roughly the same as lan latency on 1.16

TR 12 on low = much faster than lan latency on 1.16

TR 12 on High = faster than lan latency on 1.16 (and TR 8)

TR 12 on Extra High = slightly lower latency than TR 8 on low latency


HI TT1

Nice, i would to see this same information with a lot of more how to say... feets in the dirt.

For instance, what kind of Download / Upload connection you need to have to play Turn Rate 8 in Low Latency 1v1 (Minimun Connection Requirements)

Or how much Donwload/Upload you need to be able to play Turn Rate 16 1v1 (Ideal Connection Requirements)

I obviusly know the router distance, overall distance form the server, ISP throtlling, oponnet and stuuf like that are also BIG latency factors, but still, it would be nice to know this stats.

Point me if i am wrong, but i am taking this out of nowhere asuming the oponent is perfect connection and close to server.

Turn Rate 8 Low Latency (DL 5 Megabytes, UL 2.5 megabytes)
Turn Rate 16 Low Latency (FL 25 MEgabytes, UL 12.5 MEgabytes)

Something like this?, do you kind of agree?
I dont think download and upload speeds matters that much compared to isp and routing. For example, I can play in a ffa with 2 of my real life friends whitch both have 10mbits connexions on tr16 low lat. But this wouldnt be possible with 1 player from europe with 200mbit+ connexion.

The reason is that Starcraft dont sent and receive a lot of data, but the data need to travel the distance before its being received on the other side. I think our worst enemy is the speed of light, isp's infrastructure and the path the data takes that might be less than optimal.
08/25/2017 05:32 PMPosted by LoucMachine
I dont think download and upload speeds matters that much compared to isp and routing. For example, I can play in a ffa with 2 of my real life friends whitch both have 10mbits connexions on tr16 low lat. But this wouldnt be possible with 1 player from europe with 200mbit+ connexion.

The reason is that Starcraft dont sent and receive a lot of data, but the data need to travel the distance before its being received on the other side. I think our worst enemy is the speed of light, isp's infrastructure and the path the data takes that might be less than optimal.


I agree, i still think that knowing this information is fine, you have 10 megabits??? that is like 1 megabyte, how can you even download the game with that connection, normaly Blizzard servers stop you from downloading if its not more than 12 kbps :O
I personally have 120 down and 60 up but both my friends have 10mbit down and I am not sure how much up but obviously less than 10. Yeah they download at like 1.2 mb/s lol. Its low but its considered the lowest "high speed" internet here and many people use that and say "well I have high speed internet" haha. But they are not super into multiplayer game. They take multiple hours to download scr loll. They are more old school console player/collectionner so its ok i guess.

I agree that more info is always better tho, I just think that it might turns out that just about everybody has the requirement for it.

Ps. I dont know if you saw it but I sent links in the other thread about pete's interview. :)
08/25/2017 05:59 PMPosted by LoucMachine
I personally have 120 down and 60 up but both my friends have 10mbit down and I am not sure how much up but obviously less than 10. Yeah they download at like 1.2 mb/s lol. Its low but its considered the lowest "high speed" internet here and many people use that and say "well I have high speed internet" haha. But they are not super into multiplayer game. They take multiple hours to download scr loll. They are more old school console player/collectionner so its ok i guess.

I agree that more info is always better tho, I just think that it might turns out that just about everybody has the requirement for it.

Ps. I dont know if you saw it but I sent links in the other thread about pete's interview. :)


OH yeah thanks !!! i was looking for something to see online right know, cheers.
I spoke with Tec to get a little more data behind the numbers and to answer some of the questions here.

First, what does "turn rate" really mean? "Turn rate" is frequency of updates per second. TR8 would mean 8 updates per second (125ms per update), TR16 would mean 16 updates per second (62.5ms per update). For reference, the game processes 24 updates per second on Fastest game speed. If you were to look at it visually, it would look like this:

Time [-----------------------one second------------------------------]
TR08 [-------|-------|-------|-------|-------|-------|-------|-------]
TR16 [---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---]


Now, let's say you issue a command X somewhere along that timeline. The distance between the X and the next | determines how long it takes for your command to get sent to the other players. And for the command to get executed, it has to take another full turn so that it can come back to you as validated by the other players in the game.

If any player in the game does not receive a packet from every other player in the game within that time cycle window, the game will wait until that information is received and move the gamestate forward. Which means: the game will lag. Obviously, the higher the turn rate, the more frequently information is exchanged, which means your ping to other players has to support it. For example, if you're hosting a TR16 game and someone has a ping to you of greater than 62ms, the game is going to lag.

There's a special aside here for the in-game network tuning you can do with Low/High/Extra-High Latency. For more information on how that works you can check out this interesting Liquipedia article: http://wiki.teamliquid.net/starcraft/LatencyChanger

The data we want to focus on is the equation (NetworkModeDelay × UserDelay + 1) × 42ms (42ms = 1000 / the Fastest game speed turn rate of 24)
as well as these constants:

NetworkModeDelay = 2 on Battle.net, 1 (0?) for single player
UserDelay = 2 for Low Latency, 3 for High Latency, 4 for Extra-High Latency


Second, the bandwidth question. The packets that Starcraft sends are very small (remember, this is a game that was tuned for dialup speeds of 14.4-28.8kbps upstream, but also most games don't require very much bandwidth anyway). I asked the hypothetical "if a packet is 10KB does that mean at TR16 you're sending 160KB/s?" and he said the packets were way smaller than 10KB. One data point he told me was that in one game with 6 players on TR08, 15 minutes long, there was around 1.2MB sent and received. That's about 1.3KB per second in a 6 player game. Completely negligible when it comes to bandwidth consumption.

The takeaway here is that it doesn't matter if you have a 10mbps connection or 100mbps or 1000mbps. You're only dealing with around 10kbps traffic on the high end. Any remotely-modern connection supports that. What does matter is the latency between players. TR08 is a good conservative estimate because generally any information can get anywhere in the world and back within 250ms. If that target is any lower, you start excluding some parts of the world. Like LoucMachine says, we're all bottlenecked by the speed of light.
08/25/2017 08:44 PMPosted by ExcaliburZ
I spoke with Tec to get a little more data behind the numbers and to answer some of the questions here.

First, what does "turn rate" really mean? "Turn rate" is frequency of updates per second. TR8 would mean 8 updates per second (125ms per update), TR16 would mean 16 updates per second (62.5ms per update). For reference, the game processes 24 updates per second on Fastest game speed. If you were to look at it visually, it would look like this:

Time [-----------------------one second------------------------------]
TR08 [-------|-------|-------|-------|-------|-------|-------|-------]
TR16 [---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---]


Now, let's say you issue a command X somewhere along that timeline. The distance between the X and the next | determines how long it takes for your command to get sent to the other players. And for the command to get executed, it has to take another full turn so that it can come back to you as validated by the other players in the game.

If any player in the game does not receive a packet from every other player in the game within that time cycle window, the game will wait until that information is received and move the gamestate forward. Which means: the game will lag. Obviously, the higher the turn rate, the more frequently information is exchanged, which means your ping to other players has to support it. For example, if you're hosting a TR16 game and someone has a ping to you of greater than 62ms, the game is going to lag.

There's a special aside here for the in-game network tuning you can do with Low/High/Extra-High Latency. For more information on how that works you can check out this interesting Liquipedia article: http://wiki.teamliquid.net/starcraft/LatencyChanger

The data we want to focus on is the equation (NetworkModeDelay × UserDelay + 1) × 42ms (42ms = 1000 / the Fastest game speed turn rate of 24)
as well as these constants:

NetworkModeDelay = 2 on Battle.net, 1 (0?) for single player
UserDelay = 2 for Low Latency, 3 for High Latency, 4 for Extra-High Latency


Second, the bandwidth question. The packets that Starcraft sends are very small (remember, this is a game that was tuned for dialup speeds of 14.4-28.8kbps upstream, but also most games don't require very much bandwidth anyway). I asked the hypothetical "if a packet is 10KB does that mean at TR16 you're sending 160KB/s?" and he said the packets were way smaller than 10KB. One data point he told me was that in one game with 6 players on TR08, 15 minutes long, there was around 1.2MB sent and received. That's about 1.3KB per second in a 6 player game. Completely negligible when it comes to bandwidth consumption.

The takeaway here is that it doesn't matter if you have a 10mbps connection or 100mbps or 1000mbps. You're only dealing with around 10kbps traffic on the high end. Any remotely-modern connection supports that. What does matter is the latency between players. TR08 is a good conservative estimate because generally any information can get anywhere in the world and back within 250ms. If that target is any lower, you start excluding some parts of the world. Like LoucMachine says, we're all bottlenecked by the speed of light.


COOL. ill stop saying then that there is a relationship between bandwidht and latency, as you said packets are so small that whats really afecting the LAG is the distance or PING from one point to the other, thanks a lot. I was trying to set a Minimum Requirement or Maximun requirement for connection... but probably if you are close to a West sever, lets say 20 ms or so, if you have a 512 kbps Dl/UL you could play a normal game, so speed dosent even matter. OK tahnks got it now, thanks for the answer.
08/25/2017 08:44 PMPosted by ExcaliburZ
I spoke with Tec to get a little more data behind the numbers and to answer some of the questions here.

First, what does "turn rate" really mean? "Turn rate" is frequency of updates per second. TR8 would mean 8 updates per second (125ms per update), TR16 would mean 16 updates per second (62.5ms per update). For reference, the game processes 24 updates per second on Fastest game speed. If you were to look at it visually, it would look like this:

Time [-----------------------one second------------------------------]
TR08 [-------|-------|-------|-------|-------|-------|-------|-------]
TR16 [---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---]


Now, let's say you issue a command X somewhere along that timeline. The distance between the X and the next | determines how long it takes for your command to get sent to the other players. And for the command to get executed, it has to take another full turn so that it can come back to you as validated by the other players in the game.

If any player in the game does not receive a packet from every other player in the game within that time cycle window, the game will wait until that information is received and move the gamestate forward. Which means: the game will lag. Obviously, the higher the turn rate, the more frequently information is exchanged, which means your ping to other players has to support it. For example, if you're hosting a TR16 game and someone has a ping to you of greater than 62ms, the game is going to lag.

There's a special aside here for the in-game network tuning you can do with Low/High/Extra-High Latency. For more information on how that works you can check out this interesting Liquipedia article: http://wiki.teamliquid.net/starcraft/LatencyChanger

The data we want to focus on is the equation (NetworkModeDelay × UserDelay + 1) × 42ms (42ms = 1000 / the Fastest game speed turn rate of 24)
as well as these constants:

NetworkModeDelay = 2 on Battle.net, 1 (0?) for single player
UserDelay = 2 for Low Latency, 3 for High Latency, 4 for Extra-High Latency


Second, the bandwidth question. The packets that Starcraft sends are very small (remember, this is a game that was tuned for dialup speeds of 14.4-28.8kbps upstream, but also most games don't require very much bandwidth anyway). I asked the hypothetical "if a packet is 10KB does that mean at TR16 you're sending 160KB/s?" and he said the packets were way smaller than 10KB. One data point he told me was that in one game with 6 players on TR08, 15 minutes long, there was around 1.2MB sent and received. That's about 1.3KB per second in a 6 player game. Completely negligible when it comes to bandwidth consumption.

The takeaway here is that it doesn't matter if you have a 10mbps connection or 100mbps or 1000mbps. You're only dealing with around 10kbps traffic on the high end. Any remotely-modern connection supports that. What does matter is the latency between players. TR08 is a good conservative estimate because generally any information can get anywhere in the world and back within 250ms. If that target is any lower, you start excluding some parts of the world. Like LoucMachine says, we're all bottlenecked by the speed of light.

Thankyou for putting this out there, this is hands down the best explained post concerning his topic on the entire forum. Very well researched and accurate.
08/25/2017 09:05 PMPosted by hyfrehyfre
COOL. ill stop saying then that there is a relationship between bandwidht and latency, as you said packets are so small that whats really afecting the LAG is the distance or PING from one point to the other, thanks a lot. I was trying to set a Minimum Requirement or Maximun requirement for connection... but probably if you are close to a West sever, lets say 20 ms or so, if you have a 512 kbps Dl/UL you could play a normal game, so speed dosent even matter. OK tahnks got it now, thanks for the answer.


Maybe you should not have said it in the first place.

I told so many people on this forum that is this is not a bandwidth problem, nobody listens anyways.

Therefore: Thanks ExcaliburZ, it is great somebody with green posts shows up that people finally believe. :D
OK so turnrate = updaterate in Hz.

Can we hope for a turnrate 24 then, seems it would be much better to just sync it to the game engine by now? I mean a turnrate of 24 is still a low update rate, only 24 updates per second, that's lower compared to any modern real-time game, right?

So I now vote for turnrate 24 if it's possible to do this it should be the default, actually there's no reason to keep any other turnrate at all, just remove all turnrates except 24. We are not using 14.4k modems anymore!

I played Q3A fifteen years ago and the updaterate on a good server like also QuakeLive would be 125Hz, in other words the turnrate = 125. But if SCR still only updates at 24Hz it can't go above that. Maybe this RTS should not be compared to FPS games but it's just to put the numbers into perspective.

Also if this is really the case I think the SCR game engine should get a new high resolution timer. It should have been made before release, a 24Hz ticrate in 2017 and no updated netcode at all but that's OK because it's only $15... What turnrate do you get in SC2 ?
08/26/2017 07:18 AMPosted by astro
OK so turnrate = updaterate in Hz.

Can we hope for a turnrate 24 then, seems it would be much better to just sync it to the game engine by now? I mean a turnrate of 24 is still a low update rate, only 24 updates per second, that's lower compared to any modern real-time game, right?

So I now vote for turnrate 24 if it's possible to do this it should be the default, actually there's no reason to keep any other turnrate at all, just remove all turnrates except 24. We are not using 14.4k modems anymore!

I played Q3A fifteen years ago and the updaterate on a good server like also QuakeLive would be 125Hz, in other words the turnrate = 125. But if SCR still only updates at 24Hz it can't go above that. Maybe this RTS should not be compared to FPS games but it's just to put the numbers into perspective.

Also if this is really the case I think the SCR game engine should get a new high resolution timer. It should have been made before release, a 24Hz ticrate in 2017 and no updated netcode at all but that's OK because it's only $15... What turnrate do you get in SC2 ?


In SC2 there was a response period of 250ms (so basically the same as turn rate 8). I don't know if that's changed since WoL. There was initial backlash at the time when that number was revealed because it sounds bad, but really it's fine for what it does.

And yeah you can't directly compare Q3 to SC:R. For one, 125Hz would mean an 8ms response time, basically the same as top-of-the-line monitors. Because Quake is a client/server game, if you miss your 8ms update interval (meaning your ping is greater than 8ms, which it basically always will be), it's mostly okay because interpolation and client prediction will carry you until the next update. Brood War being a peer-to-peer game has no interpolation, it literally waits until it has the latest gamestate from every player before proceeding to update (and if that doesn't come in time, it waits which means it lags). So you definitely want a turn rate that everyone can handle. Also, Quake (and CS) are much twitchier games. You need to be able to click immediately and have your railgun hit register on the tiny speck across the map. You need to be able to dodge a rocket that's coming at you at triple your movespeed. In Brood War, your units do the interaction for you. You don't just click one button, you click a series of buttons to issue commands, making it a slower experience in terms of input handling.
08/26/2017 01:35 PMPosted by ExcaliburZ
In SC2 there was a response period of 250ms (so basically the same as turn rate 8). I don't know if that's changed since WoL. There was initial backlash at the time when that number was revealed because it sounds bad, but really it's fine for what it does.

And yeah you can't directly compare Q3 to SC:R. For one, 125Hz would mean an 8ms response time, basically the same as top-of-the-line monitors. Because Quake is a client/server game, if you miss your 8ms update interval (meaning your ping is greater than 8ms, which it basically always will be), it's mostly okay because interpolation and client prediction will carry you until the next update. Brood War being a peer-to-peer game has no interpolation, it literally waits until it has the latest gamestate from every player before proceeding to update (and if that doesn't come in time, it waits which means it lags). So you definitely want a turn rate that everyone can handle. Also, Quake (and CS) are much twitchier games. You need to be able to click immediately and have your railgun hit register on the tiny speck across the map. You need to be able to dodge a rocket that's coming at you at triple your movespeed. In Brood War, your units do the interaction for you. You don't just click one button, you click a series of buttons to issue commands, making it a slower experience in terms of input handling.

125Hz updaterate does not mean you have 8ms latency to the server or other player, it means 125 packets per second. RATE is the AMOUNT of packets to send or receive, this CAN be controlled. PING is the TIME it takes for packets to travel to and from your computer, this can NOT be controlled. LATENCY is determined mainly by the DISTANCE the packets have to travel between the computers so basically controlled by speed of electricity/light.

If SCR really does not have any interpolation then it benefits even more if the updaterate is higher. If you only have 16Hz rate you will benefit more from interpolation smoothing that choppy motion. If you have a 125Hz rate then interpolation is less important because it's not bad to begin with.

Join the Conversation

Return to Forum