Introduction to Demoscene
By Jérôme GUINOT aka 'JeGX' - The oZone3D Team
jegx [at] ozone3d [dot] net
Initial draft: September 30, 2005
Last update: January 3, 2006
Translated from french by Jacqueline ESHAGHPOUR - jean25 [at] freesurf [dot] ch
"Sin/Cosine are the humble bricks with which one can build cathedrals, as long as there is enough patience and imagination!"
Navis - Andromeda Software Development
Demo, demoscene, demomaker, demoparty... All these words are synonyms of passion, of sacrifice, of sleepless nights (I mean those when
suddenly, at an hour which is no longer really one, a white veil, a sort of glow as if out of an hdr rendering, poses itself on our
retina and tells us to go to bed, otherwise it will be useless...), of physical dependence towards the code, the gfx or the zik,
and, finally, retrieved peace and calm once the prod is there!
Now finally, after this little summary which portrays the atmosphere fairly well, I will try to present you with an idea of
this world of fanatics of multimedia techniques and more especially of demos, a term which has a particular signification in this world
of extremes.
ASD - Planet Risk
First of all, let us clarify the vocabulary. The
demoscene is the main term for qualifying the demo scene.
A
demo may be considered as a sort of multimedia video-clip. But the difference with a video is that each demo
image (or frame) is generated by real-time programming and algorithms! A demo is dosed between programming (C++ or another),
2D/3D graphics and music. It is even the music which imposes the tempo of the demo!
A small detail which has its importance: a demo is a non-interactive graphic programme: you can only contemplate it...
A
demomaker is a person (alone or part of a group - demogroup) who participates in the creation of a demo. The demomakers are
classified in 3 categories. The first is that of the
coders. These strange beings are responsible for the coding of the demo,
generally a mix C++ / OpenGL / Direct3D. The second category is that of the
2D/3D Graphists, responsible for the creation of
visual medias (textures, 3D models). But beware; these graphists have obligations towards realtime 3D (textures in a certain
resolution or 3D models which must respect criteria such as number of polygons, material, textures...) which seriously complicates
their work. The third and last category is that of the
musicians, those that compose the sound tracks of the demos.
A
demoparty is an event which unites demomakers and demo groups, and which takes place on premises capable of containing many hundreds or even
thousands (for the larger demoparties) of people. For example, these premises could be gymnasiums or town halls. Among the most important demoparties,
one can mention the Assembly (Finland – demo temple) which unites thousands of participants each year!
A demoparty has a number of challenges: real-time 3D, music, gfx, tuning/overclocking (I remember having seen a result of more than 14000
points with the 3DMark05 during Assembly 05), wild and others which it would be too boring and unnecessary to enumerate. As far as we are
concerned, the realtime contests are grouped as follows:
- Intro 256: the executable demo code and its data are contained in 256 octets. 100% assembler!
- Intro 4k: the executable demo code and its data are contained in 4 ko. C/C++ or assembler!
- Intro 64k: the executable demo code and its data are contained in 64 ko. C/C++ or assembler!
- Demo: the royal discipline. It is the super production. There is no size limit, this depending upon
the demoparties. Generally the demo size is roughly about 10M (exe+media).
Here are some links to the most active demoparty sites:
Here are 2 more interesting links to complete what I have already mentioned:
The first thing to do is to try and understand the demoscene is to simply look at the demos. First of all, make sure your machine is
working (3D graphics card and drivers correctly installed in order to use OpenGL or Direct3D). Once that is OK, go to one of the following
sites in order to get the feel of the latest demoscene news and moreover to download the production of the latest demoparties:
If you have a really muscled config., give yourself a really great spectacle by looking at the demos of the Andromeda Software Development
group (
asd.demoscene.gr). These prods (Planet Risk or the latest Iconoclast –
first at Assembly05) are extremely impressive by their contents but more especially if one considers that they are coded in C++ without
the aid of practically any software... This type of demo places the limit extremely high. But looking at it (for those that can...) one
begins to feel the creative madness which reigns in the demomakers’ craniums.
ASD - IconoclastAnother way to see a maximum of demos easily is to connect to
demoscene.tv.
To do this, you will need the
Winamp
multimedia reader and the file
demoscene_tv_listen.pls (you can download it at the end of the page) which
permits streaming the playback. You download this file under Winamp and you have a continual flow of demos and intros with all the
info on the authors. Really great!
Here are a selection of sites of some demogroups:
Should the desire to code your first demo overcome you, there are a number of different ways to do so:
li>You know how to code in C++. Hang about on 3D programming sites and pick up a maximum of tutorials on how to code small effects
in OpenGL or Direct3D. An excellent starting point is even on this site: OpenGL / Direct3D Tutorials.
Once you have the basics of 3D programming, try to find the demo source codes (not evident to find, but certain generous groups release complete
sources of all their arsenal from time to time) and analyse them. They are an unending source from which to learn the demo programming
techniques.
- You are absolutely not a C++ guru: there is a one and only solution: Demoniak3D.
The following demo Suffocate SB01 was coded in less than a day.
You can imagine what you are capable of doing after just a few days of work.
Downloads
| Demoscene.tv Winamp stream |