What your screen shows is never quite now. Move the sliders and watch. Hover any ? for an explanation.
Click the field to shoot at the enemy you see, and find out where they really were.
Waiting for the first updates…
Hold the mouse (or a finger) on the field to steer, or click it and use WASD / arrow keys.
Waiting for the first updates…
The simulation follows the OpenMoHAA source (checked at commit 667c50f9), with the game's defaults and limits:
CL_SetCGameTime, CL_AdjustTimeDelta). Nobody sets the delay; it finds its own level, which is why jitter increases it.cg_smoothClientsTime, or hold still if cg_smoothClients is off (CG_CalcEntityLerpPositions, BG_EvaluateTrajectory).1000/snaps ms have passed, with snaps capped at sv_fps (SV_SendClientMessages, SV_UserinfoChanged).1000/cl_maxpackets ms carrying every command since cl_packetdup packets ago; the server runs them as they arrive and ignores ones it already ran (CL_WritePacket, SV_UserMove). Out-of-order packets are dropped (Netchan_Process).CMD_BACKUP, which is why a high ping limits your FPS), smooth a correction over 100 ms (CG_PredictPlayerState, cg_errordecay).Simplified on purpose: a flat field, one enemy, no walls, no acceleration; no delta compression, rate limiting or reliable commands; jitter and loss are evenly random, where a real line is bursty; your frame rate is your browser's (in the game, com_maxfps); and when you move the ping, sv_fps or snaps sliders the game's clock re-syncs at once, as if you had reconnected, so you see the effect right away (in the game it drifts there at 1–2 ms per update).
The long version of the enemy-visibility side, with the source quoted line by line: You Cannot Hide a Player and Show Them at the Same Time.
Describe your connection and it suggests client settings. Hover any ? to see why.
com_maxfps: a high ping limits how many FPS prediction can keep up with.cl_timeNudge, which is a straight trade. Freshest: enemies drawn closer to where they really are, but the game guesses more, which can show as small jumps. Smoothest: enemies glide, but are drawn further behind. Try both with the Time nudge slider in the first demo.cl_maxpackets really does. 85 is the game's default cap.sv_fps in the console to see it.● differs from the game default.