title: Game network physics collision
body: <p>How to simulating two client-controlled vehicles colliding (sensibly) in a typical client/server setup for a network game? I did read <a href="https://web.archive.org/web/20181107181430/https://gafferongames.com/post/networked_physics_2004/" rel="nofollow noreferrer">this eminent blog post</a> on how to do distributed network physics in general (without traditional client prediction), but this question is specifically on how to handle collisions of owned objects.</p>
  
  <h3>Example</h3>
  
  <p>Say client A is 20 ms ahead of server, client B 300 ms ahead of server (counting both latency and maximum jitter). This means that when the two vehicles collide, both clients will see the other as 320 ms behind - in the opposite direction of the velocity of the other vehicle. Head-to-head on a Swedish highway means a difference of 16 meters/17.5 yards!</p>
  
  <h3>What not to try</h3>
  
  <p>It is virtually impossible to extrapolate the positions, since I also have very complex vehicles with joints and bodies all over, which in turn have linear and angular positions, velocities and accelerations, not to mention states from user input.</p>