I’ve been thinking about this lately. I guess it just doesn’t make sense to me that 40 years ago we were barely able to move pixels across a screen and now there are games where even hundreds of people can play games like first person shooters on servers simultaneously where reactions down to the millisecond commonly decide the outcome of a game. How can we match the inputs of everyone and have them appear on someone else’s screen? Is it simply that information travels at the speed of light and we are really good at organizing it?
In: 20
One caveat I haven’t seen in the other answers:
Distance still does make a huge difference. The speed of light is actually not that fast on the scale of the planet, and the global Internet works mostly by sending data in light through fiber optic cables under the ocean.
We call the time it takes a message to make a round trip from point A to point B *latency*. And you measure it using a tool called ping that sends a little message and waits for the reply to come back. Games often measure this and call it your ping time between you and the game server.
Within a region, it might take 10-50 ms for data to make the round trip. But across continents, it can take many times that. From the eastern US to Australia, it can easily take 300 ms round trip.
Humans start to notice delays of about 100 ms or more, called *lag* by gamers. This becomes a big problem if players are too far away.
This is why people usually play games on regional servers, so you connect to your local server and play with other players in the same region (like US East or Europe West).
Games also use a special type of data transmission (UDP) that prioritizes low latency instead of reliability. So if the connection is slow or drops, the game keeps sending new data instead of trying to resend old and no longer timely info.
You don’t care where players were 10 seconds ago, you care about where they are *now*. But this is why players can seem to teleport when there is lag, because some of the position update messages were lost.
This website does a type of ping test in your browser to estimate the time to get data to AWS data centers around the world, which is fun to see:
https://www.cloudping.cloud/aws
Latest Answers