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.
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.
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.
Comments
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.
Highres video of Debris: http://www.youtube.com/watch?v=mxfmxi-boyo
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?