Client-side prediction
Client-side prediction is a network programming technique used in video games intended to conceal certain negative effects of lag. It refers to the process of having the client predict the results of user input before the server has acknowledged the input and updated the game state. So, instead of the client only sending control input to the server and waiting for an updated game state in return, the client also, in parallel with this, predicts the game state locally, and gives the user feedback without awaiting an updated game state from the server.
The earliest first-person shooter to use this technique was Duke Nukem 3D, released in January 1996. Later that year, it was implemented in QuakeWorld, the popular add-on to Quake. While network play was included in the original Quake game, it was optimized mainly for LAN play. Having all had high-speed home connections (a rarity at the time), Quake's designers overlooked their assumptions of high bandwidth and low ping times that made playing online frustrating for dial-up users. After a series of experiments in a long private beta, id Software released QuakeWorld with a new predictive model that proved popular with both high and low latency players.
This reduces latency problems, since there no longer will be a delay between input and feedback due to network ping times. However, it also introduces a desynchronization of the client and server game states, which needs to be handled to keep the game playable. Usually, the desync is corrected when the client receives the updated game state, but as instantaneous correction would lead to "snapping", there are usually some "smoothing" algorithms involved.