| You're referring to "leading the shot." This was common for games in the late 90s and early 2000s. The problem is that leading the shot has two side effects: 1. what you shoot at in game isn't what you're hitting on the server, (you shot a player, but dirt kicked up from the ground several feet in front of them) and 2. some gameplay mechanics rely on accurate replication. If you throw a grenade at a player and "lead the shot" maybe it sticks to them on the server. It kills them. But on your side, it missed because you personally lag compensated, stuck to a vehicle, and now the vehicle blew up instead and flew off a cliff. Now the game sends back updated entity positions and the vehicle and its occupants are back on the ground and everything just snapped for you. You can rewind game state and make it not visible to players, then run hit calculations and do things like kill players and destroy objects without snapping. Proper lag compensation implementations make it such that infrequently do you actually notice lag, even in exceptionally poor connection environments. |
With rollback if you guess they are going to continue moving in the same direction you just aim right on where you see them because of the prediction. If you think they are moving in the other direction you need to guess when they started moving in the other direction. That we are using rollback networking can't get rid of the need for you to guess this. To make that guess you'd like to know how far back they could have changed direction so you have some time interval in which to guess. From your perspective that time interval is based on the difference in time between the server's state now and the last server state you received. But my point is doesn't rollback make it impossible for you to know that while playing the game.
Whether you're using rollback or not you as the player need to know intuitively what is the time difference between the server's state and the latest server state received.