QUOTE(Falk @ Nov 12 2009, 02:31 PM)
Regarding other player's positions - what you see on your screen
is a snapshot that the server had at a certain point in time. This is key... this means that other than your own (and only your own) position client side info is identical to what server side info was at a certain point in time (<your latency>ms ago) and is not wildly different (like WoW ahahahahah)
Hmmm, ok let me try to illustrate a scenario to show you my doubts about this (I'll be using very general approximations, so please don't butcher me on the timestamps):
Player A has a ping of 10ms
Player B has a ping of 100ms
Both are connected to server X
Timeline:
Time 0:
A is at location x1,y1
B is looking at x1,y1 (Effectively A)
X takes snapshot of A @ x1,y1 and also B looking at x1,1
Since A has a lower ping, his data reaches X far earlier before B.
Time 1:
A moves to location x2,y2
B fires at position x1,y1 (A)
X is waiting on response from both clients
Time 2:
A's information reaches X first and it updates A's position to location x1,y1
B's fire command at x1,y1 is still enroute to X
Time 3:
A is at location x1,y1
B's fire command reaches X and updates that B is firing on x1,y1
Ok, here are the issues with this:
1) If it is very client side oriented as you say, which "snapshot" should it take? A or B? There's no way that it can prioritize client snapshots because something like this would happen. If it takes A's, then that's roughly how lag prediction works now where it favours the lower ping clients. If it takes Bs, then A is obviously at a disadvantage since though he has little lag, his actions can be overridden due to another's time delay.
2) How does the server synchronize the time? With this, it seems that the server's own timestamps are very reliant on the slowest client in the game, which makes it doubly unfair to everyone else.
This is just my very rough understanding of how latency is handled in most games (And I'm not saying you're wrong), I'm just curious about the whole thing as it seems very different from what I used to know.