The online racing simulator
Something wrong with InSim or with me?
[edit] I set an InSim connection to LFS with Interval parameter equal to 50, which means an MCI packet every 50 ms. But in fact I receive a packet each 60 ms. Guess what I get if I try to calculate speed or acceleration by XYZ?

Compare dX/50^2 and dX/60^2 where dX is equal in both expressions. First differential (mathematical) is greater than expected by the factor of 1.2, second diff is 1.44 times greater! According to these calculations, a free falling car accelerates at 11.78 m/s^2 (first diff) or 14.4 m/s^2 (if you take second diff).

This made me feel really paranoic for an hour or two, because I searched for errors in the calculations that produced incorrect results, but were correct. I spent much time before I finally dumped all the data in tabbed txt and reproduced the calculations in Excel, and they made incorrect results as well (and only after that I noticed the 60/50 and (60/50)^2 "scaling" factors in the figures).

So, apparently the interval in LFS is taken as your parameter + 1ms. If Scawen reads this, please document this thing or fix it.
-
(detail) DELETED by detail
Interesting thing. Was it discussed in this section?
http://www.lfsforum.net/showthread.php?t=33360
Personally I'd prefer a "fat" dedicated host with physics calculations, just because interpolations are at average physics-based estimations are more exact and it is almost the same what the players see themselves.

Learning things described in that thread really dissapointed me. Now I write an MCI wrapper in PHP that would interpolate positions between "real" packets and take into account the time of packet delivery. I HOPE, just hope, it won't consume much CPU.
Quote from detail :Personally I'd prefer a "fat" dedicated host with physics calculations, just because interpolations are at average physics-based estimations are more exact and it is almost the same what the players see themselves.

There was a discussion on this and netcode a few weeks ago. A lot of your sentiment was echoed
Found it. I've talked to Knu, the guy who found this. That was very helpful from him to make the research.

Here I'll make an irresponsible suggestion to Scawen to modify network code. That's the simplest solution to the currest situation that I see.

1. Let a client send retrospective data to the host, i.e. not only current position, but also from the middle between current moment and the moment the previous packet was sent. That increases the upload ratio twice, but upload isn't a concern for a client. Host's download will double, but host's main concern is upload, which will remain the same (clients don't need retrospective info).

2. Let dedicated host provide retrospective data (storing just NLP/MCI info), maybe half a second earlier than current moment. This way the InSim on dedicated host's side can see twice more detailed information.

3. Last thing (don't believe it may happen, but will tell) is to calculate physics in a fat dedi (with cars' properties and tracks). It would make it heavier and CPU consuming, but making reliable data for host's controlling software.

Ok, well, I'll better go make some code instead of public speech...

[edit] 0. I want everything in MCI to be in 3D, just like in OutSim

FGED GREDG RDFGDR GSFDG