Past, present and future of the demoscene
19th Jul 2009 | 10:00
Building beauty out of logarithms and cosines
The roots of the demoscene
There was a time – a time more than 25 years ago now – when kilobytes were considered large units.
Before modern RAM manufacturing techniques, before advanced digital storage methods, before 10Mbps internet connections, there was a golden era of computing, led by limited technology, in which programmers got the job done by pushing individual bits around. It's an approach to computing that's now lost in the mists of time. Or is it?
There was a time when a team of clever programmers from Spain conspired to fit a high-definition textured rolling landscape, a music player, a fancy light show and some highly complex camerawork inside a miniscule 4Kb executable. But this time wasn't years ago, it was just months back – and what's more, they were successful.
"In the '80s, when the demoscene was the only community related to computers, we were alone," says Inigo Quilez, coder for the demoscene group RGBA. "But not any more. We are in the middle of so many things which are so alive that even if we don't look too much to them, we simply cannot die. We will exist forever, in an evolved manner of course. And that's good."
AMAZINGLY SMALL HD:At only 4Kb in size, Elevated has an astounding amount of detail
Winner of the 4kB competition at this year's Breakpoint party, RGBA's demo 'Elevated' – an international collaboration with Danish group TBC – fits within a quarter of the RAM of the original, un-upgraded 16kB ZX Spectrum. That's 4,096 bytes, or 32,768 individual bits.
"Just so people get an idea of how much four kilobytes is," says Quilez, "let's say that it's what one of those little static icons on your desktop takes. Or that one second of music in MP3 format, which is already pretty well compressed, takes a lot more than four kilobytes. Yet we managed to show almost four minutes of music and animation at full high-definition image quality."
It's rare to look at modern software and see it as a genuine achievement – we're more used to bemoaning the never-ending encroachment of bloat that comes with newfangled coding techniques – but it's impossible to look at Elevated as anything but phenomenal. Cramming something so gorgeous into such a tiny space is not easy.
Most of Elevated is procedurally generated, so its complex and massive data structures are generated within system RAM at runtime using a variety of mathematical techniques. "Elevated is, more than anything else, a huge formula that the computer evaluates," says Quilez.
"The formula encodes shapes, textures, colours and rhythms, and the computer 'expands' the visual content. The formula and its subpart or subformulas are designed to mimic a terrain, which is more or less simple and has been done thousands of times since mathematician Benoit Mandelbrot first did it in the early '80s. Colours are simply numbers for the computer, and the colour of each pixel of the screen is the result of evaluating this big formula."
The road behind
So how did we get as far as Elevated and its ilk? It's fair to say that the demoscene has grown from nefarious roots. 8-bit computers, particularly the Commodore 64, allowed a sect of young programmers to form around their open, powerful and flexible architectures.
Computer clubs helped knowledge (and illicitly copied software) to spread, and the C64's poor BASIC interpreter – around 30 times slower than the equivalent assembler – encouraged young hot-shot programmers to explore the deeper aspects of machine code.
There's a historical cloud over what happens next, but here's approximately what went on: a stumped gamer asks a hacker for help to get through a particular game. Said hacker dives into the code, removes the monster that is so infuriating the player and leaves his mark within the game. Both cheating and cracking are born in one swoop.
Inserting one's name into games via the process of decompilation soon becomes a popular pursuit, as does the removal of copy-protection systems. Between 1982 and 1985, various groups worldwide – commonly populated with professional programmers – begin competing to crack and release games in the quickest time, some showing skill beyond the original software coders.
CHEQUERED PAST:Development team Fairlight are often reminded about their early roots in piracy
For instance, when German group JEDI illegally converted Epyx's Summer Games from the American NTSC to the European PAL format, Epyx was so pleased with the conversion that it went on to sell the cracked version officially.
It was in 1985 that competition really started hotting up, both in terms of speed and publicity. Cracker intros (also known as 'cracktros') started appearing at the beginning of copied games. In the early days, these could not yet be described as 'artistic', and generally featured pertinent information displayed within scrolling text bars.
German group GCS was the first group to add moving sprites to its intros. Dutch group Bert added sprite animation. Before long, others added music, fractals, bouncing balls, parallax scrolling and rudimentary 3D graphics. Soon the scene was blossoming.
For many individuals, demo creation became less about the dubious practice of cracking games and more about the technological achievement of pushing a machine beyond its apparent limits. Dutch groups 1001 and The Judges, who were still involved with piracy, competed so fiercely on the C64 that they began releasing intros so large and complicated they no longer had room to fit the requisite game on the disk. This was the point at which the true demo emerged.
With the onset of the 16-bit era, which brought more toys, more RAM and more challenges, the demoscene really came into its own.
Shifting the focus towards art
Art for art's sake
The focus has shifted slightly towards the artistic side of things in recent years, since the prominent demo platform – the PC – has no fixed hardware on which to truly prove one's programming dominance. But this means that old platforms are still held in some reverence, particularly when it comes to records.
Milking more power out of an ancient 16-bit Atari ST, for example, is a technological challenge that hasn't gone away, even if doing so no longer has any real practical merit. Competition in that area started in 1989 when ST group TheCareBears released a demo featuring a then unheard-of 134 16 x 16 sprites, claiming the 'world record' for most 16 x 16 sprites crammed inside a single vertical blank.
By 2005, after many years of rebuttal demos, code twiddling and optimisations, Oxygene's Leonard pushed the record to an astonishing 312 sprites, and discussions on www.atariforum.com suggest that there may yet be more breathing room to explore.
Modern PCs can certainly help in terms of coding for older machines. Recent standout demo 'Pimp My Spectrum' – a collection of complex effects and in-jokes wrapped in comforting Spectrum colour-clash – essentially involved creator Ate Bit redesigning the 8-bit computer on the fly.
"Technically, it was fairly straightforward. The hard bit was coming up with the concept, story-boarding it, getting the art and music assets created and then putting it all together before the deadline," says coder Paul Grenfel. "I mean, it's got a simple Z80 emulator in there and a load of Z80 code to run the demo, as well as a software rasteriser for the 3D and an AY emulator, but none of those were that tricky to write."
The demo, technically a 64kB PC intro, sticks to its Z80 principles but shows off effects that wouldn't have been considered possible on the venerable processor in its heydey.
Where next for the demoscene?
The demoscene's longevity has thus far been astounding. It's keeping old computers alive and producing programmers with a concern for tight, neat code – a rarity in today's world of sprawling layers of libraries and resources. But can it survive much longer?
Inigo Quilez thinks so. "Demosceners will certainly keep following new gadgets like Larrabee or GPUs," he suggests. "As soon as there's new hardware, there will be a demoscener who will do something new, astonishing and beautiful with it."
And in terms of the artistic side? "I'm not sure. We will perhaps see a fusion with other art scenes, as today we still stick to our own (ugly) design axioms and rules." But whatever else changes, one thing is unlikely to alter: non-interactivity.
CORPORATE BACKING:Orb's Stargazer won top prize at NVScene 2008, which is a coding competition sponsored by Nvidia
While many demosceners have gone on to proper jobs within the game industry – Finnish company Remedy Entertainment started in the demoscene and went on to write the Max Payne games, for example – demosceners themselves thrive on fixing the parameters. "Interactivity and real-time coding were very valuable in the past, but not anymore," says Quilez.
"Anybody can do real-time today – even Flash developers! Non-interactivity is very important, as we can plan the piece as if it was a movie, placing cameras exactly where we want and not where the user or the random music of a DJ dictates."
Paul Grenfel suggests that the scene continues to this day, "because it keeps evolving. Because there are always new techniques to try out. Because design trends come and go. Because there are people whose entire lives revolve around the scene and because new people are constantly finding out about us, and what we do, and wanting to get involved."
For Quilez, the scene is yet to reach its potential. "My final goal," he says, "is to surprise people with the fact that you can build beauty (both abstract and non-abstract) out of cosines and logarithms. I will continue doing this, and hopefully find a good channel to express this idea to the mainstream public."
First published in PC Plus Issue 283
Liked this? Then check out Join the retro gaming revolution
Sign up for TechRadar's free Weird Week in Tech newsletter
Get the oddest tech stories of the week, plus the most popular news and reviews delivered straight to your inbox. Sign up at http://www.techradar.com/register