Latency query

Jonny Two Shoes

Expert Member
Joined
Nov 13, 2006
Messages
4,542
Reaction score
17
Location
Gauteng
Just crossed my mind.

2 people in differnet parts of the world playing a shoot-em-up. (A) has latency of 50ms to server. (B) has latency of 300ms to server.

(A) walks around a corner that (B) is staring at with scope and all. (A) will undoubtedly spot (B) before (B) realises (A) is there and (A) will have a 250ms advantage to shoot first (if there are no hidden complexities to the seemingly easy calculation)

This is why I always called BS when someone kills me when he is walking around a random corner that I am actually watching and proned and ready to fire :p dammit!

Anyway... why don't they impose an average latency for all players based on the worst player ping in the game? Obviously up to a limit of course. Each player has the same latency and then the playing field is even. To eliminate the lag irritating the player "Bullets" and shots fired are registered on the client side which records exactly where and when the opponent was shot on the client which is sent to server and the server determines who's shot landed first and calculates the correct outcome of the encounter. When a player signs in on the server the times are constantly "sync'd" to avoid people cheating by modifying the client. If it works out the time it takes should be so minimal that it hardly effects gameplay. Also it means people should have a better chance at playing International servers.

And they should hide other player pings to avoid people banning the higher ping guy for the hell of it lol.

Is this how they do it anyway? What other solutions are there :) I hate noobs owning me :mad: and I also hate teleporting around the freakin map from spikes and lag.

To add - all the movements and actions are on the client side and just the minimal info sent to server where each client gets an evenly painted picture of the battlefield or game. This way you will never teleport around the place. But server rules should be placed that say client > 500ms ping he or she should simply not be able to join.
 
Last edited:
When it comes to a client having a lag spike an exception is made for the server to calculate the real outcome...but if the spike is more than double the original limit then sorry for you. As for the rest well, it takes time for a bullet to reach it's target anyway :)

And the server should request a basic coordinate and action request from the client every few milliseconds to keep everything on the playing field updated. But this info should be minimal eg (Coordinates on the map, is the client prone or not, the direction the player is facing) its just a few simple numbers and shouldn't take much bandwidth to send and recieve.

I don't know how it really works though and maybe what I said is more or less the case anyway.
 
There is one flaw though and that is if the opponent does experience a spike in ping the server won't receive his/her coordinates while moving which means the opponent will teleport if coordinates are unknown and then suddenly reappears again.

To compensate for that I suppose there are ways. It depends on the severity of the spike and cant really be avoided. If the ping is constant and then suddenly spikes a bit it will hardly be noticed though if the clients ping is low enough...the client will teleport but if the action requests from the server are frequent enough the teleport will be so minimal no one will really notice.

Perhaps the server can place a small overhead on the maximum ping allowed to compensate for lag spikes so that it gives a very short time for the client to respond to the servers requests. Not sure if that will work though :) but it could definately work with lower ping players just not the highest ping one. Unless the server can constantly adjust itself but it gets a bit complicated at this point.
 
Last edited:
Every move you make is submitted to the server.
In return, every move made by other players "in range" is returned to the client that submitted.
The server always decides on the outcome of an event and sends the outcome to all parties involved.

In a Person to Person gaming environment, where no central server exists, one of the clients will be acting as the server.

You are attempting to level the playing field by giving everyone the same latency. This works well until the game becomes unplayable, like, up and until the 150ms mark, otherwise people with low latency will notice a blipping effect, as players miraculously relocate elsewhere.

But, also, this has to be a fixed setting, no variation must be allowed.

As soon as you allow one player to affect the levelled latency (introduce a variation), that player can use his connection to artificially introduce latency at key moments to give him the advantage.

Like, the around the corner situation, one of the players could introduce latency so that you don't see him coming around the corner, but he see's you.

If you add variable latency to that situation, you would not see him and he would not see you, you would walk past each other completely. Except that he introduced the fake latency and would already be in the habit of simply waiting at the corner, kneeled down and facing the other way to kill you.

i.e. Either method is exploitable.

What happens is that the developers monitor the exploitations occurring and then change the algorithms to minimise the exploitations, which in turn reveal other exploits.

i.e. it's a balancing game, and this balancing game has to be funded by somebody to keep the balance right.
 
In the past, an honourable player simply wouldn't join an online FPS server if they had a latency of about 100ms or more. (Depending on the game in question.)

You know... The same way you wouldn't run onto a rugby field if you had explosive diarrhea - you sure as hell aren't going to have any fun, and you'll ruin it for everyone else.

In the world we see emerging, however, where one can't make the rational choice to play on a nearby dedicated server with low latency, it seems that everyone is going to get covered in ****.

Blame Activision. ;)

(In all seriousness, there have been latency-balancing tricks in the netcode of popular multiplayer FPS games for a while now... but there's a reasonable limit. If everyone has >100ms except for one player, it isn't really fair that everyone else should be forced to play at higher latencies just for him. It would be like making everyone in a school gym class play in a lead fat-suit to satisfy the requirements of one obese child. :p )
 
Last edited:
I see what you mean. Well unless they invent gamma ray networking or something there will always be too much lag to play against overseas lol. Even with fibre cables...I recall them working out that even the speed of light takes some time to travel between SA and UK :(

Scenario --->

A player with lower latency walks around a corner at timed interval of 5.547 (A). Another player with higher latency watches the corner (B). Player (A) with lower latency sees player (B) and shoots at exactly time interval of 5.551 mins into the game. Player (B) shoots back at exactly 5.553 mins into the game. But player (B) has higher latency and a quick calculation on server determines that player (B) really shot at 5.549 making his shot count and if the shot was fatal player (A) drops at 5.550 else his return fire will count against player (B) as well.

Is this how servers determine the outcome? Do they really use that sort of thing? In other words can I complain when I die because I can't possibly believe someone running around a corner is faster at adjusting the mouse and actually aiming and firing and killing me as they jump and duck and dive while I am prone and my sight is trained on the area waiting for him to appear requiring very little adjustment to aim and thus more chance at killing him? :D

I probably just suck at FPS :p
 
In the past, an honourable player simply wouldn't join an online FPS server if they had a latency of about 100ms or more. (Depending on the game in question.)

You know... The same way you wouldn't run onto a rugby field if you had explosive diarrhea - you sure as hell aren't going to have any fun, and you'll ruin it for everyone else.

:D Bwaahahaaaa
 
ping makes the world go round...
lower is better.. not fair but thats the way it is
 
Top
Sign up to the MyBroadband newsletter
X