Demos

From Wakapon
Jump to: navigation, search

A long time ago, I used to be a demomaker... This is my story. If you're like me, you certainly had one pretty similar.

At the time, we didn't care about being popular or successful. We just loved what we did, discovering a new world, failing exams because of a demo deadline, moving to coding parties, meeting people who had a common passion. Most of my friends come from that time, you could call me a geek I suppose but I don't feel like one and I don't care anyway : I had the most wonderful time in the era of the early personal computers and I don't regret anything ! That was awesome all along and in the end, I'm a happy and hopefully quite realistic person in these troubled times.

Peace and demomaking ! S1.gif


Contents

The beginning

I fell in love with computers at an early age, I was about 6 or 7 I believe and already the computer science club in my small town near Nancy caught my interest. It was 1982 and there were only early Thomson computers and Commodore Pet's. That was AWESOME ! S1.gif

I dreamt about great computer hackers I could see in movies like Tron, WarGames or even Short Circuit. Now I realize they were total crap but I still watch them with emotion as I remember these days S4.gif.

At the age of 9, my parents finally managed to gather enough money to buy me a computer for Christmas, it was a Matra Alice 90. I believe it's something that existed only in France, like many other computers at that time : small companies could build entire brands that only a hundred of people would buy worldwide. Some brands had more success than others like Amstrad, Apple, Atari, Commodore, Sinclair but many others were forgotten altogether. Anyway, the Alice 90 was sold in a nice big red plastic suitcase so you could take it anywhere. The package design was (I realized later, to my great surprise) made by the famous artist Jean Giraud a.k.a. Moëbius.

Boite alice32.jpg

You would't believe it if I told you that computer had a cassette recorder to load and save programs for which you had to set the volume level to the exact right value or else, the data would get completely scrambled and the loading/saving would fail ! Yes ! You actually had to spend about 10 minutes tweaking the recording/playing level of the cassette recorder to manage to load a program ! It was a real cassette recorder, the guys at Matra didn't even bother to build a special purpose recorder and just used a normal one painted red so it matches the central unit. S2.gif

So I started to learn Basic (as written on the box S1.gif) which was hardcoded in ROM and my first program ever (discarding the obvious "Hello World !") was already something graphical : I made a frame by frame animation of a dog walking on a scrolling sidewalk, getting by a lamppost, stopping, raising its back leg and... well... pissing on the lamppost. S4.gif Come on ! Cut me some slack here ! I was only 9 ! Huhu. Anyway, I still remember the notebook with the little squares I drew to make the dog sprite. Now I would probably ask an artist to model the dog, and I would either ask an animator to rig and animate the dog mesh or I would code a procedural dog animation so I don't bother to animate the thing myself ! S5.gif


Evolving : the Amstrad CPC

