warp is term used to describe rapid unrealistic shift of online game opponent.
it looks like opponent jumps aside say being in airplane for example by 50-5000 meters (in game world distances), that is known to fly straight forward with quite smooth maneuvers.
usually it happens when player or opponent has unstable tcp/ip ping time.
if player has long but constant ping, say 800ms, it does not cause warps.
player (or opponent) must have unstable traffic to game server, say varying from 10ms to 1200ms. with some packet loss probably.
i witnessed warps even in delta force when LAN hub went mad and added a huge lag. opponent appeared 10 meters left, disappeared and appeared 10meters right and so on. actually all he did is doing one step left and one step right.
in online avialimulators sometime microwarps (±20m) can be found when attacked opponent really does not want to be hit by pursuer and he performs a trick named "joystick jerking", causing online client to send to server a twisted coordinates.
generally the picture in online games is that player sends his coordinates on a regular basis, 1, 2, 4, 10 times per second or so. server performs broadcasting to other players occasioned nearby in visible range. so we have a sequense of coordinates marked by server-side receiving time stamp. in some cases in coordinates packet a playstation time can be found.
i will speak from the server programmer point of view.
so, here is the question.
where should i start searching algorythms for smoothing such warps having server code in my hands?
i mean (except discarding outdated tcp/ip packets with coordinates) i'd like to make a smooth trajectory of any player, whether he has good, bad connection or jerks the stick.
i tried 3-degree polynome extrapolation based on last 1 second of traffic.
(in spreadsheet calculations)
but this method adds an artificial lag, so when player evades from attack, others see it after the same 1 second.
thank you beforehand.