Your Late No? Si!

LateNseeWhen one is a gamer all things become possible. We suspend belief and accept the strangest possible occurrences as commonplace. I mentioned in a previous blog a thing called latency. This blog attempts to explain how it is a problem for multiplayers.

The desired illusion is that each and every gamer is in the same arena. When in fact they are in their own arena and the other players and objects are just imported pieces of information. The important ones for shooters are the avatar of the player and the bullets or other projectiles that they fire at each other (but especially the ones that wind up hitting you!). If there were no latency then the obvious solution is to actually have one arena and share our visual information.

But it is true that a picture is at least a thousand words so to transmit just 30 frames of HD quality pictures to each gamer (we still need to see things from our own point of view (POV)) would require more bandwidth than the internet currently can carry. So instead we communicate just the essential data between each of our separate consoles. We each run a simulation of the arena and that would be fine except for a little thing called latency.

Imagine there were no latency and just one arena then in the moment that I fatally shot you and you fatally shot me that we would both die at the same time. This even works between two players each running their own simulation with extremely low latency (the consoles are literally next to each other in the same room). However the latency is already present just not so noticeable.

Add noticeable latency and the same setup has three possible scenarios:

1. We fired and moved and got hit and died at the same time.
2. I fired and moved and killed you and you missed me.
3. You fired and moved so you killed me and I missed you.

Basically the information gets out of sync as the consoles run the same scenario but the time it takes the information to arrive between them varies. Tiny differences make the separate but parallel worlds (arenas) different.

There is no good way of getting rid of latency so developers elect to have the slowest console with most lag (where lag is the measure of latency) be the winner. Thus the lag cheat is born where a devious console player deliberately introduces latency to see and kill the other player before the other player has even had a chance to react. This works because the cheaters console runs slightly ahead in time and registers the kill. The cheater uses their lag switch to introduce apparent latency. The other player is forced to accept the verdict when their consoles synchronize to hide the latency.

This is done whenever the consoles send each other a sync message. The one that is the slowest wins. The other consoles will violently readjust their own world to match which visually makes what you are viewing skip a few seconds forward in time. It happens every time they ask, “I take it then your late no? Si!”.