In contrast to a lot of user programms (most
of which are written in C++ or other higher programming languages), demos
are almost exclusively written in Assembler. Unlike the object-orientated
way of programming used by C++ (among others) or script languages like
JavaScript or Perl, Assembler is adjusted to the architecture of a
determined processor and only uses low-level commands. In effect, Assembler is difficult to learn - this might
explain the rather small number of demo programmers. Apart from concept
and transcription of effects, their task is furthermore to embed other
pieces of audio and graphics of other group members - call it the
composition of the whole work of art.
Yet it is not only the
programming that accounts for a good demo - the same significance comes up
to graphics and sound. The graphics fulfil several functions: apart from
optical attraction, they serve as a kind of blindfold which hides the
necessary arithmetic operations from the beholder´s eye. Since demos are
generally calculated in realtime, that is during the programm´s runtime,
small intermissions, in which the next effect is being calculated, can be
produced; now what would conceal this interruption better than flashing a
nice graphic?
Due to technical restrictions of the early hardware,
the demo scene developed an own technique for the creation of images: the
"pixelling". A raytrace graphic with millions of colours for instance in
earlier days was unimaginable because of low processor power. This has not
changed: such a graphic still needs more disk space than a whole demo.
What people did was to hand-draw the graphics pixel by pixel. By means of
technical tricks these graphics could be made look like a digitalised
image with 256 or more colours, even if it only had 16 or 32. Current
demos applaudably display graphics that are pixelled with 256 colours -
this may take several months.
Special techniques for sound design have been evolved as
well. Since it was impossible, once more because of insufficient disk
space, to "underlay" graphics with digitalised music and sounds,
alternative solutions had to be found (above all, the soundtrack of a demo
is an essential part of the overall composition of the piece and should
therefore be attuned to the visual elements). The use of the "module"
format was widely spread - editing by means of so called "trackers": in
the beginning of the file, all used instruments are saved as short samples
which later are concerted in various pitches and lenghts, using several
tracks.
Now, in order to reduce the amount of data, all samples
have to be kept as small as possible (short duration, low resolution -
mostly 8 bit) as well as the number of tracks used (generally four) -
which of course means a loss of audio quality. The knack for the
programmer is in making an technically and musically high quality audio
piece out of this rather bad raw material, well tailored to the atmosphere
of the demo´s visuals. Individual features of all notes (pitch, duration,
volume, vibration or other kinds of modulation) are in fact "programmed"
for each single note in the tracker. Meanwhile, convenient multitrack
software as well as compression formats such as mp3 are more and more in
use. This does simplify the compilation of a demo, but at the same time
effects a higher demand of ressources (disk space).