how people on opposite sides of the earth can play video games together seemlessly when these games require split second actions

1.10K views

how people on opposite sides of the earth can play video games together seemlessly when these games require split second actions

In: 4913

50 Answers

Anonymous 0 Comments

There are lots of games that seem to require real-time interactions but hide them behind mechanics that are more about actions over time.

World of Warcraft is a great example.

You might get the first hit in a duel (if you have a nearly 0ms ping to the server) but the forced delay between your first hit and second hit (called cooldown) will ensure you can hit the player more than N times in 10 seconds…

the hardware input is handled locally, so has no delay between input and acknowledgement of an action being locked in as the next operation — the server will hold the resolution of action until the proper cooldown has been adhered to…

On the other hand, if you are the other person in the duel and have a 100 ms ping to the server and use actions that have more than 100ms cooldown, you will not notice deficit due to you difference in ping times…

If this was actually real-time… where all input was sent in the raw to a server for handling and all input was handled as it was received from the client … the person with the lowest ping time could spam a fire key and win any fight…

Many PVP games suffered from this problem 2 decades ago…

Anonymous 0 Comments

Well, first of all people dont play with eachother on other sides of the world typically. Games are often played within “regions” such as NA west, NA East, Europe, etc.

Even within these regions the distances can still be staggering, however you have to consider how fast communication signals can travel. Lets say the signals travel at about 0.5x the speed of light. That means the signal can go from Nova Scotia, Canada to Los Angeles, USA in about 0.05s

The limiting factor turns out to be the processing speed of the device locally most of the time.

Anonymous 0 Comments

In short: they don’t. For these types of games companies employ servers, which serve small areas (small relative to the earth size). There are still problems, and solutions to them are already explained in this thread with various degrees of accuracy

Anonymous 0 Comments

Most of these answers are wrong for mainstream games with modern networking.

Packet sizes do not matter nearly as much as they used to. Keeping packet sizes small is mostly a matter of reducing server bandwidth costs, not decreasing latency.

With no latency compensation, you have to lead targets, and it is noticable even with relatively low pings. Almost no games do this anymore.

Extrapolation is the next step up: instead of showing where you think a player is, you assume they’ll keep moving in whatever direction they were holding, and show them moved forward by half your ping. This leads to a lot of visible errors though because if it turns out they didn’t keep going straight, not only was your extrapolation wrong, but now you’ve got to extrapolate out again. Even with blending (interpolation), this becomes very noticable at even moderate pings. And as a player, the server is still half your ping behind you, so you can still get shot around corners.

Not many games do just extrapolation anymore either. Often, it’s a fallback method – if your ping gets too high for rollback or your connection gets too unstable, the client will start extrapolating to make up the difference. You can see this in Overwatch for instance.

There’s some variation, but the main strategy is to do some form of rollback. The server remembers where everything was every tick for the last few ticks, and so when you shoot, you also send a timestamp. The server then briefly rewinds time for the target *but not for your shot*, so the server has an accurate approximation of where the enemy was on your client at the time you fired.

The ELI5 version is that when you play a modern shooter, you’re firing bullets into the past. That’s how you can hit things. That’s also why you can be shot after you think you made it to cover – the other player is shooting into your past.

The laggier someone is, the further into your past they might be shooting. This is also why most games have some cutoff, beyond which they’ll usually start extrapolating.

Any action can be rolled back. Typically, games roll back the shooting rather than the movement, because occasionally getting shot barely around a corner isn’t nearly as bad as having to guess which way your target will move and aim ahead of that. But often, things like dashes or shields might get rolled back too, so your shield actually projects into the past to cover you.

Anonymous 0 Comments

In short: they don’t. For these types of games companies employ servers, which serve small areas (small relative to the earth size). There are still problems, and solutions to them are already explained in this thread with various degrees of accuracy

Anonymous 0 Comments

They cannot, this is why games have servers on continents, ever regional severs based on the use-cases. Most games have visible servers, while many others have invisible ones.

In games with selectable servers it’s possible to play with people in different continent but person closest to the server will have latency advantage

Anonymous 0 Comments

There are lots of games that seem to require real-time interactions but hide them behind mechanics that are more about actions over time.

World of Warcraft is a great example.

You might get the first hit in a duel (if you have a nearly 0ms ping to the server) but the forced delay between your first hit and second hit (called cooldown) will ensure you can hit the player more than N times in 10 seconds…

the hardware input is handled locally, so has no delay between input and acknowledgement of an action being locked in as the next operation — the server will hold the resolution of action until the proper cooldown has been adhered to…

On the other hand, if you are the other person in the duel and have a 100 ms ping to the server and use actions that have more than 100ms cooldown, you will not notice deficit due to you difference in ping times…

If this was actually real-time… where all input was sent in the raw to a server for handling and all input was handled as it was received from the client … the person with the lowest ping time could spam a fire key and win any fight…

Many PVP games suffered from this problem 2 decades ago…

Anonymous 0 Comments

Most of these answers are wrong for mainstream games with modern networking.

Packet sizes do not matter nearly as much as they used to. Keeping packet sizes small is mostly a matter of reducing server bandwidth costs, not decreasing latency.

With no latency compensation, you have to lead targets, and it is noticable even with relatively low pings. Almost no games do this anymore.

Extrapolation is the next step up: instead of showing where you think a player is, you assume they’ll keep moving in whatever direction they were holding, and show them moved forward by half your ping. This leads to a lot of visible errors though because if it turns out they didn’t keep going straight, not only was your extrapolation wrong, but now you’ve got to extrapolate out again. Even with blending (interpolation), this becomes very noticable at even moderate pings. And as a player, the server is still half your ping behind you, so you can still get shot around corners.

Not many games do just extrapolation anymore either. Often, it’s a fallback method – if your ping gets too high for rollback or your connection gets too unstable, the client will start extrapolating to make up the difference. You can see this in Overwatch for instance.

There’s some variation, but the main strategy is to do some form of rollback. The server remembers where everything was every tick for the last few ticks, and so when you shoot, you also send a timestamp. The server then briefly rewinds time for the target *but not for your shot*, so the server has an accurate approximation of where the enemy was on your client at the time you fired.

The ELI5 version is that when you play a modern shooter, you’re firing bullets into the past. That’s how you can hit things. That’s also why you can be shot after you think you made it to cover – the other player is shooting into your past.

The laggier someone is, the further into your past they might be shooting. This is also why most games have some cutoff, beyond which they’ll usually start extrapolating.

Any action can be rolled back. Typically, games roll back the shooting rather than the movement, because occasionally getting shot barely around a corner isn’t nearly as bad as having to guess which way your target will move and aim ahead of that. But often, things like dashes or shields might get rolled back too, so your shield actually projects into the past to cover you.

Anonymous 0 Comments

Well, first of all people dont play with eachother on other sides of the world typically. Games are often played within “regions” such as NA west, NA East, Europe, etc.

Even within these regions the distances can still be staggering, however you have to consider how fast communication signals can travel. Lets say the signals travel at about 0.5x the speed of light. That means the signal can go from Nova Scotia, Canada to Los Angeles, USA in about 0.05s

The limiting factor turns out to be the processing speed of the device locally most of the time.

Anonymous 0 Comments

They cannot, this is why games have servers on continents, ever regional severs based on the use-cases. Most games have visible servers, while many others have invisible ones.

In games with selectable servers it’s possible to play with people in different continent but person closest to the server will have latency advantage