The projectile issue actually is much better.<p>Since as a player you&#x27;re trying to shoot the projectile to &quot;predict&quot; where it will intersect you&#x27;re actually playing to the strength of latency and dead reckoning(that&#x27;s the SubSpace case above).<p>You want to segregate your action into twitch(reactionary: hitscan, parry, etc) and predictive(slow projectile, &gt; 250ms ttl, etc) and only rewind&#x2F;replay for the twitch case.<p>There&#x27;s also the case that when you rewind and do confirm a gamestate change you need to gracefully handle resolving it on all clients. That&#x27;s why you&#x27;d see people warp back around corners when shot in Counter-Strike. Their player movement speed slowed after being hit and the server reconciles it and then the clients interpolate the result.