Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Programming As Art — 13 Amazing Code Demos

Posted by Zonk on Tue Jan 29, 2008 10:43 AM
from the i-know-it-when-i-see-it dept.
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."
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Second reality (Score:5, Insightful)

    by ccguy (1116865) * on Tuesday January 29 2008, @10:44AM (#22221870) Homepage
    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 :-)
    • /.ed already!
      • Re: (Score:3, Funny)

        by s4m7 (519684)

        /.ed already!

        Maybe their webserver was an Amiga with a hand-optimized assembly webserver - ART!

    • Re: (Score:2, Insightful)

      by terrahertz (911030)
      I had to grimace when I didn't see Second Reality as well...but then I noticed the writer qualified the collection with "of the last few years."

      I've always been partial to Purple Motion, some of the two-channel modules he did as an exercise really withstand the test of time, despite the self-imposed technical limitations. All the FC music was exceptionally high quality overall though, IMO.

      I don't know what "resampling" or changing formats would do for the old module music, as you can't increase audio quali
      • My issue with S3M is that it doesn't support new-note-actions like IT does, meaning you have to use a ridiculous amount of channels to make things sound smooth.
      • I've always been partial to Purple Motion, some of the two-channel modules he did as an exercise really withstand the test of time, despite the self-imposed technical limitations. All the FC music was exceptionally high quality overall though, IMO.

        I agree... and you're doing Skaven a disservice by not including his name when you mention Second Reality. :) Don't forget that he did half of it, too.... That said, I have the PM part of it on my portable MP3 player, and not Skaven's part. :P I am not an atomic p

    • by peipas (809350)
      The most amazing demo I've ever seen is Animate! [mire.iki.fi] , a 4k demo from 1995. Wow.
    • For sure (Score:3, Interesting)

      by Sycraft-fu (314770)
      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 "
    • Re:Second reality (Score:4, Informative)

      by poot_rootbeer (188613) on Tuesday January 29 2008, @11:53AM (#22222872)

      Second Reality is considered by many to be the Ur-Demo, and I'm not entirely sure why; it's not a revolutionary milestone in the evolution of demomaking, merely a refinement of a lot of effects and design choices which had existed previously (notably in Future Crew's own "Panic" demo, released a couple months earlier).

      No less interesting than the original demo is the Commodore 64 port of it released in 1998, by Smash Designs and The Obsessed Maniacs. The same effects running on hardware 10 years older (and with far less power), and yet the graphics and sound are only marginally degraded from what was possible on a 486/VGA/SB PC. There's a vidcap of most of it on YouTube here [youtube.com].
      • Re: (Score:3, Interesting)

        by dkf (304284)

        Second Reality is considered by many to be the Ur-Demo, and I'm not entirely sure why; it's not a revolutionary milestone in the evolution of demomaking, merely a refinement of a lot of effects and design choices which had existed previously (notably in Future Crew's own "Panic" demo, released a couple months earlier).

        It's not that the demo is the most technically advanced, it's that it is a perfect combination of all the bits and pieces (especially the synching of the sound track). Demos are a form of art, and can be stupendous even if they're not at the very cutting edge; after all, there's lots of paintings out there that aren't cutting edge either, and yet they still pack a shitload of power.

    • Here is one in real life [p1atin.de] (Real Reality). Even its soundtracks are kind of cool (wished they were higher quality).
  • by Ed Pegg (613755) * <ed@mathpuzzle.com> on Tuesday January 29 2008, @10:45AM (#22221882) Homepage
    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 [maa.org] The main demoscene sites are better though: http://www.scene.org/ [scene.org] and http://www.pouet.net/ [pouet.net] . One of my own recent favorites is a 4K demo, synchroplastikum http://www.pouet.net/prod.php?which=20967 [pouet.net]
    • by Ed Pegg (613755) *
      The original site for the article seems to be slashdotted... but it pretty closely followed the Top Ten list at pouet.net. I'vel already forgotten which "unpopular" demos he included. My own article, mentioned above, is a better list of good demos, in my own humble opinion.
    • AVG throws a wobbly on synchroplastikum stating that there is a Trojan in it.
      • by Goaway (82658)
        Tell you what, you manage to find a modern trojan that fits in 4k, and I'll be impressed.
      • by Ed Pegg (613755) *
        There are a few hundred comments at Pouet about synchroplastikum, with several analyzing this very issue. Also, Calodox is an extremely respected programmer. He probably uses some extreme programming tricks to get this particular incredible demo to work, which AVG is good to be suspicious of.
      • Re: (Score:3, Informative)

        by Knos (30446)
        We have mentionned this to grisoft a couple of times.

        If you actually check what AVG is complaining about, (and I must say they don't make it easy for the novice to know about that) you will see it is complaining that the executable has been compressed. ("packed")

        It's *not* actually detecting a trojan, just being overly suspicious.

        Try it out, pack one of your trusted executables with a packer such as kkapture, (http://www.farbrausch.de/~fg/kkapture/) the best generic packer the demoscene has to offer.
    • First one I downloaded (MojoDreams) got flagged as having a trojan. Nice site.
  • This demo site [256b.com] is cool. Talk about optimization, these programmers put modern programmers to shame.
    • Re: (Score:2, Funny)

      by Anonymous Coward
      most of my memory leaks are several orders of magnitude larger than these entire demos, and they do far more than memory leaks have ever done for me!
    • Re:256byte demos (Score:5, Insightful)

      by pclminion (145572) on Tuesday January 29 2008, @11:16AM (#22222250)

      If you consider optimizing the crap out of something which is ultimately pointless, to be somehow comparable to what real programmers do, I suppose.

      I used to write these things back when all I wrote in was assembly language. It's cool, it's fun, it's a puzzle and a challenge. Comparing it to "modern programmers" though is sort of like comparing a Sudoku expert to a professional in applied mathematics. The Sudoku expert will probably outclass the generalist at Sudoku but I wouldn't describe it as putting the mathematician to shame, nor would I trust the Sudoku expert to work out some difficult integrals for me.

      • If you consider optimizing the crap out of something which is ultimately pointless, to be somehow comparable to what real programmers do, I suppose.

        I used to write these things back when all I wrote in was assembly language. It's cool, it's fun, it's a puzzle and a challenge. Comparing it to "modern programmers" though is sort of like comparing a Sudoku expert to a professional in applied mathematics. The Sudoku expert will probably outclass the generalist at Sudoku but I wouldn't describe it as putting the

        • Re: (Score:3, Insightful)

          by CastrTroy (595695)
          The source code probably never existed. A lot of this stuff was probably done in assembly. I guess the original assembly code would have some comments, but actually understanding it would still probably be extremely difficult. And even if you did, a lot of it wouldn't be applicable to programming in anything other than assembly.
      • Re: (Score:3, Insightful)

        by KillerBob (217953)
        Optimizing like that isn't all that comparable, no. But it's a really great way to learn how to code stuff that's still zippy even on derelict hardware. In a world where operating systems like Vista are becoming norm, I'd think that kind of skill is one people should be learning, no?
      • Depends where.... (Score:3, Insightful)

        by DrYak (748999)

        If you consider optimizing the crap out of something which is ultimately pointless, to be somehow comparable to what real programmers do, I suppose.

        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

  • MARS.EXE (Score:5, Interesting)

    by Chairboy (88841) on Tuesday January 29 2008, @10:56AM (#22222022) Homepage
    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.
    • by alta (1263)
      I remember mars, it was sweet. In my CIS 150 class (C++ at the time) we had a bunch of brand new gateway's with 75MHz pentiums. They were running windows 3.11 and they all shipped with mars. FUN!
    • I loved mars as well and frequently fantasized about future space flight games that would feature fractally rendered landscapes of its ilk.

      I was most amazed by the speed with which it generated what were at the time very high quality 3D graphics.
  • by techpawn (969834) on Tuesday January 29 2008, @10:57AM (#22222036) Journal
    Because this seems more like Art for geeks [slashdot.org].

    Also, kind of funny. We're asked to download 'em so our processors have something to chew on and we make their server choke...
    • I thought at first when I saw the summary "at last, I've been vindicated." I've been saying for twenty years that programming is an art form. In fact I had a rather good naturedly heated discussion with Charles Broussard about this very subject on the Planet Crap website five or ten years ago, back when I was heavily into computer gaming.

      His position was that programming wasn't art. Mine was that it is. Oddly (or not) his training is programming, while art was my major in college (You've probably seen "Stev [mcgrew.info]
      • Re: (Score:3, Insightful)

        by techpawn (969834)

        I maintain that the code itself is art.
        Part of what I do is code review. I've seen some very elegant code and I've seen some very bad hack jobs that just get the job done....If it's not up to par I send it back to be rewritten.
        In that statement you've likened me to an art critic... I'll just haul off and pop a few in my skull, making the world a better place for all.
  • by Lemmy Caution (8378) on Tuesday January 29 2008, @10:59AM (#22222056) Homepage
    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.
    • by moderatorrater (1095745) on Tuesday January 29 2008, @11:20AM (#22222312)
      I disagree. Sometimes the beauty is the final product, sometimes the beauty is the method of making the final product. I remember seeing a program that would open itself and then edit itself so that it would print out its own source code where, at first glance, it looked like a simple string parser. Printing out its source code isn't art, but the way it was done does qualify it as art.

      For something like Unreal Tournament or Half Life or Super Columbine Massacre: RPG!, the end product is what required the skill. For a 100k program to show graphics as good as an XBox game with a fully fleshed out level and multiple weapons, the skill is in the code itself, so that's where the art is.
      • Re: (Score:3, Insightful)

        There is a difference between skill and art, a big one. Like I said elsewhere, this is a case of skillful, even virtuoso programming being used to create software art.

        If they publish the code and show us that, then that becomes programming art. But although the constraints were programmatic, the demo is evaluated and appreciated based on its output. I actually think in the above case that you suggested that the source code itself was art, as the idea of the work was directly contained in it.
    • by blhack (921171)

      I don't think it is "programming as art" as much as it is "making art through programming
      I used to agree with you 100%. But then i started looking at some of my code and realizing that i could tell what kind of mood i was in by my approach to whatever problem i was coding against.
      How is me pushing keys to manipulate my computer any different than a pianist pushing keys to manipulate his piano?
    • I see what you are saying, and agree to a certain extend, but there is something about demoscene code that transcends pure craft. I don't know if it's art, but reading and understanding obscenely clever code can stimulate your emotions, or at the least, fill you with a sense wonder, something most art struggles to achieve.

      That said, this is what I call programming as art: http://homepages.cwi.nl/~tromp/maze.html [homepages.cwi.nl]

      Unfortunately, the Slashdot filter calls it "lame" and "junk", so I can't post it here.
  • by avi33 (116048) on Tuesday January 29 2008, @11:06AM (#22222132) Homepage
    ...hosting a website and posting a link on slashdot.
  • Awesome Demos (Score:2, Informative)

    by seadoo2006 (679028)
    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 graphic
  • 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 [wikipedia.org] 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.
  • "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"

  • by mzs (595629) on Tuesday January 29 2008, @11:32AM (#22222520)
    Wow wordpress can't handle ./ AND it creates craptastic HTML. Forgive me if I screwed this up fixing all of the empty anchors.

    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 [iheartchaos.com]
    Link to online Flash video [demoscene.tv]
    Link to download [pouet.net]

    Raw Confessions by cocoon [iheartchaos.com]
    Link to online Flash video [youtube.com]
    Link to download [pouet.net]

    sandbox punks by cocoon [iheartchaos.com]
    Link to online Flash video [demoscene.tv]
    Link to download [pouet.net]

    chaos theory by conspiracy [iheartchaos.com]
    Link to online Flash video [demoscene.tv]
    Link to download [pouet.net]

    The popular demo by Far [iheartchaos.com]

  • Pouet [pouet.net]. Good stuff. Even top demos from people.
  • RTFA (Score:2, Interesting)

    by BigJClark (1226554)
    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.
  • by MadMidnightBomber (894759) on Tuesday January 29 2008, @11:44AM (#22222728)
    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.
  • by Stormie (708) on Tuesday January 29 2008, @07:03PM (#22229056) Homepage
    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.
    • This is an interesting point and question, I think it's right on the money, I'm not sure why you would post AC. I run a programming website with tons of clever, freely available source code because I so dislike the hording mentality that infests the associated community.

      Still, as far the demo scene goes, I think there is a certain amount of pride that prevents the authors from even wanting to see the code of others, because they would rather figure it out for themselves. That's a big part of the pleasure of