I think I kept programming the Alice until I was 12 but I was also closely monitoring what other computers could do and I was drooling on the ever growing amount of colors of the Amstrad 6128 (16 colors among 26 guys!), its "fine" pixel graphics and... it had a floppy disk drive ! S13.gif (although the 3" disks were not normalized and awfully expensive)

Cpc6128.jpg

I sold my Alice 90 to a friend and bought an Amstrad. Basic was also in ROM so it was quite easy to continue my Alice trips, except I had so many more colors and RAM and speed. Can you imagine ? 128Kb of RAM and a 4MHz processor ! Wooohooo !

There, with the Amstrad I started to copy a bunch of alphanumeric codes that were listed in some magazines and at the end, if you hadn't made any mistake, that would make a program ! I didn't quite understand that was assembly code and it appeared like some kind of magic. But I started to realize there was quite a difference between my small and slow Basic programs and these programs that displayed sharper graphics at a much higher speed... Something was very wrong !


Evolving again : the Atari ST

When I was 13, I went to a trip to Paris with my parents and met the new Atari 520 ST for the first time in a FNAC franchise. My jaws litterally dropped to the ground. That was IT ! I had to get one but it was sooo expensive !

I finally managed to convince my parents 1 year later and if you ever had the need of the perfect symbol picture for pure happiness, that would be me coming back home with my brand new ST ! S4.gif

Atari st.jpg

Basic was no longer integrated to the machine. You had to get a software to start programming : that was the famous GFA Basic ! It's the first time I ever came across the concept of "compiling some code". I could see that compiled GFA Basic code would run slightly faster compared to interpreted code but I didn't understand the reason until many years later when I started to code in C on the PC.

So I continued Basic coding in GFA for some time. I was 14 at the time and just learned the trigonometric Sin & Cos functions at school, so I started to write a program that would rotate a cube in 3D. I actually came close to finding the actual rotation formulas by trial and error but at some angles the vertices would strangely collapse on themselves. It's only months later that I came across the actual formulas explained with nice graphics.

During that time, a good friend of mine living in the neighborhood fed me with disks he got from a friend of his who got them from a friend and so on... We were swapping cracked disks and I didn't understand yet the concept of cracking but I was happy to be able to write some code, play some games and discover new stuff from these cracked stuff... That's also the first time ever I saw demos. Actually, that were only crack intros at the beginning of a games compilation.

A note here on the recent events about piracy and copyright infringements :
It's my conviction that, although piracy may be viewed as economically dangerous because of a serious lack of control over the phenomenon as well as a consequential loss in revenues, it's another one of the aspects of the many short-term economic views that drive our world to disaster a little bit more everyday.

So, mister big lawyers, mister big CEO's of big companies who cry after their lost money : don't forget that you wouldn't ever have all the technological tools you use everyday to plan your meetings, handle your stock options and do pretty much everything you take for granted were it not for the infamous piracy you are now complaining about. In a word : don't forget that your money comes from technological achievements made possible by cheap availability and exchange of information that piracy helped to setup these last 40 years ! Don't bite the hand that (indirectly) fed you, that would be kind of counter-productive to say the least.


Okay, leaving the political aspects aside and coming back to our current matter : Namely, the first cracktro I ever encountered was from a cracking crew called "The Replicants" (certainly from Blade Runner but I didn't know the reference at the time). That was it ! I was hooked ! I wanted to do what these guys did ! Raster bars in nasty eye-molesting RGB colors ! Scroll texts ! Sprite animations ! Even early wireframe 3D ! Sometimes even in fullscreen !!! How the hell did these guys manage to kick out the screen borders ???!!

I had been programming some graphic stuff for years now, but these guys really kicked ass compared to my Basic programs ! That's also the time I put my hands on Devpac, the Atari ST assembler. I bought some books to learn assembler, many esoteric texts that didn't quite explained correctly what assembler was to a 14 year old kid wanting to create awesome graphics-oriented stuff like the ones he saw in cracktros. For almost a year then, I focused on collecting all the intros and demos I could find. Ordering some disks from magazines that started to talk about the growing demo phenomenon, even trying to take some private lessons from a college student that vainly attempted to teach me assembler using examples I thought were lame (like concatenating a string in memory, that kind of stuff), but still being unable to understand and put down the necessary knowledge barrier.

Then, at the end of summer holidays, almost on the eve of entering high school it all became clear. The assembly epiphany as I call it. I finally understood what that fucking manual was trying to tell me ! I woke up from bed at 3am to read the text passage I was stuck on for weeks and it was clear ! I switched on the Atari to code some stuff that... worked. I was rolling and ready to become a demomaker ! I went to bed with the largest smile ever, knowing I would now wake up in a different world. Tomorrow was another day.


The early demo days on the Atari

My first demomaker code was some Timer B stuff to change the palette every scanline : the infamous copper bars named from the Amiga copper processor. Then, some scrolling text as it was kind of compulsory if you wanted to put some greetings to your friends, which were also a compulsory part of any respectable demo. S1.gif

I later learned how to kill the borders to achieve fullscreen. That alone would be worth an entire page of explanations as it's one of the most amazing stuff you could do on the Atari. That's clearly something unique you cannot do anymore on standard machine nowadays. You HAD to have a fixed hardware and know exactly how your video processor was working to achieve this. That was unique in the history of computer science !

I also decided to pick a nice handle for myself as it was kind of mandatory in the world of the demo-scene. Since I was a crazy rebellious teenager listening to hard rock and metal, an obvious choice would be to grab some cool name from a Metallica album (Yeah, I was THAT original). So I decided to call myself Aardshock, totally taking myself seriously ! (for the little story, that was the name of a dutch magazine on metal)

During that time, in France, we had what we called the Minitel. It's kind of the ancestor of the internet. You could call some special numbers (3615, 3614, etc.) and type in the name of the server you would like to access. There was a famous chat server called "RTEL" where, as a common teenager today with MSN, I spent most of my evening chatting with friends all over France about demos and stuff.

Growing in confidence about my abilities to write a proper demo, I sent a couple of my creations to some people in Montpellier that accepted me as a new member of their team : Hemoroids ! (I liked the name until I figured out what that was S1.gif)

So, under the handle "Aardshock", I created 3 demos for HMD :

  • Humeur Vitrée [1993] [1] (video)
  • Necrosys [1994] [2] (video)
  • Géranium [1995] [3] (on the Falcon)

That time was quite famous for rediscovering songs of cartoons we were watching when we were kids, dancing on tables, Mebotels, climbing ropes, smoking illegal substances and being complete fools speaking with ridiculous voices. S5.gif


Time to move to the PC

At the end of 94, I got my first PC and left the Atari behind with greatful thoughts, the ST years were over and I had a great time but contrary to some people for whom the machine was everything, I praised for the algorithms and ways to achieve higher and higher levels of speed and realism. A friend of mine who had always had a PC showed me the great stuff he was doing with 3D Studio 4 and I was hooked, again. Also, there was this single demo I believe I have watched about a hundred times at that time : I'm speaking of "Second Reality" from Future Crew (the guys still exist BTW and are working on the eagerly awaited Alan Wake video game).

So I started to learn C as Basic was out of question to create my pre-processors and computation routines. Pentium assembler was okay, I discovered the "pleasure" of pairing instructions together and using intertwined FPU instruction.

I also decided the time of serious handles was definitely over and decided to call myself Patapom, the name coming from a song of a Belgian singer called Dick Annegarn (also notice how the Géranium demo title was intelligently pulled out of one of his songs !). The song goes like "Non, je ne mangerai pas ta pomme, pas ta pomme, pas taaaa...". It was silly ! It was perfect ! S22.gifS20.gif

As I was totally not serious, I decided to let my hair grow and wear leather so I could look like this :

PatapomCheveux.jpg

(scary isn't it ?)

With my friends Zappy (from Holocaust) and Flan from the ST, who had also moved to the PC, we created the universally famous S5.gif Igloo demo group and were responsible for a single release :

  • Flirt [1996] [4]

That demo, quite not remarkable at all, made a little fuss of its own thanks to the 36000 faces 3D Bee model ripped of from the well known "Viewpoint Models" CDRom, beating the many-faced object of a famous Nooon demo at that time. That was quite a feat made possible thanks to Zappy's routine which consisted in... I suppose I can say it now... displaying separated sprites instead of actual 3D faces. S4.gif

Believe it or not, that made some people freak out so much that they even disassembled the code to see how it was done (or so I heard anyway).


At the time of the release of Flirt at the Saturne Party, we met the famous scene artist Made who proposed us to make some demos together for his group, Bomb!

We then abandonned our career full of promises with Igloo and joined Bomb! . We released a couple demos under the Bomb! label, there was :

  • Eden [5] [1997] (video). That demo was promising but we never totally finished it. Even now I'm frustrated thinking of all the cool effects I had made that never were included...
  • Shian Lee [6] [1997] (video)
  • State of Mind [7] [1998] (video), for which I coded only a small part


Many many routines I coded were never used and that could have been material for at least 2 or 3 more demos. Time is a bitch !


So what's next ?

After that, I cut my hair and left college for the video games industry as some friends of mine from the demo-era asked me to come and work with them in Lyon. I've been doing video-games ever since and sometimes, I'm seriously wondering if I shouldn't make demos again but my life is different now. I'm not a student anymore, I have other prospects, other priorities and it's hard to find the time for demo-coding, especially when you code every day for a living.

Also, 3D acceleration has changed many things since the time we had to draw our polygons by hand. Not that I complain, on the contrary because, as I said, I'm after performance and algorithms, not nostalgy of some lost time where everything was wonderful. No ! Everything was NOT wonderful : you had to scorch your fingers to display 3 pixels and it took time, a lot of time, just to code some triangle fillers to achieve your cool effect. It was a time when you had to code your own librarires for everything. Now, the libraries exist and I don't mind using other people's work so I can focus on my main goal : rendering my algorithms quickly and efficiently.

I suppose there are still plenty of challenges to achieve, they changed, that's all. Now, you have to focus on the maths, sometimes quite advanced, to achieve high quality graphics. And demos are not, as it used to be the case, the avant-garde of what you can do with machines. Video-games are much better now. But it's not as fun : only a few successful companies can work on interesting titles, others are condemned to produce some licensed shit (like the lame Ocean games in the past, except it's now the norm). And even fewer companies can tell they managed to create a successful video-game with a team of only a score of people.

Video-games industry is a sharks' business, a source of important economic revenues and, paradoxically, a serious matter. It's not THAT fun anymore that's why I'm glad I took part in what I lived : I was at the right place at the right time.

Long live demomaking !