16 ms·
Source code for 4kb demoscene production “Elevated” released
- jsheard 10y agoRelease info: http://www.pouet.net/prod.php?which=52938 http://www.pouet.net/prod.php?which=52938 Binary: https://files.scene.org/view/parties/2009/breakpoint09/in4k/rgba_tbc_elevated_2016.zip https://files.scene.org/view/parties/2009/breakpoint09/in4k/... Video: https://www.youtube.com/watch?v=jB0vBmiTr6o https://www.youtube.com/watch?v=jB0vBmiTr6o 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...
- lowtolerance 10y agoHere is a presentation put together by one of the guys behind this release that explains a lot of about how it was made.
- deleted 10y ago[deleted]
- jsheard 10y agoI assume you meant to link this: http://iquilezles.org/www/material/function2009/function2009.pdf http://iquilezles.org/www/material/function2009/function2009...
- lowtolerance 10y agoYes, thanks. I'm not sure where my head is today.
- megablast 10y agoAny mirrors, that is down.
- acz 10y agoAh, so that was Iñigo Quilez!
- deleted 10y ago[deleted]
- bane 10y agoThe 4kb genre in the scene is incredibly vibrant the last few years. I think this demo really helped kickstart that.
- Thaxll 10y ago4KB using directx/opengl, very different from old time writing stuff directly in the video card.
- jheriko 10y agonew constraints though... you got a fit a couple of shaders in there too :)
- ekianjo 10y agoExactly, 4kb on top of the hundreds of megabytes of libraries and drivers.
- userbinator 10y ago...as opposed to another hundred MB or so on top of that.
- reitanqild 10y agoSomehow you make it sound easy or even belittling it. I'd say this is quite an achievement anyway when I know I'd use more space than that just to store a single jpeg or mp3 sample.
- andrepd 10y agoI think what parent was trying to say is that it's absolutely an achievement relative to storing a jpeg or mp3 sample, perhaps not so impressive next to the old 4k intros.
- DanBC 10y agoCould you show me what you can achieve with 4 KB on top of hundreds of megabytes of libraries and drivers?
- yAnonymous 10y agoYou don't have to be a car manufacturer to criticize a car and not an architect to criticize a building. "If you can't do it better, shut up" is a stupid argument.
- TheRealPomax 10y agothe part I loved best was how those 4kb uncompressed to over 250MB of GPU instructions
- nickpsecurity 10y agoThat's unreal. On what kind of graphics hardware, though? Seems like it probably offloads most of the work on GPU whereas we'd have had to do most of it in software on HW weak enough that 4KB size actually mattered. And probably not achieve this demo.
- adamnemecek 10y agoThe 4kb restriction isn't there to make it run on weak hw, it's there to push people.
- nickpsecurity 10y agoI figured that. It's just that almost everythings done on the GPU for a rendering demo. That's really pushing people. ;)
- arcticfox 10y agoThe wink face makes it seem like you think this is easy because using a GPU to execute the program is allowed. No? Edit: just read your other comment about real challenges in the C64 subset of the demoscene. That's like "You set a record in a 1600m race? For a real challenge, set a record in a marathon." It's just arbitrarily moving the totally legitimate goalposts to a different challenge because you prefer it.
- nickpsecurity 10y agoHow much harder would it be if software rendered or on a simple GPU from the late 90's? Their executable still 4KB? No?
- Kristine1975 10y ago>How much harder would it be if on a simple GPU from the late 90's It would be impossible since pixel shaders didn't exist until the 2000's ;-) As for software rendering: Since a pixel shader is essentially a program executed for every pixel, it's trivially portable to the CPU: Just turn it into a function and call it for every pixel on the screen. Making it fast is another matter altogether though.
- ekr 10y agoAnd I had been planning to reverse engineer it for some time, but never got around to doing it. Hats off to Inigo and others.
- psuter 10y agoMost programming jobs must feel terribly boring for anyone who managed to write that.
- corysama 10y agoHere's what he's been up to lately: http://mygtc.gputechconf.com/quicklink/esLu6kr http://mygtc.gputechconf.com/quicklink/esLu6kr
- yxlx 10y agoWill an online recording be available of that talk? I'd love to watch it.
- corysama 10y agoOfficially, I think the videos from GTC2016 are behind a free registration wall. You can register here: https://mygtc.gputechconf.com/form/account https://mygtc.gputechconf.com/form/account Unofficially, you can find this particular talk here: http://on-demand.gputechconf.com/gtc/2016/video/S6860.html http://on-demand.gputechconf.com/gtc/2016/video/S6860.html
- yxlx 10y agoSweet, thanks!
- choosername 10y agoiq of rgba worked at pixar.
- tbabb 10y agoFor anyone interested/thinks this stuff is cool, the author of Elevated has made a website for experimenting with real time pixel shaders in WebGL: https://www.shadertoy.com/ https://www.shadertoy.com/ Some pretty incredible things have been done there.
- david-given 10y agoHe has a version of Elevated which runs on shadertoy: https://www.shadertoy.com/view/MdX3Rr https://www.shadertoy.com/view/MdX3Rr (iq is him.) Alas, it doesn't run on this Chromebook...
- kentf 10y agoA friend of mine also has this project, http://shaderfrog.com/ http://shaderfrog.com/ Let's you experiment with and compose different shaders.
- sdwisely 10y agoThis is brilliant, I use shadertoy a bit to quickly test out where I've gone wrong in my fragment shaders (which is usually the whole thing). This actually seems like it'll be much better for the job. I'd love to see ISF export added too: https://www.interactiveshaderformat.com/spec https://www.interactiveshaderformat.com/spec
- stevebmark 10y agoHoly crap how have I not heard of this? This already scratches an itch I have for no good vertex shader editors. I'm looking at the "composed" graph editor thing, a little confusing but it looks really powerful. Thanks for sharing.
- deleted 10y ago[deleted]
- joaorj 10y agoDoes this mean that lots of 3:30 minutes 1080p videos could be compressed into 4kb? EDIT: We can be generous and say 40kb for sake of adding more colours / etc.
- Joyfield 10y agoWhy would you think that? https://en.wikipedia.org/wiki/Procedural_generation https://en.wikipedia.org/wiki/Procedural_generation https://en.wikipedia.org/wiki/Demoscene https://en.wikipedia.org/wiki/Demoscene https://en.wikipedia.org/wiki/Real-time_computer_graphics https://en.wikipedia.org/wiki/Real-time_computer_graphics
- joaorj 10y agoSorry, I thought it was obvious, but the question is: Could procedural generation be used to achieve amazing compression rates given a currently impossible to code algorithm?
- tinco 10y agoNo, only very specific videos, like this particular one.
- tinco 10y agoNo, only very specific videos, like this particular one. The art is in finding a pretty video that you can render in 4kb, not making a pretty video and then reducing it to 4kb. The latter would most likely be impossible.
- aab0 10y ago"39. Re graphics: A picture is worth 10K words - but only those to describe the picture. Hardly any sets of 10K words can be adequately described with pictures." It's the pigeonhole principle; there are only a few long videos possibly encodable as short programs because there are only a few short programs in the first place. To get compression performance, one has to target an ever smaller subset of possible videos, which eventually starts becoming an AI-complete problem.
- leeoniya 10y agoalso impressive: https://en.wikipedia.org/wiki/.kkrieger https://en.wikipedia.org/wiki/.kkrieger
- jsheard 10y agoConspiracies 64kb demo from earlier this year is fantastic too. http://www.pouet.net/prod.php?which=67106 http://www.pouet.net/prod.php?which=67106 / https://www.youtube.com/watch?v=qRVTI2y0BBg https://www.youtube.com/watch?v=qRVTI2y0BBg
- ck2 10y agoHow in the heck did they do that in 64kb That is mind blowing. Leaves quivering on a branch, realistic flames, realistic humans! The water wasn't quite right but still.
- badsectoracula 10y agoLeaves quivering can be done with a simple sine that gets a value that is increased with a random delta with a different offset for each leave group (if you notice in games which have "wind", this is how it is done - the system exposes some knobs for designers to twist until things look good, but in general that is the idea). The flames are very simple particles, the flame effect is probably the simplest particle effect you can do. The particle scene is blurred though before rendering the human figure, so the irregularities are not that visible. The humans are simple black+white cutouts (they might be even stored as a single bit per pixel) with a small "light edge" on the side (most likely applied as an effect and not part of the data). It isn't very visible in the YouTube video because the compression smears a bit the scene, but if you run the demo locally you'll easily see it. The intro isn't that high tech (compared to other intros of course), but Conspiracy are masters of presentation - the scene with the humans, leaves, mountains, house, etc wouldn't look as good as they do if it wasn't for the color grading, the camera motion and framing, the post processing and even the sequence the scenes are presented.
- nickpsecurity 10y ago
- cyphar 10y agoCool idea, too bad it's not free software. It's less free than any software I've seen (explicitly saying that you can't use it for "settings where security is critical" -- something that doesn't even make sense from a software license perspective). It's like the "Good not Evil" line in the JSON license.
- Malic 10y agoAfter viewing LFT's work in using an ATMEL microcontroller as a demoscene platform: http://www.linusakesson.net/scene/craft/index.php http://www.linusakesson.net/scene/craft/index.php ...I had the thought a possible frontier in demoscene is make your own hardware out of discrete components to run your demo. The MOnSter 6502 would count - http://monster6502.com/ http://monster6502.com/
- duskwuff 10y agoJust because that wasn't enough, lft has also written a demo which created a custom CPU/GPU on an FPGA to run a demo: http://www.linusakesson.net/scene/parallelogram/ http://www.linusakesson.net/scene/parallelogram/
- deleted 10y ago[deleted]
- kyled 10y agoBack in the day demos were more impressive imo. A lot of them now use direct x or opengl. For the most part the stuff you see isn't written by hand anymore AFAIK, they just have programs to generate the actual demo. Basically they use modeling programs.
- csl 10y agoWhile true for large demos, the 4kb — perhaps even 64kb? — are still written very much by hand.
- kyled 10y agoI hope so. I'm not involved with the scene at all, but I did read a bunch of history about the scene and watched tons of demos. I think farbrausch was one of the major groups who did this sort of thing https://github.com/farbrausch/fr_public https://github.com/farbrausch/fr_public
- DrPhish 10y agoLots of groups use demotools, including conspiracy for their 64k prods. Check out the moleman documentaries for lots of interesting scene info and lore! http://vakondok.com/index_en.html http://vakondok.com/index_en.html
- kaoD 10y agoThere are all kinds of demos: some of them use models, some of them do not, some are technical feats, and some are artforms. Many are both. Models are just serialized polygon meshes. We've been using models for demos for way longer than DX/OGL have existed. They're just another tool in the box which you can use (if you want to). Using DirectX or OpenGL nowadays is like using the CPU: it's just part of the stack. They are probably lower level than you think: using DX/OGL isn't just doing something like drawModel(model, x, y, z), it's way lower level than that. This demo in particular is not very different from old school demos. Back in the day we had interruptions, now we have API calls, but in the end shaders are just code. Elevated uses D3D to execute them in the GPU but that's all. And the synthesizer is apparently coded in ASM. Even if you really miss the old school platforms there are still demos produced for them, often pushing the limits of what can be done. Check http://www.pouet.net/ http://www.pouet.net/ for lots of impressive demos.
- polard2 10y agoHere's their release of how they made it as well. Super interesting read. It's shaders all the way down. http://www.iquilezles.org/www/material/function2009/function2009.pdf http://www.iquilezles.org/www/material/function2009/function...
- passthefist 10y agoHa, that's my exact comment from the related reddit thread. Kinda cool, I wonder how often that happens? https://www.reddit.com/r/programming/comments/4msf41/elevated_the_winning_4k_from_breakpoint_2009_is/d3y5g9x https://www.reddit.com/r/programming/comments/4msf41/elevate...
- toxik 10y agoYou do realize he copied your comment, don't you?
- DanBC 10y agoThat's been happening a bit recently. https://news.ycombinator.com/item?id=11837687 https://news.ycombinator.com/item?id=11837687 (I think there are others, but I can't find them now.)
- relaytheurgency 10y agoBoth usernames end in 2
- passthefist 10y agoYeah, but I still wonder how often people copy comments around like that. It's not like that was some great writing or anything, but it was copied word for word. Maybe it was some bot, but that's an odd bot.
- nitrogen 10y agoI've seen it happen on YouTube (not to me); highly upvoted comments get copy/pasted a month or two later to "steal" upvotes for someone else. It could be a bot tactic to build accounts with karma that can later be used for astroturfing, using proven comments from elsewhere. Maybe governments and organized astroturfers have automated that sort of thing more than we think.
- djvdorp 10y agoIf people wonder why I'm so obsessed with computers, this is the reason.
- pkrefta 10y agoIn year 2000 when I was 16 years old 64k fr-08 by farbrausch told me that I know nothing about programming ;) [1] https://www.youtube.com/watch?v=Y3n3c_8Nn2Y https://www.youtube.com/watch?v=Y3n3c_8Nn2Y
- davrosthedalek 10y agoIndeed, and for me, before that, Future Crew's Second Reality.
- Keyframe 10y agoSecond Reality was the best. First demo that I saw was Spaceballs' State of the art https://www.youtube.com/watch?v=c5kuYfTCGLg https://www.youtube.com/watch?v=c5kuYfTCGLg and I vividly remember of thinking 'wtf is that, a video or what?' and then Second Reality a year later or so - https://www.youtube.com/watch?v=rFv7mHTf0nA https://www.youtube.com/watch?v=rFv7mHTf0nA But then (I look all and every demo out there by then at the age of 13) I saw Mars demo https://www.youtube.com/watch?v=_zSjpIyMt0k https://www.youtube.com/watch?v=_zSjpIyMt0k which hooked me forever on the path of graphics programming.
- davrosthedalek 10y agoOh yes! I remember Mars! At some point, the was a text floating around the net which described how it worked, that was mind-boggling for the 14 year old me.
- joshstrange 10y agoI know a RasPi doesn't have near the specs needed to run this but I'd love to gut an old flat screen monitor and put it in a frame with a RasPi running something like this, generating random "art" and hang it on a wall somewhere...
- schwarrrtz 10y agoyou mean like this? https://www.electricobjects.com/ https://www.electricobjects.com/
- joshstrange 10y agoThat's awesome! Thank you for that link, a little pricy but the screen would be nicer than what I have laying around and it's more plug-and-play, bookmarked!
- wicket 10y agoThis is actually 4KB (kilobytes). The title lead me to believe it was 4Kb (kilobits). Still impressive though.
- dharma1 10y agoclassic 4k, beautiful stuff. here's another one of my favourites from 5 years ago: zeo-x-s/cdak https://vimeo.com/25284552 https://vimeo.com/25284552 http://prostheticknowledge.tumblr.com/post/73734927255/cdak-by-quite-orange-demo-written-in-4k-and http://prostheticknowledge.tumblr.com/post/73734927255/cdak-... Beautiful soundtrack from Lassi Nikko (tpolm/orange) and crazy cool raymarching shader work from unc (quite) shadertoy version with VR support: https://www.shadertoy.com/view/MdyGzD https://www.shadertoy.com/view/MdyGzD
- collinmanderson 10y agoAm I the only one who's reminded of the Excel 97 easter egg?
- zump 10y agoCan someone TLDR how this stuff works?! I NEED TO DO IT!
- shurcooL 10y agoThis was one of my favorite demos back in the day. I still have a copy of it (along with 10~ other favorites) sitting in a "Demoscene" folder somewhere. Many of them don't work on today's hardware/software, sadly (including this one). It's great that it's open source now! That means if someone's really motivated, they can update it to run on modern environments (by no longer keeping it 4 KB), even OS X, etc.
- sclangdon 10y agoAlthough they generally didn't compete in the 4kb genre, Farbrausch open-sourced many of their demos and demo-making tools a few years ago [1]. fr-041: Debris [2], and kkrieger [3] (the 96kb FPS) are particularly worth checking out for the uninitiated. [1] https://github.com/farbrausch/fr_public https://github.com/farbrausch/fr_public [2] https://youtu.be/wqu_IpkOYBg https://youtu.be/wqu_IpkOYBg [3] https://youtu.be/2NBG-sKFaB0 https://youtu.be/2NBG-sKFaB0