Demo (computer programming)

This is an old revision of this page, as edited by Evil Monkey (talk | contribs) at 23:41, 26 June 2005 (Reverted edits by 152.163.100.200 to last version by 82.41.216.34). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A demo is a way for demomakers to demonstrate their abilities in programming (that's the coding part), music (zik), drawing (gfx), and/or 3D modeling. It is a kind of non-interactive multimedia presentation, the difference with a classical animation being 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. For now demos are mostly composed of 3D animations mixed with 2D effects and Full screen effects.

File:DemoSample.jpg
A frame part of an animation displayed in real time.

The boot block demos of the 1980s, demos that were created to fit within the small (generally 1024 to 4096 bytes) first block of the floppy disk that was to be loaded into RAM, were typically created so that software crackers could boast of their accomplishment prior to the loading of the game. What began as a type of electronic graffiti on cracked software became, however, an art form unto itself, and demo makers continue to push themselves to the limits of their abilities by making these short demos to this day.

There are three main kinds or types of demos: "4k intros", "64k intros" and "demos", which only differ in terms of size limit. (The 64k size-limit was originally introduced because of the MS-DOS real mode's 64k memory segment limitation and has been kept as a tradition ever since, even though the limitation itself doesn't exist anymore under Windows.) Demos have no specific size limit, whereas intros do. Hence, intros also show off the programmer's ability to squeeze much into little space, often by generating graphic and sound data rather than just reading it from a datafile. Because of the extremely low size limit, 4k intros used to have no sound or nothing which could be considered as a significantly good sounding music, but as technology progressed, 4k sound synthesis has become a new frontier in the demoscene. However, 4k still isn't the lowest border for demosceners: some demoparties organize 1k, 256 byte or even 64 byte intro competitions. While creating a 4k might not require low-level programming knowledge anymore, sub-1k competitions require the demo coder to be skilled in both assembly programming and algorythmic optimization. (For comparison: The size of this paragraph of text is over 1 kilobyte.)

Restrictions change from one competition to another, depending on the machine on which the programs are run. The demos are now most commonly designed to run on PC, but not that long ago were mostly designed to run on ZX Spectrum, Commodore 64, Atari ST and Commodore Amiga home computers. There are even demos running on such diverse platforms as VIC-20, Amstrad CPC, TO7, BeBox, RISC PC, Macintosh, Game Boy, GP32 and SONY PlayStation.

Notable demo groups in the past included the Future Crew, Renaissance, the Silents, Cascada, Witan, Triton, or in the present days, Farbrausch, mfx or Kewlers.

For a more self-explaining definition, see Pouet.net for one of the most active Demoscene repositories.

see also