Hacker News new | past | comments | ask | show | jobs | submit login

Most people who were a part of the scene in 2000 remember The Product (1). I remember it winning The Party and being struck by how impressive their work was. If you're on windows, I guess you can download the demo itself (2). At 64kb, it should be a pretty quick download ;-) Their impressiveness has only gone up since 2000, as you can see by watching Debris (3), which at 177kb beats the living crap out of most things you see today.

The amount of work that goes into the tools these guys make is incredible. Quite happy to see ryg, kb and team release all this stuff. There should be a ton of things worthy of checking out in all this source code.

  [1] http://www.youtube.com/watch?v=LkEsP9H2HGM
  [2] ftp://ftp.scene.org/pub/demos/groups/farb-rausch/fr08_final.zip
  [3] http://www.youtube.com/watch?v=_efKXc4zd6w



I imagined that demo skills would eventually die and the more recent stuff would just end up being bloated or lame. But it really has improved. Infeasibly improved. Debris is amazing. But it isn't the only more recent amazing demo. Someone once asked me whether there was a limit to how realistic demos can be made. I would normally prate on about Shannon information or something, but it was a very smart mathematician who asked me. I did eventually think of a reason though. A demo is never going to contain a model of a piece of paper on which its own source code (plus additional information) is written in the demo. So there have to be some limits. But the limits don't seems to have been reached yet, especially with better and better modelling in the hardware.


Dan Piponi (a.k.a. SIGFPE)[0] wrote a shader[1] that paints its own source code.

I don't think he published the code, because it was written for Renderman shaders at ILM, though.

His blog is a must read if you're mathematically inclined.

[0] http://blog.sigfpe.com/

[1] http://homepage.mac.com/sigfpe/SRTX2008.pdf


Your piece of paper example caught me a bit off guard. It sounds pretty similar to a quine ( http://en.wikipedia.org/wiki/Quine_(computing) ). I think that the same thing is possible with a demo - write the code to render a piece of paper from an array of letters, and put that part of the source code into the array.


Yeah I'm wrong. What I had in mind I guess, is take an existing very impressive 64kb demo, then do this. That might be much harder, but not necessarily impossible in theory.


A far better argument for me to have made is that it would be impossible to have a 64kb demo which models a surface on which is printed the source code of all 64kb demos written since the start of the scene decades ago. Of course, if equations that describe all of reality are discovered and fit in 64kb, and the graphics card contains a universe simulator, then maybe it's possible.


Such a demo would be possible, it would just take an infinite time to run.



Self-introspective code is trivial, and it's been done before. I suggest looking at LISP :)


This is precisely the same thing as a quine. A Lisp program able to "introspect" its own source contains somewhere in the binary a quoted representation of the source code in some format (stored as a list instead of a string if we aren't worried about whitespace, comments and line breaks). Of course, with Lisp, you essentially bundle the compiler or interpreter with the binary. At any rate, the first known quine was apparently written in a derivative of ALGOL, not LISP.


Why not?


Fantastic tiny demos are truly the closest thing I've seen to magic. You know it's really a bag of tricks but it's simply so good.


I've always had a great deal of admiration for these kind of works. They elevate programming to an art form.


It's amazing how they can fit that much detailed demo in 64kb along with sound. Feels magical :)


Prepare to be amazed by 4k, Elevated by RGBA and TBC: https://www.youtube.com/watch?v=_YWMGuh15nE


Or the 4k remake of Chaos Theory: http://www.youtube.com/watch?v=WFAIaclLrKE. Elevated is a classic and a complete aesthetic package, but it's still a one-effect intro. Chaos Theory 4k is more varied but unfortunately it has a shitty synth.


Every time I see the this demo YT I want to teach myself C++ (despite I hate compiled languages) - this is great inspiration for me.

Nowa days this graphics is not really that impressive but back in 2000 that was jaw-breaking OMG


I guess, you'll have to learn so much more then just C++, most likely assembler too, and a lot (lot lot lot) of tricks. Everytime i see those multi-minute long demos, with music and animations and see those in 64k (or even 4k intros!!) i'm baffled.


In fact, you don't have to learn C++ either.

You can use any native compiled language without problems (say, Pascal). You can also use any other language as long as its runtime is small enough.

Most important though, much more so than whether you know C++, is knowing graphics programming. In fact, I've been calling myself a democoder for 10 years now, and I still suck at graphics programming, which is why my demos suck. Focus on the graphics, not the language. A fondness for math is much more important than a fondness for compilers.

I'd recommend making a demo in your favourite programming language. Don't care about size, care about looks. Once you've learned to make it good, you can consider learning, say, C(++) to make it small enough for the 64k or 4k categories.

Sidenote: most 4ks these days are entirely coded in a shader. This means you can mostly copy&paste the entire C part from somewhere, and start hacking GLSL or HLSL. Sure, you'd need to learn the shader language, but it's smaller and simpler than c++.


Actually in the PC Demoscene, many demos were done in Turbo Pascal with lots of inline assembly as well.


We were talking about now, not 20 years ago.


Now there is no longer a proper Demoscene.

In the old days a 64KB demo was really that. Now it is 64KB + several MB OS.


asm is not required anymore (besides reading it for debugging or optimization purposes)

you'd rather have to learn practical 3d/2d math and try many things out.


There are many other compiled languages besides C++.

Here is a small list of languages with known native compiler implementations, that you could eventually use:

- Pascal (Actually all implementation have some extended form) - Modula-2 - Modula-3 - Oberon - Component Pascal - Ada - C - Objective-C - C++ - Ocaml - Haskell - D - Go - Fortran - Lisp - Scheme




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: