3dgs dead reckoning (or however this is written)
is pretty "basic"
You can turn it off, making the entities beeing placed to the last position
that was transmitted. This way the entities dont overshoot, but dont get smoothed anymore
and have a very choppy movement.
I once wrote a smoothing algorythm, where not the "real" entity is visible, but
a dummy entity moving in relation to the real entity.
This way the dummy does not overshoot, and drags a bit behind.
This is getting really complicated, but looks better in the end.
In Lan games, with high updatecycles you can use the implemented methods
wich looks good enough.
In Internet games with about 3-4 updates per second, it is a more complicated topic.
There are no perfect sollutions.
You can come around the overshooting by having a smooth (accellerating / decellerating)
movement for players. This way the directionchanges are not as abrupt, making the
overshooting less visible.
Professional systems like the UnrealEngine
have very complicated prediction calculations, not only regarding the positions
of entites, but also the velocity. It is always the tradeoff between smooth movement,
and correct position on the client side.(as the position is on the server)
You can make really smooth movement of players, but at the cost of not reflecting the
correct position as it is on the server.
The more you try to have the correct position as on the server, the more choppy
the players will move on the client, simply because the client lags behind in
its information (the transmission over the internet can take up to .5 seconds)
In Lan the information is visible almost imidiatly to the client.