![]() |
Computer
DEMOs -- The Story So Far
by Petri
Kuittinen
|
|
Editor's Note: This essay has been in existence for a little while, and deals mainly with the "Old Skool" DEMO coders. It provides an excellent historical framing for the genre of the DEMO. - PL
Programming Technique + Art = DEMO Computer
DEMOs should not be confused with the DEMO versions of commercial programs.
They are 'DEMOs' too, but the word 'DEMO' in this text means a program
whose purpose is to present the technical and artistic skills of its
makers and produce audiovisual pleasure to the viewer. A computer DEMO
usually includes various kinds of real-time produced computer graphics
effects -- which have little relation to each other -- accompanied by
music. In a way, a DEMO could be described as a sort of music video
or a short computer animation film without a plot or message other than
just "hey, I can do this" and "greetings to my friends."
Of course, there is an exception to every rule and some DEMOs have a
plot and message. An important distinction between DEMOs and movies
or videos is that the visual effects seen in DEMOs are real-time calculated,
instead of rendered beforehand like conventional computer animations
(where often hours of computer time are spent to calculate just one
frame).
|
'DEMO'
in this text means a program whose purpose is to present the technical
and artistic skills of its makers and produce audiovisual pleasure to
the viewer. A computer DEMO usually includes various kinds of real-time
produced computer graphics effects -- which have little relation to each
other -- accompanied by music. In a way, a DEMO could be described as
a sort of music video or a short computer animation film without a plot
or message other than just "hey, I can do this" and "greetings
to my friends." |
Most computer DEMOs are freeware, in other words they can be freely copied, but the original author retains copyright to the product. The authors of computer DEMOs don't usually release the source code and thus the DEMO programmers must figure out by themselves how to produce a certain DEMO effect, leading to many similar looking DEMOs ("I can also do it!"). People who have never seen computer DEMOs or who don't understand the creation process behind DEMOs, often find them quite boring. Computer DEMOs are made for other people interested in DEMOs, to win fame and glory among other DEMO 'freaks.' Nowadays the motivation behind making DEMOs is often to win a prize at DEMO competitions. DEMOs
are usually a group effort. The most important member of a DEMO group
is usually the coder (programmer). DEMOs are conventionally programmed
in assembler, but nowadays C (http://www.ioccc.org/) and C++
are also popular, and only the most time-critical parts of the DEMOs
are programmed in hand-optimized assembler. The original ideology of
the DEMO programmers is to build everything from scratch (instead of
using existing programming libraries) and push the hardware to its limits
and beyond it. e.g. many C64 and Atari ST exploit bugs in hardware,
which allow some interesting effects, e.g. to draw graphics on screen
borders (overscan / full screen). The sound of chips of C64
or Atari ST are not designed to play samples, but still DEMO coders have managed
to do this. DEMO effects are usually non-interactive, which allows DEMO
coders to hand-tune routines to do exactly-what-is-shown and not worry
about anything else; whereas game programmers must use more general
purpose routines and include interaction. DEMO coders often use clever
tricks and actual cheating to make things look better than they really
are. In addition to the coder, there usually is a musician and a graphician
(graphics artist) involved, as well as contact personnel (swappers,
SysOp). One person can of course takes care of several of these duties
and there can be several programmers, musicians etc. Typically a DEMO
group has 2-15 members, but there are several lone wolves in the DEMO
scene.
The
DEMO Scene
The
people interested in DEMOs are known as the DEMO scene, which began
to emerge in an organized form in the mid-1980s. During those
early days, the most popular DEMO machines were Commodore Amiga, Commodore 64 (C64)
and Atari ST.
Apple Macintosh was never a popular DEMO platform. The first PCs usually
had poor graphics and sound capabilities, but the emergence of VGA
graphics (http://gameprogrammer.com/3-tweak.html)
and Adlib/SoundBlaster sound cards
allowed to make good DEMOs on PCs, although it took the PC scene many
years to learn to program these well. The ST scene began to
diminish in the early 1990s, while the PC DEMO scene began to rise.
Nowadays, the PC is the most popular DEMO machine, but the C64 and
Amiga DEMO scene still continue to exist -- yes, some people still
make DEMOs for the C64, but it has become more of a nostalgic curiosity.
The
DEMO scene is based mostly in Europe, and only few DEMO makers can
be found on other continents. The majority of the leading DEMO groups
come from Northern Europe (the Scandinavian countries tend to have
more DEMO freaks per capita than other countries), and Finland could
arguably be named the leading DEMO country, since Fins have gathered
more prizes at major DEMO parties than any other country. It is difficult
to estimate the actual size of the DEMO scene, but there are at least
several thousand people in Finland who are interested in DEMOs.
DEMO Parties ![]() Overview
from Assembly'95 (Helsinki ice hall)
DEMO
scene members organize big meetings, called DEMO parties, which usually
last a few days and include so many different kinds of events that
the attendants rarely get a good night's sleep. People go to DEMO
parties to meet other DEMO scene members, swap software, play multi-player
network games and watch and attend various kinds of 'competitions.'
The best competition entries are usually rewarded with prizes: money
and computer products from sponsors.
The
number of entries for competitions at big DEMO parties can be very
large, and usually a small jury consisting of scene members first
reviews the entries, so hat only a limited amount (e.g. 10-15) of
entries is shown to the general audience. Entries often get disqualified
because they violate some competition rule, contain offensive material,
or don't work on the organizers' computers.
The biggest DEMO parties are:
![]() DEMO
Competitions
Assembly can be considered the "king of competitions" since it awards the best prizes, and there are separate categories for different kind of home computers, e.g. Amiga and PC DEMO competitions. |
|
![]() |
![]() |
Left:
Environment mapped metal ball from the Solstice-DEMO
by Valhalla (Winner of Wired'95 PC DEMO compo)
Right:
Colorful "plasma" 3D cube from Second
Reality by Future Crew(Winner
of Assembly'93 PC DEMO competition) |
|
Intro
Competition.
The difference between a DEMO and an intro is the size of the programs.
The maximum hard disk space allowed for DEMOs is usually 4 megabytes,
while the limit for intros is usually only 64 kilobytes (40 kilobytes
for Amiga intros). Assembly'94 was the first big DEMO party to have a
4 kilobyte intro competition, and nowadays there are even more 'extreme'
ones with limits of 256 bytes. The smallest intros are always coded in
assembler since it obviously is more difficult to get high quality graphics,
as well as music and effects to a small size. The smallest intros (= 4
kilobytes) usually don't have any kind of music, which has been excluded
by competition rules. |
|
![]() |
![]() |
Left:
Inside of a Gouraud-shaded torus from the Cyboman 2 intro by Complex
(Winner of The Party'94 PC intro competition).
Right:
A vector world from the Airframe intro by Prime (Winner of Assembly'94
PC intro competition).
Graphics Competition. This is the category for still images, usually limited to a size (e.g. 640x480 pixels) and amount of colors (e.g. 256). There is no prescribed subject for the content, but the most popular themes seem to be fantasy, science fiction, horror and semi-nude or nude women. Rules allow only self-drawn images to enter the competition, but the majority of the winning pictures cleverly borrow elements from photographs and existing fantasy paintings. There often is a different category for computer generated 3D graphics, often called the ray tracing compo. ![]() Space
Tits by Danny (Winner of Party'95 graphics competition). The woman on
the left is copied from a photo of Cindy Crawford.
Animation
Competition.
As opposed to DEMOs, where most of the visuals are calculated in real-time,
animations are rendered in advance and usually use some commercial 3D
animation package, although some people prefer video or hand-drawn animations.
The most popular subjects are 'rides' (flights in space, chases etc.),
fights, and humor.
Music Competition. These competitions are often divided into categories such as 4-channel, MOD-formats (Protracker; http://www.castlex.com/modfaq/), multichannel (max. 32-channels) and C64 music competitions. The number of channels determines how many instrument sounds can be used simultaneously. The length of music files is often limited to about one megabyte and only 3-4 minutes max of the song are played (although the song itself can be longer). The choice of music style is free, but the majority of songs has its roots in techno, euro dance or funk. Music competitions usually gather more entries than any of the other ones, and at big DEMO parties this can mean 200-300 entries. Some DEMO musicians are now making music for commercial games or producing commercial dance music. |
|
![]() |
![]() |
Music
video-style DEMOs by Spaceballs (Amiga): 9
Fingers (left) and State
of the Art (right)
Wild
Competition.
(Almost) anything is accepted in this category, it just has to be 'cool.'
The entries are usually supplied on a video tap.e
Fast Competition. A competition with a strict time limit, e.g. a 24-hour coding competition or 30-minute graphics competition. The actual creation process usually happens on location. Different
Kinds of DEMO Designs
The
first Amiga, Atari ST and C64 DEMOs were short intros (introductions)
to video games made by 'cracker' groups, who removed the copy protection
from the game. The word 'intro'
nowadays has a different meaning. The early DEMOs and intros usually featured
some pictures, music, and a scrolling text. The scrolling text usually
contained information about the makers of the intro, and greetings to
their friends or other crackers.
|
|
![]() |
![]() |
Left:
A cracker intro by Fairlight (C64). Right: Delusion / Sonic-PC (PC).
Over
time, the intros grew larger and included fancier texts -- waving, distorting,
rotating and/or scaling scrolling texts; huge or parallax scrolling texts
-- as well as various kinds of other effects, such as 3D graphics (from
simple wire frame 3D to filled 3D); bouncing balls ('bob' or 'sprites');
plasma (shifting display of colors); fractals,
especially Mandelbrot and Julia (http://spanky.triumf.ca/www/fractint/julia_type.html) etc. |
|
![]() |
![]() |
Left:
GigaTex screen from
Life's A Bitch megaDEMO (ST). Right: Lots of scrollers by TCB in
Cuddly-megaDEMO
(ST).
Soon
the DEMOs were so large that they contained many 'screens' with different
kinds of effects and music. People often called them megaDEMOs, a term
that originally indicated that the size of the DEMO was about one megabyte,
but soon was used for any multi-part DEMO.
On Amiga, megaDEMOs were usually sequential -- one screen / effect following another. The user could sometimes skip a part by pressing the left mouse button. The rigid non-interactive design allowed the DEMO makers to synchronize music with the screen effects. The best examples of this are the Amiga DEMOs State of the Art and 9 Fingers by Spaceballs, which featured motion-captured video sequences combined with various graphical effects. On Atari ST, the megaDEMO screens were often made by different DEMO groups and thus had no coherent aesthetics. ST megaDEMOs usually had a main menu screen, where you could select which part of the DEMO you wanted to watch. The main menu was often designed like a computer game: in the Union, Mindbomb and Decade megaDEMO (http: //wwwbrauer.informatik.tu-muenchen.de/~brandtf/year90.html), for example, the user controlled a character with a joystick and selected different DEMO screens by maneuvering the character over a door. In the 1991 megaDEMO Ooh Crikey Wot a Scorcher, the user was controlling a space craft, which was flying over a 3D landscape. Many of the ST DEMOs featured hidden screens (http://www.inf.bme.hu/~mandula/secret.txt) and reset screens (which started when you pressed the reset button on the machine). |
|
![]() |
![]() |
Left:
Main menu from Ooh
Crikey Wot a Scorcher by TLB (ST).
Right:
3D balls by TLB from Mindbomb
megaDEMO (ST), originally the same 3D object was done by RSI
on Amiga.
PC
and C64 DEMOs accepted the Amiga-like sequential style with little or
no interaction. In the mid-1990s, most Amiga and PC DEMOs were full of
3D effects. First there was wireframe 3D, then filled 3D, then flat-shaded
3D, then gourad-shaded 3D, texture mapped 3D, bump-mapped 3D, environmental-mapped
3D etc. The 3D objects were usually quite simple: a rotating cube, torus,
space ship and duck are among the most popular ones. The 3D world of DEMOs
is usually static / lifeless compared to the action of 3D game worlds.
Many people soon started to consider these 'pure' 3D DEMOs boring, and
a new kind of DEMO design emerged: moving lights and white noise were
added to screen. The screen was flooded with text messages, but instead
of the long scrolling texts of early DEMOs, these were short messages,
and more and more effects were combined.
|
|
![]() |
![]() |
So
far, the DEMO scene hasn't evolved from a concentration on technical
excellence to a focus on content, which may be one of reasons why the
DEMO is slowly dying away. Most PC DEMOs are still made for DOS and
thus don't take full advantage of today's hardware (e.g. 3D accelerators);
instead they still rely on old VGA or SVGA standards via VESA 2.0. If
the main point of watching DEMOs was to see something 'cool' that wasn't
possible to do in games, there need to be new developments since state-of-the-art
games for Windows using cheap 3D accelerator cards have left DEMOs behind.
Many
old DEMO scene members are nowadays involved in making computer games
(including the author of this document; http://mlab.uiah.fi/~eye/),
the production of which involves many of the skills which are needed
to make good DEMOs. The 'golden years' of the old DEMO scene (1987-1996)
are gone, but I am sure we will still see some interesting designs from
a new DEMO scene.
Links
to Further Information General
Scene.org
is a site dedicated to DEMOscene -- lots of new stuff: http://www.scene.org/
Orange
Juice - The DEMOscene information center: http://www.ojuice.net
Atari Dead
Hackers Society - The best information resource for Atari ST DEMO scene:
http://www.dhs.nu/
The Little Green Desktop - a huge Atari ST-site with tons of software: http://www.atari.st/ Commodore
Usenet
news group for Amiga DEMOs: alt.amiga.DEMOs
Another
Usenet news group for Amiga DEMOs: news:alt.sys.amiga.DEMOs
The
Amiga DEMO Scene (great link collection): http://www.cucug.org/amiscene.html
AMiGASCNE
WORLDWiDE: http: //www.amigascne.org/
Amiga
Information: http://www.amiga.org/
Back
to The Roots - Amiga Culture Directory Project: http://www.back2roots.org/
The
DEMO.Guide - reviews of Amiga DEMOs: http://sunsite.auc.dk/DEMO.guide/index.html
PC Usenet news group for PC DEMOs: comp.sys.ibm.pc.DEMOs Hornet
DEMO Archived is closed now, but you can still download stuff from there:
http://www.hornet.org/
PC
DEMO Fan Club by Jer: http://www.jerware.org/fanclub/
A
good collection of 256-bytes intros, along with screenshots: http://www.256b.com/
Making
DEMOs / DEMO Programming
Dr.
Dobbs's Programmers Vault: http://www.chesworth.com/pv/
flipCode
- Game Development News & Resources: http://www.flipcode.com/
GFXweb
- DEMO and Game Development: http://WWW.CFXWEB.NET
The
PC Game Programmer's Encyclopedia: http:
//www.geocities.com/SiliconValley/2151/pcgpe.html
STEEL's
Programming Resources: http:
//www.geocities.com/SiliconValley/Park/9784/tut.html
A
great Internet resource for Musicians: http://www.harmonycentral.com/
The
MOD FAQ - Making MOD music: http://www.castlex.com/modfaq/
United
Trackers - Information Center for scene/MOD/tracker music: http://www.united-trackers.org/
MOD
Archive - A huge collection of MOD music: http://www.modarchive.com/
Glossary assembler:
symbolic machine language
BBS:
Bulletin Board System (a system that several modem users can connect
to, exchange information and software)
C:
a high-level programming language with features
from low level languages, suited especially well for system level
programming
C++:
an extended version of C programming language. C++ is an object-oriented
programming language
coder:
programmer
compo:
competition
crack:
a program or game whose copyright protection is removed (= "cracked")
cracker:
a person who removes copyright protection or breaks into systems
DEMO:
a program whose purpose to is to present the technical talents of
its makers and provide audiovisual pleasure to the observer
DEMO
group / DEMO team: group of a people who make DEMOs together
DEMO
party: an event where DEMO scene members gather
dentro:
an intro whose purpose is to preview a DEMO
gfx:
graphics
graphician:
graphics artist
GUS:
Gravis Ultrasound-sound card
intro:
DEMO whose size is limited to for example 64 kilobytes; an introduction
to some other program (e.g. crack intro to cracked game); introduction
of some event or person
megaDEMO:
a large DEMO with many parts
MOD:
a computer music format (or a number of similar music formats), which
was originally developed for Commodore Amiga. Majority of computer
DEMO music is in MOD format.
rip:
to steal from others, e.g. rip music or graphics from other programs
ripper:
program designed for ripping
spreader:
same as swapper (newer term)
swap:
exchange programs, music or other data
swapper:
a person specialized in swapping, often involving illegal software
piracy
SysOp:
System operator
tracker:
a program used to make MOD music e.g. SoundTracker,
Protracker (http://www.castlex.com/modfaq/4-1-1.html),
ScreamTracker (http://www.united-trackers.org/resources/software/screamtracker.htm) or FastTracker
trackmo:
a DEMO that concurrently loads new code, graphics and / or music from
a floppy disk, while showing the DEMO
trade:
same as swap
trader: same as swapper (newer term) |
|