August 1, 20169 yr The client does the lag compensation in the form of player movement "prediction" (read guessing) between authoritative updates from the server. The client renders on screen "WHAT IT THINKS OTHER PLAYERS ARE GOING TO DO". The Server sends the real info and the client updates those "guesses/predictions" with real positions. So you see a guy running and you shoot. Until you get the next update from the server about that player you have know idea what he/she really did. He/she could've stopped running, turned left/right, jumped, gone prone, fired at you, thrown a grenade. Your ping 30ms Opponent ping 300ms Tickrate 60Hz (60 updates a sec. 1 every 16.66ms) Opponent sends update to server (150ms travel time to server), server process the update, server updates the gamestate, server sends update to you on next predetermined tick (one every 16.66ms), packet gets to you after 15ms. . Compound the issue with the opponent playing with an FPS below the tickrate and there's an added damage delay. This ends with death/hits around corners, bundled damage (multiple hits bundled in a single packet) and so forth. Damage data is sent at the hertz rate of your FPS. 122FPS = 122Hz etc and so forth. . Parallel lines have 0 lag causality. You or I could have a 900 ping and I'll hit you every time if you run in a straight line away from or towards me. Lag compensation removes the ping handicap....how it's implemented makes a huge difference to a players experience.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.