It’s time to clarify the ambiguous term “demo” as used within gaming culture. For that purpose I’ll quote from some ’emic sources’.
1. Let’s start with the obvious, Wikipedia’s entry ↑Game demo:
A game demo is a freely distributed demonstration or preview of an upcoming or recently released computer or video game. […] Game demos come in two variations: playable and non-playable (also called a “rolling demo”). Playable demos generally have the exact same gameplay as the upcoming full game, although game advancement is usually limited to a certain point, and occasionally some advanced features might be disabled. A non-playable demo is essentially the gaming equivalent of a teaser trailer.
2. The less industrial and culturally more interesting meaning of demo deals with “demo” as in “demoscene”. Wikipedia on ↑Demo (computer programming):
A demo is a non-interactive multimedia presentation made within the computer subculture known as the demoscene. Demos are the main way for demosceners to demonstrate their abilities in programming (“code”), music (“zik”), drawing (“gfx”), and/or 3D modeling. The key technical difference between a classical animation and a demo is that the display of a demo is computed in real time (like people performing a play compared to showing a movie), making computing power considerations the biggest challenge. Demos are mostly composed of 3D animations mixed with 2D effects and full screen effects.
Machinima.com’s ↑glossary of terms related to machinima supplements:
Demo […] 2) A graphical demonstration of artistic and programming skill. See “Demo Scene”. Demos often overlap with Machinima, and the best demos can be considered pieces of computer art.
Demo Scene A related field to Machinima: the computer arts scene centered around the creation of “Demos”, computer-generated artistic sequences, often in real-time 3D.
3. The to me at the moment most interesting, and till now not so well covered, meaning of “demo” refers to ingame-recording. Again from Machinima.com’s ↑glossary of terms related to machinima:
Demo 1) A recording of a game in progress, made within the game engine itself. Demos were originally intended to allow users to watch their greatest games again and again, but with the creation of demo editing tools became the basis for Machinima in the Quake series of games.
Wikipedia’s entry on ↑Speedrun knows something about the origin of ingame recordings:
December 1993 saw the release of id Software’s ↑Doom
(1993). Among some of its major features, like at that time unparallelled graphics, LAN- and Internet-based multiplayer support, and user modification possibilities, it also gave the players the ability to record demo files of their playthrough.
The ↑Doom II (1994) manual describes the “record demo” command like that: “Record a demonstration “movie” of your game, which will be saved for later playback.” The development has gone on and still is going strong. Here’s a snippet from the ↑Open Demo Project’s mission statement:
↑Quake III Arena
and derived games are an excellent frame-work for modification and they also allow to read and write files during the game on the server and the client. So it is easy to write a server modification (Record part), which writes during the game the current state (coordinates and attributes of all entities) of the game server into a file [the result is a universal capture
—see ↑bullet time
—of the game]. This file can be manipulated outside the game with any program and can be read in by another (Replay part) modification of the game. A client can connect to such a replay server and instead of playing the game, the client get the recorded data from the file. This information can even be stored locally on the client in a standard game specific file (DM3, DM_48, DM_66, or DM_67).
See also the ↑Open Demo blog, ↑demospecs, the ↑demospecs’ recording faq, ↑demoscene, and my entries on ↵speedruns, ↵piling up, and ↵appropriation by mastership.