QuakeWorld is id Software’s internet multiplayer branch of Quake. It addresses a problem that becomes obvious as soon as a connection is slow: if every movement waits for a reply from the server, controlling your own player feels delayed.
QuakeWorld uses client-side prediction. Your computer can calculate the likely result of your movement immediately, while sending the same input to the server. The shared game still needs an authority; prediction changes how quickly the local view can respond.

Start from what the server knows
The released prediction code starts with the last frame received from the server. It then runs subsequent movement commands forward to estimate the player’s present position. Reusing the movement rules makes the prediction more useful than a guess based only on the last direction of travel.
New information can disagree with the prediction. Another player or a changing part of the world may affect the result. The next authoritative state supplies a fresh starting point, and the client works forward again.
More than one clever trick
The release notes show the rest of the work: spectator facilities, packet-loss information, protocol changes and limits on how much data a connection should send. They credit Dave “Zoid” Kirsch and Jack “Morbid” Mathews for the documented version. Reliable online multiplayer needs tools for players and server operators as well as movement code.
GLQuake addresses a different part of Quake: hardware-accelerated drawing. The source archive includes both software and OpenGL QuakeWorld clients. Networking and rendering could evolve together while remaining distinct responsibilities.
Sources
- id Software, QuakeWorld movement prediction: QW/client/cl_pred.c; CL_PredictUsercmd and CL_PredictMove replay movement from the latest server frame.
- id Software, QuakeWorld release notes: Preserved v2.30 notes, 26 August 1998, including earlier changes; credits, spectator support, rate limits and protocol changes.
- John Carmack, Quake source-release notes: Scope of the released clients and servers, with Dave Kirsh and Robert Duffy credited for preparing the release.