irclog2html for #project24 on 20040204

00:05.09JBdiGrizI 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.57JBdiGrizIt 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.33JBdiGrizApparently, there is no correction for jitter by trying to determine the latency per packet.
00:08.08JBdiGrizI'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.08Patlabor221P24 just deals with server to each client lag
00:15.33Patlabor221each 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.51Patlabor221then when a cleint gets a packet from the server, it knows it's lag and can comp that way
00:16.11Patlabor221so that each player dosn't have to know about the other players
00:21.50Patlabor221another one you may want to look at is the game "cube"
00:22.05Patlabor221it's an opensource FPS that uses enet like P24 does
00:22.10JBdiGrizHow does it comp itself in, does it update the position info based on what it assumes it will be?
00:22.30Patlabor221every so often the cleint pings the server and trys to figure it's lag
00:22.40Patlabor221then they sync clocks to the server
00:22.51Patlabor221so yeah it tries to set the time to what it thinks the server time is
00:22.56Patlabor221it hasn't been tested
00:22.59JBdiGrizRight, but it needs to send a position update to the server.
00:23.03Patlabor221but it makes sense to me in my head
00:23.24JBdiGrizThat position will be off by the latency between client (itself) and server
00:23.41JBdiGrizThe position will then be relayed to the opposing client
00:23.41Patlabor221yes, that is why it stamps it with the time it thinks the server is
00:23.53Patlabor221the other client will get the update
00:24.01Patlabor221and then interplolate based on the timestamp
00:24.40JBdiGrizThe timestamp is increased by the other client by the amount of lag from the other client
00:25.08Patlabor221the other client knows how far off in time it is from the server.
00:25.26Patlabor221since all timestamps are server centric it can comp it
00:25.37JBdiGrizThis doesn't take into account jitter on a per packet basis, where some packets are a little slower
00:26.36Patlabor221no it dosn't but I don't know how bad it will be
00:26.39Patlabor221as I say it needs testintg
00:26.52Patlabor221I don't know of a way to comp for each specific packet being difrent
00:26.56JBdiGrizI'm just trying to understand it for now.
00:27.27Patlabor221if I resync the clock every 30 sec to a min, it shoudln't be too bad
00:27.50Patlabor221and 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.00Patlabor221I don't think there is any perfect solution.
00:28.01JBdiGrizI'll look through the sources over the next couple of days, and relate it to the papers
00:28.35JBdiGrizI have noticed that some connections (e.g. bzg's) are very susceptible to jitter according to the latest bzflag.
00:28.58JBdiGrizOthers are not as susceptible. The jitter listed for my connection is typically 0
00:30.54Patlabor221yeah, I dono
00:31.13Patlabor221I've seen system that don't just "pop" people to new positions, but interpolate them
00:31.24Patlabor221it looks smother but is techincaly less acruate
00:31.36Patlabor221I mean when you find out your DR was wrong, what ya gonna do?
00:31.44Patlabor221and it's gonna be wrong at some point
00:37.14Patlabor221I kinda stoped on the net backend of P24, and am now concentrating on the "making it draw stuff" part
00:39.16Patlabor221not that I dislike the net stuff, I want to verify if my idea for the world database will work or not
00:39.30Patlabor221if it does I think it could work out to be really cool
00:40.01JBdiGrizThat sounds good. Since I'm getting more into the net stuff, perhaps I'll try to be useful in the near future.
00:40.10Patlabor221yay
00:40.21Patlabor221I'd love to have somone else look at the stuff
00:40.34Patlabor221the Idea I had makes sense to me, but I could be full of it
00:40.51Patlabor221I just know that other games do it way better then BZ, so I sould be able to do it well also