Ping Time

By Shamus Posted Tuesday Mar 21, 2006

Filed under: Game Design 4 comments

EDIT (9/28/2008): For some reason, the images that go with this article are gone. Gone from the server, gone from my local machine. I have no idea how that happened. It will make this kind of hard to follow. Sorry.

Someone in the comments of this post asked about ping time. I sort of took a halfhearted attempt at answering it, but I thought it might be useful if I could explain why latency is such a problem for online gaming. This explanation is going to be very simplified, but should give the non-action gamer an understanding of why people are always ranting and whining about ping times. Please don’t nitpick.

Let’s assume that you and I are playing some Quake-type game. We both have a ping of 1000, which means 1000 milliseconds, or simply one second. So, it takes a half-second for stuff to go from me to the server, and another half-second to come back. Let’s say I’m in the room (green) and you (red) come in, running right-to-left

To keep this simple, let’s assume I try to blast you with some instant-hit beam weapon so we don’t have to worry about projectile speed. I just need to aim directly at you, and I should hit:

EXCEPT… That isn’t where you are. I’m lagging by a half-second, so I’m really seeing where you were a half-second ago. Here is what “really” happened:

But it gets worse. When I hit the fire button, the message takes another half-second to get to the server and tell the server I fired. By that time you are yet another half-second along.

This is a nasty problem. And it gets worse: The message that I fired takes yet another half-second to reach you. By that time, you are another half-second away.

I saw: Direct hit.

You saw: I missed by a second and a half.

The server saw : I missed by 1 second.

The problem gets worse still if we are fighting with (say) rockets that travel at a visible speed, and you realize that from my standpoint the rockets themselves are lagging by a half-second. If I’m running down the hallway firing rockets, I don’t get the message that the rocket has been fired until a second after I pull the trigger. I know it might be hard to picture, but what I end up seeing is my own rockets passing through me after being launched from where I was a second go. Doors which are supposed to open when you get near don’t seem to open right away, and you see yourself slam face-first into a closed door. A half second later (when you get the message from the server) you appear on the other side of the door, which now appears open. It’s a mess. The world doesn’t work right if you try to interact with it like this.

What really matters is what the server sees. The server is in charge, and decides if you explode or not. So the person with the lower ping sees the world more as it “really” is, according to the server.

This isn’t as much of a problem today as it was back in 1996 or so when on-line deathmatch was just catching on. Connections are, on average, much more reliable and provide for lower ping times. In addition, most games have various tricks for making the world appear more normal even when coping with a certain degree of lag.

 


From The Archives:
 

4 thoughts on “Ping Time

  1. MOM says:

    I have been wondering what ping time is. I wonder why they make it available in LITERATI. Well i think I’ll go play a game with my new computer and see if it works differwent when i play Literati.
    I guess my next step with this is to buy some periferals. Thanks again.
    Mom

  2. thenoob says:

    This problem is still rampant if you don’t live in the USA unfortunately, especially under P2P models. Most games end up with 400+ ping making it exceptionally hard to play with most decent players (depending how fast the host’s internet is regardless of yours) and then everyone blames server lag on you and kicks you anyway.

    At the best of times it’ll be about 200. At the worst of times, people will be teleporting all over the place and it’ll be a game you avoid as the developers just didn’t care about anyone outside of the US.

  3. TSi says:

    “if you don't live in the USA ”
    X )
    Please, this is only true if we play on physically far away servers, ie : mostly non european.
    I personally never had big ping issues while playing very demanding online games on euro servers such as fps or race game types.
    Sometimes, people have these problems because they are not aware of apps they might have running in background (updates, p2p, web stuff …) or won’t bother turning them off, some might have family members pumping half or more of the bandwidth and here in france we even have hd television through our ISP witch consumes even more bandwidth (on standard phone cables)… I had all of that and still rarely got more than 400 ping on random counter strike servers.

    1. Blue_Pie_Ninja says:

      Well, I think thenoob was talking about games where the servers are US only, and ONLY in the US, which means high pings, and if you live in Australia it is worse as we have some really bad internet over here.

Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun. Your email address will not be published. Required fields are marked*

You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>

You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?

You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.

You can make links like this:
I'm reading about <a href="http://en.wikipedia.org/wiki/Darth_Vader">Darth Vader</a> on Wikipedia!

You can quote someone like this:
Darth Vader said <blockquote>Luke, I am your father.</blockquote>

Leave a Reply to TSi Cancel reply

Your email address will not be published.