Hacking Hi-Def Graphics and Camerawork Into 4Kb 255
TRNick writes "The old home-computing art of hacking elaborate graphics and camerawork into tiny amounts of memory has been lost, right? Not so. The demoscene is keeping ingenious coding skills alive, and TechRadar finds out the latest developments. Winner of the 4kb competition at 2009's Breakpoint party was RGBA's demo 'Elevated,' a gorgeous scrolling demo featuring photo realistic landscapes and music, which fits into the memory used by one of your PC's desktop icons. This is really impressive stuff."
Cheating (Score:0, Interesting)
I assume that 4K doesn't include the 3D libraries they used. It's still impressive but 4k of code can create a lot of procedural graphics if you have a few megs of graphics libraries to display it.
Re:I wish (Score:5, Interesting)
Try Left 4K Dead [mojang.com]
The fact is that cramming a lot of game into a small space is still worth doing.
Re:Meh (Score:5, Interesting)
No, it just raises the bar. Back when all you had to work with was CGA in 320x200 it was impressive to show a rotating cube in 4k. Today, this demo nicely shows where the virtual bar is when even considering making a 4k demo. As you couldn't do "Elevated" on your 100 MHz 486 in *no* condition or with any libraries, so would you be laughed at if you presented a rotating cube or a wormhole today.
Here's an excerpt from TFA:
If you can do better, show your work :)
Re:Wow (Score:1, Interesting)
Your desktop background is a few KB, but take a video of it in high def, and it will still be a massive file...
The data contained in the 4K is a music engine, instructions to directX/OpenGL, and custom code. The visual data is a mathematical representation only, and not actual landscape, processed through the renderer and displayed to the screen.
Your speakers are capable of representing sound in amazing detail from a small amount of data. Your screen and video card extrapolate and do a massive amount of processing (requiring a large memory buffer as well due to the single pass methodology of the rendered used in order to limit the number of instructions required), and the end result is an audio/visual experience in HD that made quite a massive avi file, yes...
Re:Meh (Score:2, Interesting)
Ouch, i thought the formatting would be preserved with tags. Posting as plain old text now :P
----- test.c
const char msg[]="Hello World\n";
void _start(){ // write (1, msg, 12); // exit(0); ./test
asm("int $0x80;"::"a"(4),"b"(1),"c"(msg),"d"(12));
asm("int $0x80;"::"a"(1),"b"(0));
}
---------
$ gcc -m32 -Os -nostdlib -nostartfiles -s -o test test.c
$ wc -c test 436 test
$
Hello World
And this is just scratching the surface. Of course, in a real 4K you would want to use some compression, too, as pointed by another replies.
Re:I assume the SOURCE fits into 4 kb (Score:3, Interesting)