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
Download any free mmo ON 2 pc AND LOOK HOW DELAYED MOVEMENT IS ON THE OTHER SCREEN
Planetside 2 is often called Clientside 2 for dying when you are behind cover, because laggers can still see your avatar
Basically in that game you are playing as 3 soldiers simultaneously :
your perspective has **only system lag**;
server is:
**your system lag+internet lag+ server lag**
and there is your opponents perspective :
**your system lag+internet lag+ server lag+ their internet lag + system lag**
Thats why you can die when you were clearly way behind the cover
That is why we do not have global mega servers, not only it would be legal nightmare to run, but distance to server matters a lot
i suspect that this problem will dissapear eventually with advancements in quantum computing
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
The internet has been constantly optimized for decades by this point. Back in the 90s, we would get together to game on a local network and had server pings around 100 ms. The dial up people called us “low ping bastards” or LPB for short. Now I get pings around 40 ms on my home fiber connection to a server that’s probably 300 miles away.
And that was all on computers that had 0.133 ghz single core processors, with software rendering, which meant that the cpu also had to render all the graphics. We did only get 30 – 50 fps, but CRTs were more forgiving than LCDs.
One thing that may not have been covered yet is the streamlining of data.
For example, very little data is transmitter between servers and clients. When you first see a character, their attributes are sent to your computer and your computer shows the character. Only if the character changes something will addition information need to be transmitter. ( grog helm now model 463543) etc.
Once your appearance is shared, the only data that needs to be shared is position, direction, and action. And those only need to be shared when they change.
Make your character dance? The dance action is sent as a small value to everyone who “sees “ you, and each players computer will then render the action.
it’s an exponential graph.
since the very get go it doubled in power every years or so.
right now we’re (almost) at the point where it physically can’t be stacked any more. this is because of induction (think it’s the same word for you english guys), where the current results in magnetics, afflicting the very next conductor.
at some point they interferre and you can’t make it any smaller, we are speaking of micro meters here of course…
one option is to make processors like cubes, more layers basically, but who really knows what the next (inbetween) step until quantum cubes gonna look like
Latest Answers