elevated by Rgba & TBC | 4k intro (FullHD 1080p demoscene demo)
Demoscene High-Quality Videos (Annikras)7 HN recommenders · 2013–2025
317K views · demo · evergreen · Uploaded 2011-06-26
Elevated by Rgba and TBC, the winner of the 4k intro compo at Breakpoint 2009. It is a realtime procedurally generated 3D flythrough with music, all in a 4096-byte executable.
Held up as the landmark demoscene production and a counterpoint to software bloat.
1:25:348 Bit & '8 Bitish' Graphics-Outside the Box
GDC Festival of Gaming
24:26The Beauty of Bézier Curves
Freya Holmér
1:13:50The Continuity of Splines
Freya Holmér
24:46Painting a Character with Maths
Inigo Quilez
1:01:07The Ultimate Game Boy Talk (33c3)
media.ccc.de
45:35The Real Story Behind Wayland and X - Daniel Stone (linux.conf.au 2013)
Mladen Mijatov
1:10:00A Deep Dive into Nanite Virtualized Geometry
SIGGRAPH Advances in Real-Time Rendering
2:22A Mind Is Born (256 bytes)
lftkryo
15 comments from Hacker News
This is a great example of the point the guy is making: [LINK] That's 128 bytes. You could encode that as a 43 pixel RGB888 image. That's less than 7x7 pixel icon! Now as Jare mentioned in another comment, this video [VIDEO] contains less bytes than a basic 32-bit 32x32 pixel icon. Some of the whole essence of this demoscene stuff is to work within these constraints(256 bytes, 1024 bytes, 4096 bytes, 64 kbytes, ...) to produce this kind of art . Custom virtual machines, on-fly decompression algorithms and methods, carefully crafted data and ingenious ways of data re-use are the key. It's like black magic.
Those who don't see anything unusual or wasteful about an 8KB+ executable whose only action is to exit and return a value are recommended to watch this demo generated in realtime by a 4KB executable: [VIDEO] There's more here: [LINK] The demoscene is basically the exact opposite of mainstream software culture, and although it's focused on multimedia shows, I think some of their techniques and underlying motivation could be applied more generally... I wonder if /bin/true and /bin/false in their most simplest forms even meet the minimum "requirement for creativity" to be copyrightable, and if the reason why it has bloated significantly is so that it could be.
The maths isn't hard, but you do need a decent grasp of vectors and (optionally) 3D transformation matrices, and it's pretty opaque until you figure out the terminology. I haven't done GPU raymarching myself but I've used the same techniques on the CPU side in order to develop a whole-planet procedural renderer (in Ada, of course); the raymarching was relatively straightforward but I got horribly bogged down trying to make a volumetric atmosphere work. One resource I found really useful was Iñigo Quilez' website; in particular, his article on basic terrain raymarching explains most of the concepts: [LINK] (Also known as iq, he's responsible for a number of amazing demos, including the 4kB demo _Elevated_: [VIDEO] He also appears to have written ShaderToy. Search for iq to see his stuff omfg ShaderToy lets you write shaders to produce _music_ now? [LINK] )
Release info: [LINK] Binary: [LINK] Video: [VIDEO] Everything you see and hear is procedurally generated by the 4096 byte executable, in real time. It still blows my mind 7 years after release...
Perlin Noise and other procedural generation techniques also make frequent appearances in demoscene productions. [LINK] as featured in [VIDEO]
Obligatory link to Elevated - a 4 kilobytes animated 3D demo with music by rgba (authors of PDF in the OP) & TBC: [VIDEO] For me, achieving something like this in 4k is just mindblowing.
Here is another page on distance functions... [LINK] ...written by one of the authors of this amazing 4k ( four kilobytes! ) demo: [VIDEO]
Switching out of the "staticy" background for a plain gray reduced the payload size to ~20M, a savings of ~30Mb. I know this might sound somewhat obvious in retrospect, but you could've retained something similar to the original background and reduced the size significantly by generating it at runtime --- the code to create a random-looking background may only be not more than a few dozen bytes, and can be the same for multiple resolutions. For more examples of this technique, see demoscene productions --- the following video was generated by a binary of less than 4096 bytes : [VIDEO] Source code: [LINK] Explanation: [LINK]
I am reminded of this 4 kilobyte demo: [VIDEO] (Source code and discussion at [LINK] ; explanation at [LINK] ) although the flight sim is a little more interesting from a technical perspective, since it's interactive and also not using the GPU to do most of the computation. Also, despite the source code being obfuscated, observe that that "external symbols" which are still visible, e.g. XDrawLine, XSetForeground, etc. already give a pretty good overview of how it does what it does --- and in general, when reverse-engineering or analysing software, inspecting where the "black box" interacts with the rest of the world is an important part of understanding it.
IMHO not very many 64Ks have reached the amazingness of this 11 minute one from 2000: [LINK] ...and for 4K, this one from 2009: [VIDEO]
The size comparisons are also very useful, if anything to show that even the simple "non-Modern" C++ program already has quite a bit of bloat. Compilation takes 0.064 seconds, produces 8480 byte executable I am experienced with Asm so I can come up with an instinctive order-of-magnitude estimate, but even those who aren't should try to roughly estimate how many machine instructions are required to implement that code, and come to the conclusion that over 8000 bytes for three nested loops with not much in them, a comparison, some arithmetic, and a handful of library function calls seems rather excessive. Even 800 would be on the high side --- somewhere around 100-200 bytes is my estimate. Also, watch this 4k demo (everything you see and hear is generated in realtime by a 4096-byte executable): [VIDEO]
Inigo Quilez, a demoscene programmer who does amazing work - of a very high technical and artistic standard, often in painfully tiny sizes - and then writes lucidly about it: [LINK] Here's 'Elevated' a four-kilobyte demo he did (along with others): [VIDEO] And here's the writeup: [LINK]
The 4k category was blown wide open in 2009 by rgba/tbc with Elevated [1] (live reactions: [2]). It demonstrated that 4k was more than sufficient for impressive effects and music -- suddenly, 64k was no longer an interesting constraint. [1]: [VIDEO] [2]: [LINK]
> 64Kb demo generating really good mountain landscape. Do you mean Elevated? It is actually 4 kB, even more impressive: [VIDEO] [LINK]
When I want to show people what an intro is and tell them a bit about the demoscene, I usually show them the intro Elevated, which won the PC 4k compo at Breakpoint 2009. For me it really shows the talent of Iq and the other people who created it. It’s truly amazing what can be done in just 4 kilobyte! Elevated by Rgba & TBC: [VIDEO] Iq's slides on the Elevated intro: [LINK] Sourcecode: [LINK]