Ed Pegg Jr., August 16, 2004
Back in 1984, I saw a "cracked" computer game for the first time, while living in the barracks at Randolph AFB. At the time, game programmers tried lots of different methods to prevent people from making unauthorized copies of software. Just as assiduously, young coding experts subverted the protection methods. After adding an alias (real names weren't used), some of these software crackers included animations, fixed bugs, or make the games more playable.
As a competition, cracking teams started work on new games as soon as they came out (or even before). Gamers would race through the game for familiarity, coders would figure out the code, artists would design new scenes to add, and musicians developed new tunes. Within days or hours, a new cracked version of the game would be available for a download from a BBS (Bulletin Board Site). I was shown one of these multimedia extravaganzas, but then, he was taking out the floppy. "Aren't we going to play the game?" I asked. "Oh, the game is horrible. But I thought you'd like to see that," replied my friend. An "intro" was in front of the cracked game.
Quiet, intelligent kids with math and computer skills found respect within these groups. A fan base built up for the intros themselves. But -- it was illegal. BBS's were closed by police. The musicians wanted recognition. The coders, able to analyze, decode, and recode large assembly programs within hours, were finding employment. Making impressive computer intros split away from the game scene and became the way to introduce yourself through the "demoscenes" -- a movement of large computer parties, bulletin boards, and mailed disks. As the eighties turned into the nineties, regular competitions started within the demoscene, as much of the material moved to the internet. One popular competition involved crafting the best intro in 256 bytes.
Whoever knows the most math, wins. Artistic skills help, but they are not enough. 256B isn't enough space for most small pictures, let alone an interesting movie. Thus, math and coding skills are indispensable for making a 256B intro.
There is a site devoted to this competition -- 256B.com. In "Amiga, isn't it?" by Bonz, 12994 square root operations are performed with every frame. Anapurna by Dee / Downtown features Julia set mountains. Tube and Lattice are by Baze / 3SC, and feature ray-tracing. Blip is by yobi / wAMMA. Complete code is provided for your perusal by the authors. For more tiny programs, such as Life in 65 bytes, you can visit the Assembly Gems page.
Figure 1. 256B Intros: Amiga, Anapurna, Tube, Lattice, and Blip. (download all 5)
All of the tiny programs above happen to be for Windows systems. If you happen to be viewing this column with an Amiga, Amstrad CPC, Atari Falcon, Commodore 64, Linux, Mac, Oric, or TI-8x, you can search for intros specific to your system at pouet.net, scene.org and ojuice.net.
The next competition level is 4K -- 4096 bytes of data. You might think 4k isn't enough room for a 2 minute real-time animated movie with a soundtrack. I certainly didn't think it was possible. Yet, here they are. I particularly like Micropolis.
|Cosmic Blop by Disaster Area is an example of an "Oldskool" ASCII animation, also called a textmode.||Mojo Dreams by Frenetic and r0k! has clouds, shadows, realistic mountains, and more, which you fly past in real time.|
|Cubic Revolution by Lonely Coders was written in pure C++, and features realistic physics and collisions.||Neuron by Reptile and Gargaj features a neuron that grows in sync to the music.|
|Factory by Bemz features lots of extravagant gear work, along with realistic metal textures and lighting. The Russian coding group also includes some larger outtakes.||Raumwerk by Black Maiden contains a fly through of a detailed room - the ex-room of the main coder, in fact.|
|Matrix by Indirect Group starts with the falling letters of The Matrix, but then the letters start rotating in 3D as you fly into them. Complete C++ code is included. They had 46 bytes left over.||San Angeles Observation by Armada and Trauma illustrates a futuristic city based on curved buildings.|
|Micropolis by tbc & Mainloop contains an entire animated city with fog effects, flying cars, bridges, and trains. I was already impressed, but then they added in an animated giant robot to walk around.||TxalaparTron by Thenend has an extended Tron-style cycle battle. It's a first-time effort by a coder new to the scene.|
Some remarkable things can be done in 4K. Already, we've had shading, matrix rotations, fractals, coordinate systems, and curves. The next step up for demoscene intros is 64K. With that many bytes, pretty much anything is possible.
||Paradise by Rgba contains a slew of nature scenes, including swimming whales and breathing rhinos. I particularly like some of the water effects in the beginning. With this many animated 3D animals, you might think this isn't 64K, and you'd be correct. It's just 54K. Placed first at Euskal 2004.||
||Point Blank by Stockholm Syndrome has moody music, and is almost entirely done in black and white. I love some of the camera movements. The flight through the city amazes me. Placed first at the The Ultimate Meeting 2003.||
||sonnet by threestate was done in 2001, and thus lacks some of the tricks seen in the other demos here. Still, it's beautiful from beginning to end. I love the dandelions. Placed first at Assembly 2001.||
||Time Index by farbrausch (fr-034) and Haujobb. Farbrausch became the kings of the 64K demo with their earlier works. The tool they used for everything, .werkkzeug1, has been released to the public, and comes with a good tutorial. They provide consistently strong competition at all demoscene events.||
Diskmags, such as the Hugi Coding Digest, contain collected demoscener tricks. One coder, BoyC from Hungary, was inspired by Ile's article in #18 about texture generation, for 64k intros. Using the advice in that column, he wrote his own program to generate textures. At the time, Hungary was doing poorly at the large conventions. In secret, BoyC and the rest of the best Hungarian sceners joined Zoom in a chat session, and formed the group Conspiracy, thinking they might be able to win at the upcoming Breakpoint 2003. After 5 months of work, they finished Project Genesis. Little did they know that farbrausch had been working hard on a demo of their own.
|Project Genesis was the first project by Conspiracy. Right before it, a stunning composition by farb-rausch premiered. Project Genesis started with music synching to beautiful visuals -- then Part 2 started. As the programmed flag with realtime cloth finished the movie, the conspirators held up a real flag, and the secret was out. Project Genesis placed #1 at Breakpoint 2003.|
|Beyond is my favorite demoscene. One beautiful space scene after another. I particularly like flying into the galaxy at the beginning, the nebula, and the animation of a plasma flare over the sun. Place #1 at state of the art 04.|
|Saturday Night Scener was done in the space of three days. Normally, a 64K intro requires months, but the group felt they had to do something, so they gave up sleeping and produced this funky number.|
|The Prophecy is another project Conspiracy spent months on. It was hinted at in previous releases. Many beautiful, life-like scenes, but this time there is a definite plot involved, and tension leading right up to the conclusion. This is the "party" release ... there will be some fixes in the final release.|
But not so fast! Farbrausch may have been beaten at Breakpoint 2003, but they had a long term secret project of their own. The game .kkrieger is a first-person shooter game in 96K, which they released at Breakpoint 2004. It has the same look as some of the 1 Gigabyte games that are out on the market right now. Instead of five months, this game had been in the works for four years. It won at Breakpoint 2004. The group went on to release .werkkzeug1, which was used to make many of the farbrausch intros. Conspiracy released their own product, a.D.D.i.c.t.
Figure 5. 96K game program .kkrieger by farbrausch. (download at end of article)
Ironically, almost all of the tiny snapshots I'm using for illustration are larger than the programs themselves. If you'd like to know more, try out some of the many links I've put in this article. You can also go to one of the parties. Evoke 2004 will be in Cologne, Germany on 27-29 August, while Pilgrimage 2004 will be in Salt Lake City, Utah, on September 17-18. Each party tends to have a programmed introduction, and the one for Evoke is one of the best. The 64K intro even has an Easter Egg, which involves the space bar.
Figure 6. The 64K invitation to Evoke 2004.
Since all of these are tiny programs, you can readily download everything in just a few minutes (794K). I don't include the Hugi Coding Digest. Looking through here, and comparing it to all the textures I'm seeing in these programs, it's clear to me that I need to learn more. I've never even done a plasma effect (hangs head in shame). I haven't even discussed the next level -- 10 Megs.
Adok, editor. Hugi Special Edition #1: Coding Digest. http://www.pouet.net/prod.php?which=10807.
BoyC. "Behind the magic - Generating 3d worlds from scratch". http://www.cfxweb.net/modules.php?name=News&file=article&sid=1915.
Mathieu 'P01' Henri and Justin 'Insomniac' Walemark. 256 Bytes Demos Archives. http://www.256b.com/home.php.
Petri Kuittinen. "Computer Demos - The Story So Far". http://mlab.uiah.fi/~eye/demos/.
Pouet.net, the online demoscene resource. http://www.pouet.net/index.php.
Lassi Tasajarvi, editor. Demoscene: the art of real-time. Even Lake Studios, 2004.
Math Games archives.
Comments are welcome. Please send comments to Ed Pegg Jr. at firstname.lastname@example.org.
Ed Pegg Jr. is the webmaster for mathpuzzle.com. He works at Wolfram Research, Inc. as the administrator of the Mathematica Information Center.