Programming As Art — 13 Amazing Code Demos
cranberryzero writes "The demo scene has been around for twenty years now, and it has grown by leaps and bounds. From the early days of programmers pushing the limits of Ataris and Amigas to modern landscapes with full lighting, mapping, and motion capture, demo groups have done it all and done it under 100k. To celebrate this art form, I heart Chaos takes a look at thirteen of the best demo programs on the web. Flash video links are included, but it's more fun to download them and give your processor something fun to chew on."
I think any serious demo list needs to include Second Reality.
:-)
While obviously there are more impressive demos from a graphics point of view (since SR is 15 years old), I'm still to see one with a better soundtrack and a better integration of video and audio.
Skaven's music is still one of my favourites - I wish it was properly resampled, as obviously S3M and MOD are a bit outdated
More really good demoes are compiled at my maa.org article, 64K or less. http://www.maa.org/editorial/mathgames/mathgames_08_16_04.html The main demoscene sites are better though: http://www.scene.org/ and http://www.pouet.net/ . One of my own recent favorites is a 4K demo, synchroplastikum http://www.pouet.net/prod.php?which=20967
Don't.... PANIC!
:-)
Such a great demo. That and 'Timeless'.
This demo site is cool. Talk about optimization, these programmers put modern programmers to shame.
Looks like they don't have a web server that can run in 100k...
That was fast.
Omega Vortex Corporation
As one of the many organizers for a large demoparty, Assembly I have to say, that each year brings more suprises in the 64k and 4k intro competitions, where groups create programs with executable sizes of 64kb or 4kb.
As already pointed out, second reality is worth seeing, and after that 1998 by Kewlers & MFX will show where we have gone from that.
Second Reality, Unreal, the various music demos from the scene, these were pretty incredible. But one of the demos that rocked my socks the hardest was because of what it did for so little space. It was called 'MARS.EXE'. It was about 4KB and, when ran, would generate a VGA 3D world with shading and what looked like a fractal sky. You'd use your mouse and navigate in any direction (always facing the same direction, sure, but you could strafe) and you would slide up and down the smooth terrain.
There were demos with better graphics, but the most astonishing thing was what this could do with so little disk space. This ran under DOS, not Windows, so there wasn't a bunch of free APIs it could take advantage of, it was all crammed into a tiny-tiny package with built-in mouse support and everything.
Anyone can make a 'demo' that blasts megs of raw graphics through a video card. Hell, half the 'demos' today are probably made in the modern equivalent of 3DS or something with a chunk of 'player' code attached.
But that 4K 3D landscape program... that was tight.
Because this seems more like Art for geeks.
Also, kind of funny. We're asked to download 'em so our processors have something to chew on and we make their server choke...
Ask not what you can do for your country. Ask what your country did to you
501 Internal earlier and 403 Forbidden now, I guess the webmaster already seen then effect.
Programming is engineering and not different from any other type of electronic engineering. and it's time we recognized this and brought this arrogant, rogue broughahah called 'programming' under control.
I don't think it is "programming as art" as much as it is "making art through programming", because the art-object - the thing that we are looking at and appreciating - is the execution of the program, not the source-code itself. We can be impressed at the skill and ingenuity of writing the program within the space confines that each demo category produces, just like we can be impressed at the self-imposed restrictions of Dogme 95 film-makers. Those restrictions are orthogonal to the effectiveness of the demo itself, though.
The programming is the how of the art work. But just like we can think of painting as art without thinking of "brushstrokes as art", we can think of software as art without calling it programming "as" art. I do think it is possible for source-code itself to be a work of aesthetic appreciation (granted, with a somewhat limited audience, but then all audiences are limited) but that's not what this is.
These folks are 'real' programmers, not affraid to learn the capabilities of the hardware, and push it to the limit [and then some].
Programmers today are nothing but typists compared to these folks, most are content to 'let java do it for me', and ignore 'the hard stuff' in favor of letting the compiler or language baby them, or simply abusing the hardware [everyone has 1gb of ram, and 1 2Ghz CPU, so I'll just use this slow sort routine...].
Don't worry about optimization, let the java JRE do it for you...yeah, let me know when you can code something of that level in java...or even C++.
AVG throws a wobbly on synchroplastikum stating that there is a Trojan in it.
wot no sig
...hosting a website and posting a link on slashdot.
Shocking! People with different religions to you! What is the world coming to?
Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
Wait a second, am I on the right website?
I haven't been in the demo scene for a LONG time (C64 and Amiga days) but the biggest problem I had was that no one shares their code. The scene would be advanced so freaking far if people could work off each other.
Is it any different nowadays?
Anything from the demo group Farbrausch is guaranteed to be a good look. My personal recommendations include: --> FR-08: By far, this is the best demo of them all. 13+ minutes of sheer graphical goodness. In 64kB... --> FR-019: Awesome graphics, awesome music, just an incredible few minutes of sheer artistry. --> FR-025: Awesome music, cool graphics, adjustable resolution and graphical options. --> FR-041: Run this at the highest res you can and full options and you will make your graphics card cry. My ATI X1900XTX cant make it all the way through without artifacting due to heat. Only 177kB to boot... For non-Farbrausch demos, check out: --> "Heaven Seven" by Exceed: Again, just a beautiful few minutes of graphics. Hit the spacebar for a FPS counter. Only 64kB as well. --> "Fall Equals Winter" by Replay: Not a exceedingly stunning graphic demo, but the music is awesome in this one. Tip, you may have to run it with the windowed mode switch (-w)
It's been less than 30 minutes since the story was published... And all we can now get is a "403 Forbidden" :(
This is when I click on the link.
What's up with that?
I prefer Flambe as apposed flamebait.
I am a bit disappointed in this article. The subject made me think of some really beautiful pieces of code that I've seen in my life. Breseham's algorithm http://en.wikipedia.org/wiki/Bresenham's_line_algorithm which is an integer arithmetic method of drawing a line on a computer monitor. I would love to have seen 12 more such examples of "artful code" but instead I get a link to a slashdotted article which appears to contain interesting 3D scenes and maybe animations done with older hardware. Boring.
I broke my code on a C64 using an Expert Cartridge and an assembler. Used to hack out Rob Hubbard tunes and make border sprite demos as I recall. Personally, the best demo I can remember seeing was, "Mule's Music Demo". I also recall some "BorderZone" demo that was well cool. Amigas were easier to program than the C64, I have to say with all those registers ;-). Razor 1911 demos were popular with me.
"Service Temporarily Unavailable"
"The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later."
"Apache/1.3.33 Server at www.iheartchaos.com Port 80"
"Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
The demoscene first appeared during the 8-bit era on computers such as the Commodore 64 and ZX Spectrum, and came to prominence during the rise of the 16/32-bit home computers (the Atari ST and the Amiga). In the early years, demos had a strong connection with software cracking. When a cracked program was started, the cracker or his team would take credit with a graphical introduction called a crack intro (shortened cracktro). Later, the making of intros and standalone demos evolved into a new subculture independent of the software piracy scene.
Prior to the popularity of IBM PC compatibles, most home computers of a given line had relatively little variance in their basic hardware, which made their capabilities practically identical. Therefore, the variations among demos created for one computer line were attributed to programming alone, rather than one computer having better hardware. This created a competitive environment in which demoscene groups would try to outperform each other in creating amazing effects, and often to demonstrate why they felt one machine was better than another (for example Commodore 64 or Amiga versus Atari 800 or ST).
Demo writers went to great lengths to get every last ounce of performance out of their target machine. Where games and application writers were concerned with the stability and functionality of their software, the demo writer was typically interested in how many CPU cycles a routine would consume and, more generally, how best to squeeze great activity onto the screen. Writers went so far as to exploit known hardware errors to produce effects that the manufacturer of the computer had not intended. The perception that the demo scene was going to extremes and charting new territory added to its draw.
Even with modern technology, where much of the effects seen in demos could be replicated in programs like 3D Studio Max, the point of demos are not just the beautiful visuals and music but the abilities of the programmers involved to write code so tight, so efficient, that something might be several megabytes if rendered in a 3D program comes out to less than 100k. So heres IHCs favorites from the demo scene of the last few years. These demos are in no particular order, and while weve provided Flash video links to each demo, the greatest joy is downloading them (PC only) and giving your graphic cards something fun to chew on.
Good Design
Lifeforce by Andromeda Software Design
Link to online Flash video
Link to download
Raw Confessions by cocoon
Link to online Flash video
Link to download
sandbox punks by cocoon
Link to online Flash video
Link to download
chaos theory by conspiracy
Link to online Flash video
Link to download
The popular demo by Far
Pouet. Good stuff. Even top demos from people.
Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
I haven't rtfa, but I won't look at "thirteen timeless demos.." if it doesn't have Second Reality by the Future Crew. That demo, singlehandedly, motivated me to be a programmer, and duplicate what I saw. If the author of the list hasn't discovered it, or decided not to include it, then imho, its would be a waste of time to look at it his uninformed list.
Juice was another good one.
The two polyhedral meshes, with transparency (blue on red, I believe?), blew my arse right off the map.
Hi, I Boris. Hear fix bear, yes?
Always thought the KKreiger demo was pretty impressive for only being 96k
Synopsis:
theprodukkts first product: chapter I of our experimental first person shooter. all the code, textures, geometry, sound, monsters and, well, lots of bugs - all crammed into 96 kilobytes.
http://www.theprodukkt.com/
In my day I had to hand-code demos in ARM assembler. On a 8MHz CPU. Without a floating-point unit, uphill, with no graphics card, both ways in the snow. We were so poor we had to unroll our own loops, write self-modifying code to build our own sprite-plot routines, and only use small SoundTracker modules. You tell that to kids these days, they won't believe you.
PS. This is actually true, apart from the snow and the uphill both ways bit. Also, TFA is 403.
"It doesn't cost enough, and it makes too much sense."
Way too many demos were of the variety of simply being a slide show of effects. They'd do one thing (and often tell you what that was) then go on to the next thing. There'd be a soundtrack playing but it was just background noise. 2nd reality was the first one I ever saw that was a real good integration of everything, where it was just an overall cool show. The technical merits of the effects were secondary to the fact that it was just damn cool to watch.
Along those lines today, one of the best I think is "The Popular Demo." There's nothing particularly special about what is done, the same group has done more impressive technical demos (they are the guys that do the 64k 3D demos) however it is just really well done overall. It's a great song, great visuals, and great sync between the two.
To me, that kind of skill is even more impressive than a nifty coding effect.
I love these stories, and people toss up all these great links to really neat random programs we can all download and try out! It's like Christmass morning and you never know what great surprise you're going to find when you unwrap each present.
RainbowsAndBunnyRabbits.exe
-
- - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
...when I try and click the link it tells me I'm forbidden to see the list on that server...lmao. who cares anyway...
Forbidden /2008/01/28/programming-as-art-ihcs-fave-demos-i-heart-tech/ on this server.
You don't have permission to access
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
Apache/1.3.33 Server at www.iheartchaos.com Port 80
This site is currently unavailable.
If you are the owner of this site, please contact us at 1-480-505-8855 at your earliest convenience. Someone could please alert the owner?
Am I eval()? - http://www.monst3r.com.br
Well, you can always bet on Goat-C to be up....and that link always manages to appear on Slashdot.
Layne
Absolutely, Second Reality set the "Holy Shit" bar for me back in the day, and nothing has surpassed it to this point.
.the .product demo in under 64k back in 2000.
The only thing that has come close was the fr-08:
Slashdotted.
Have gnu, will travel.
It is a metaphor for the futility of human existence.
Mah-vellous.
HAL.
Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
Remember Mike Hawash?
When I was on his team, he and another guy coded up a PC port of Sonic the Hedgehog to show to the bigwigs at Intel. It was with that very demo that the very concept of mass-market console-like gaming on the PC was even beginning to be taken seriously by Intel management. Shortly afterwards, they teamed up with Microsoft and drafted up what we know today as DirectX. So that was probably an important demo in terms of the development of PC gaming.
Actually, you can get a CD version of some of Purple Motion's work. He's got an album out called the "Purple Motion Music Disk." I have it and I like it. http://www.purplemotion.net/
Just a heads up, Symantec AntiVirus flagged synchroplastikum as trojan horses and deleted upon unzipping.
I tried running them under a VM, but that didn't work either.
It might be overzealous, but it's not worth it to me to possibly infect my computer for a brief moment of awesomeness.
YMMV.
The demo "Node" and it's associated source code is available here:
www.tronster.com/code/node
This was made by 2 programmers (me being one) and an artist/musician. It's not technically spectacular, but it was made to run on Linux and Windows, and ranked 3rd place at the Coma 2 demo competition.
The demo scene is a fantastically creative place to be. In middle school (][gs) and high school (PC), my friends and I would be the first to DL the latest demos from the European compos. It wasn't until college I obtained the discipline to put something out. Wish I had the time to do another one.
Name a logo of a shoe manufacturer.
But where is Amnesia by Renaissance? One of the best PC Demos I've come across (equal to Second Reality, IMO).
"Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
For anyone who's interested to see more of the older/Amiga demos that may not run on the modern PC, there is a DVD available: http://www.mindcandydvd.com/ (I'm not associated with the people that made this - I just bought it and enjoyed it :) There's also some great behind the scenes + making of footage
It's not pointless.
Yes, optimizing the crap out of some assembly loop aren't popular anymore in mainstream programming for the past several years, mainly because there are much more automated tools that can do quite a good job at optimising or analysing code and warning programmer about mistakes (something that would previously had required deep knowledge of the architecture).
Such weird skills are still valuable nowadays with embed electronics (where fast processor and big memory is un-available luxury) or tight loop in graphically intensive games (where no matter how much the hardware is fast, mad optimizing is still a very welcome increase of performance).
Or the whole GPGPU field which is still new and still requires a hell lot of optimisations by hand (CUDA, for example is much more lower level than even C and requires much more hacking and optimizing to squeeze out the most performance of code).
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
I think my favourite of all time would have to be Sonnet. The 3state guys did an incredible job on this one. 7 minutes of brilliant coding, all in 64 kilobytes!
Homonyms are fun!
You're driving your car, but they're riding their bikes there.
April 4-6 in Cleveland, and it shares space with notacon. Check it out, get tickets, whatever: http://demoparty.us
Downmix -- Artscene News
Every time demos ever get discussed, you always get a bunch of Second Reality fanboys coming out of the woodwork. Yes, I know that demo was a glimmering of hope in your sad PC-owner lives, the first hint that maybe one day the reapidly advancing raw power of the PC platform would overtake the elegance of the Amiga's hardware. And yes, eventually that did happen. But Second Reality, in and of itself, was rubbish, far far below the standards of the demo scene at the time - and mark my words, the Amiga demo scene WAS the demo scene at that time. The PC scene was just a mediocre group of wannabes.
You want a classic blend of quality design and absolute top-shelf "impossible" code? Try "Arte" by Sanity.
Here is one in real life (Real Reality). Even its soundtracks are kind of cool (wished they were higher quality).
Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
Trying to access the site lands me on GoDaddy's website (who's your daddy!)
http://sites.godaddy.com/sites.html:
(Web Site Unavailable)
Oops!
This site is currently unavailable.
If you are the owner of this site,
please contact us at 1-480-505-8855 at your earliest convenience.
---
Maybe they should find a better ISP?
Here is a list I made a few months ago of my ~16 favorites from back in the day upon discovering demoscene.tv, in no particular order:
1. Stars Wonders of the World by Nooon - video, video
2. Megablast by Orange video
3. Super Television by Orange video, video
4. CNCD vs Orange video
5. Inside by CNCD video, video
6. Bill G Force by Complex video
7. a few by Tpolm videos
8. Professor Nutbutter by Mindprobe no video available!
9. Closer by CNCD video, video
10. Control by Coma video
11. Assembly 2004 Invite by Moppi video, video
12. Ix by Moppi video, video
13. a few others by moppi videos
14. Ninja 2 by Melon Dezign & Scoop video
15. Ninja by Melon Dezign (Amiga) video
16. Reve by Pulse video
At least you had a barrel shifter and 30-something registers to play with you insensitive clod! In my day we used the 6510 @ 1MHz (X,Y,A registers) and had to write code to play 4-bit samples by varying the volume control register on the SID!
This site is down, the link not working anymore?
This demo can be used as a reminder of how underused hardware is, and how programming languages, while allow us to do more in less time, also prohibit us from exploiting the current hardware.
http://www.theproduct.de/
Utilizing the synergization of benchmark e-solutions to pre-workaround action items!
...a game demo from 10 years ago, which I don't remember the title. It was most probably by Ion Storm, and it was the demo that caused mass media hysteria over Ion Storm. It featured a fight between a warrior and two or 3 skeletons. The soft shadows, supposedly real time, were projected onto the bodies of the actors, and where they combined, the shadow was harder.
After being a huge demo fan "back in the days" and have watched a ton of demos on many different platforms, I must say that my all time favourite that impressed me most was Desert Dreams by Kefrens. Amazing graphics and an even better soundtrack. It runs on an Amiga 500 (7 Mhz), so the effects are very impressive for its time. Find it at http://www.youtube.com/watch?v=GH2GyQQIBNo (Part 2 of the demo is uploaded as a separate video in the list to the right)
I obviously can't mod you up since I posted, but this post of yours made my day.
:-) A bit expensive but since I've been saving lately thanks to RIAA (well, their branch here, SGAE) I'll be ok...
Long time since I whipped my credit card to buy CDs (I got the bundle with Skaven's)
I've watched a lot of demos, and my favorite will always be Bakkslide 7: YouTube link, download page for Win32 binary.
... to use the hardware. Sure, with a complete rewrite entailing several hundred man-years, you could run Random Japanese University's billing system on a Pentium 2 running a whole lot of hand-optimized assembly. (RJU's billing system is one of the projects I'm working on right now. I estimate about 98% of the codebase is Java code that poses no particularly interesting challenges from a "back in my day we implemented our for loops with bitwise arithmatic to save an extra byte of memory" challenges, just the usual engineering ones. The other 2% are fun to dip into once in a while.)
The cost of the server it actually does run on is, in rough terms, about a man month. There is a certain bit of zen-like aesthetic quality in solving this problem in an artistic fashion, but back in the real world there are vendors with invoices and teachers who would greatly appreciate if you could pay them sometime before they retire. In this situation, sure, let the JRE and 10 years of Moore's Law handle it.
It doesn't offer those teachers any extra value to have their paychecks processed ten times faster (I'm a programming rockstar, man! I don't use those slow generalist libraries, I write my own hand-optimized and domain-aware employee ID sorting algorithm! Got to squeeze out those extra 3 microseconds!), because the entire point of the system is that you can replace a process that used to take several clerks three days with one that takes one piece of commodity hardware 10 minutes. And, importantly, deliver the freaking thing to the customer in a usable state.
Help poke pirates in the eyepatch, arr.
Would have been nice of you to include the file format =p, since now I can't see it :)