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."
Get daily insight, inspiration and deals in your inbox
Sign up for breaking news, reviews, opinion, top tech deals, and more.
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.