| 00:05.09 | JBdiGriz | I read another paper and deciphered a bit more. It seems that each client has to have a measurement of lag for itself and for the other player | 
| 00:05.57 | JBdiGriz | It then calculates the position of the other tank based on self-lag+other-lag using the position/velocity/acceleration of the last known position | 
| 00:06.33 | JBdiGriz | Apparently, there is no correction for jitter by trying to determine the latency per packet. | 
| 00:08.08 | JBdiGriz | I'm going to download the latest p24 sources tonight and tinker a bit. bzflag is not well enough structured to jump into the middle of this. | 
| 00:15.08 | Patlabor221 | P24 just deals with server to each client lag | 
| 00:15.33 | Patlabor221 | each client knows its lag to the server, and comps it's timestamp so that it sends in what it thinks as server time | 
| 00:15.51 | Patlabor221 | then when a cleint gets a packet from the server, it knows it's lag and can comp that way | 
| 00:16.11 | Patlabor221 | so that each player dosn't have to know about the other players | 
| 00:21.50 | Patlabor221 | another one you may want to look at is the game "cube" | 
| 00:22.05 | Patlabor221 | it's an opensource FPS that uses enet like P24 does | 
| 00:22.10 | JBdiGriz | How does it comp itself in, does it update the position info based on what it assumes it will be? | 
| 00:22.30 | Patlabor221 | every so often the cleint pings the server and trys to figure it's lag | 
| 00:22.40 | Patlabor221 | then they sync clocks to the server | 
| 00:22.51 | Patlabor221 | so yeah it tries to set the time to what it thinks the server time is | 
| 00:22.56 | Patlabor221 | it hasn't been tested | 
| 00:22.59 | JBdiGriz | Right, but it needs to send a position update to the server. | 
| 00:23.03 | Patlabor221 | but it makes sense to me in my head | 
| 00:23.24 | JBdiGriz | That position will be off by the latency between client (itself) and server | 
| 00:23.41 | JBdiGriz | The position will then be relayed to the opposing client | 
| 00:23.41 | Patlabor221 | yes, that is why it stamps it with the time it thinks the server is | 
| 00:23.53 | Patlabor221 | the other client will get the update | 
| 00:24.01 | Patlabor221 | and then interplolate based on the timestamp | 
| 00:24.40 | JBdiGriz | The timestamp is increased by the other client by the amount of lag from the other client | 
| 00:25.08 | Patlabor221 | the other client knows how far off in time it is from the server. | 
| 00:25.26 | Patlabor221 | since all timestamps are server centric it can comp it | 
| 00:25.37 | JBdiGriz | This doesn't take into account jitter on a per packet basis, where some packets are a little slower | 
| 00:26.36 | Patlabor221 | no it dosn't but I don't know how bad it will be | 
| 00:26.39 | Patlabor221 | as I say it needs testintg | 
| 00:26.52 | Patlabor221 | I don't know of a way to comp for each specific packet being difrent | 
| 00:26.56 | JBdiGriz | I'm just trying to understand it for now. | 
| 00:27.27 | Patlabor221 | if I resync the clock every 30 sec to a min, it shoudln't be too bad | 
| 00:27.50 | Patlabor221 | and if there is a bit of a lag spike, yeah it'll mess up for a bit, but onece it resyncs it'll be ok | 
| 00:28.00 | Patlabor221 | I don't think there is any perfect solution. | 
| 00:28.01 | JBdiGriz | I'll look through the sources over the next couple of days, and relate it to the papers | 
| 00:28.35 | JBdiGriz | I have noticed that some connections (e.g. bzg's) are very susceptible to jitter according to the latest bzflag. | 
| 00:28.58 | JBdiGriz | Others are not as susceptible. The jitter listed for my connection is typically 0 | 
| 00:30.54 | Patlabor221 | yeah, I dono | 
| 00:31.13 | Patlabor221 | I've seen system that don't just "pop" people to new positions, but interpolate them | 
| 00:31.24 | Patlabor221 | it looks smother but is techincaly less acruate | 
| 00:31.36 | Patlabor221 | I mean when you find out your DR was wrong, what ya gonna do? | 
| 00:31.44 | Patlabor221 | and it's gonna be wrong at some point | 
| 00:37.14 | Patlabor221 | I kinda stoped on the net backend of P24, and am now concentrating on the "making it draw stuff" part | 
| 00:39.16 | Patlabor221 | not that I dislike the net stuff, I want to verify if my idea for the world database will work or not | 
| 00:39.30 | Patlabor221 | if it does I think it could work out to be really cool | 
| 00:40.01 | JBdiGriz | That sounds good. Since I'm getting more into the net stuff, perhaps I'll try to be useful in the near future. | 
| 00:40.10 | Patlabor221 | yay | 
| 00:40.21 | Patlabor221 | I'd love to have somone else look at the stuff | 
| 00:40.34 | Patlabor221 | the Idea I had makes sense to me, but I could be full of it | 
| 00:40.51 | Patlabor221 | I just know that other games do it way better then BZ, so I sould be able to do it well also |