Hacker News new | past | comments | ask | show | jobs | submit login
Low-level x86 code compression for 64k intros (fgiesen.wordpress.com)
121 points by psykotic on Aug 7, 2011 | hide | past | favorite | 18 comments



In case you haven't seen a 64k intro, "Chaos Theory" by Conspiracy is probably the coolest and most impressive one I've ever seen (fullscreen it in 720p for maximum awesomeness): http://www.youtube.com/watch?v=ZfuierUvx1A

I think it's probably one of the few I've seen that goes beyond being just impressive coding and actually seems to evoke the feeling of a post-singularity civilization, or something like that.

The graphics and music are all generated on the fly from 64k of code. I think it actually uses the code compression from the linked article.


Panic room is my absolute favorite 64k: http://www.pouet.net/prod.php?which=51125

The graphics are amazing (and not random abstract stuff like most 64ks of the time) and it's not only got a great song, it has vocals. In a 64k. Simply stunning.


The water rippling/shimmer effect in the opening scene was amazing! Youtube link: http://www.youtube.com/watch?v=UyKtZT4GPus


I am amazed. Just describing the various scene changes and the composition thereof in 64k would be a massive challenge!


I'd also add Uncovering static by Fairlight & Alcatraz as a good exmaple of what you can create in 64k http://www.youtube.com/watch?v=69Xjc7eklxE http://www.pouet.net/prod.php?which=57449


Carmack expresses admiration for these in his recent keynote.

http://www.youtube.com/watch?v=4zgYG-_ha28#t=4820s


Just look what can be done on a C64 with 512KB RAM expansion cartridge. http://www.youtube.com/watch?v=IQqR35k4SMQ&feature=relat...

Beats most PC demos IMHO. (I'm an old C64 and Amiga hacker) That said, the 6510 and 68k don't stand a chance when it comes to compact code compared to the x86.


Love it! I love it when modern coders hack on old hardware. There's some great stuff like that...especially some homebrew on old consoles.

(though I should probably be mad about that bit halfway through the demo)


Demosceners beat dotcom web kids any day of the week.

I simply cannot see any of the current boy kings being able to keep up with this sort of thing.


I'm a demoscener, and I disagree on the basis that the comparison simply doesn't make sense. Take your average scener and tell them to build a simple web application that works well and you'll see that the skill sets simply could not be more different. Am I able to make a webapp, sure; am I remotely good at it, not at all.

Now, there's something to be said about the flexibility that sceners tend to have, but I think the standard you-wear-every-hat approach of a small startup shows the same sort of flexibility. They're just two vastly different worlds.


The average scene coder has always been more of a creative tinkerer than a systems programmer. There's obviously a specific skill set involved in building end-user web apps (or anything else for that matter) that must be learned, but it doesn't seem like a terrible fit. They're used to working closely with graphical artists and musicians on a shared vision while adding a lot of their own creativity to the mix. Oh, and they're used to writing terrible throw-away code. They'll fit right in. :)

Fabian is the systems programmer type. He'd hate building web apps.


What resources are there available, or how does someone start getting into the demoscene? Are there any good websites or books for a complete beginner?


Any book on computer graphics would be a good start for the graphics side.

I like 3D Computer Graphics by Alan Watt as an introduction and overview http://www.amazon.co.uk/3D-Computer-Graphics-Alan-Watt/dp/02...

and Real-time Rendering for more advanced subjects http://www.amazon.co.uk/Real-time-Rendering-Tomas-Akenine-Mo...

The session from Assembly 'The Basics of Demo Programming' is online and may also be useful http://www.youtube.com/watch?v=TbcZyAO6K7c or have a look at The Demo Effects Collection http://demo-effects.sourceforge.net/

But it depends what platform you want to use C-64 An Introduction to Programming C-64 Demos http://www.antimon.org/code/Linus/ and http://codebase64.org/doku.php

Processing http://www.processing.org/

WebGL Browserscene: Creating demos on the Web http://www.youtube.com/watch?v=XZLqwXdXjqY

Deconstructing a browserscene demo http://www.youtube.com/watch?v=pOjWOA-iPnA

I have some more bookmarks on pinboard http://pinboard.in/u:z303/t:demoscene/


I'm reading this (http://www.amazon.com/68000-assembly-language-programming-Ge...), and messing about with it on EASy68k: http://www.easy68k.com.

I'm using that book because it seems to be a gentle start into assembly language. If you read a lot of tutorials, they want you to memorise how the architecture works before getting started, which seems to be to be a very exhausting approach that's not well suited to people who have other things going on in life.

Once I have the basics I'm going to gradually build up a libray of sharp patterns. I expect I can build a capability from this approach. Maths operations, then user input, then event loop, then moving bitmaps around screen, then very basic wave forms. 3d graphics are a fair way down the line.


I'm very curious about this as well. I was always impressed by the demos I found but never managed to find anything that showed me how to break into the community. About the only thing I gathered was it was not so common in the US.


I don't know if it's worth getting into the high-level programming vs. low-level programming debate.

A good buddy of mine is a hardcore game programmer and we both give each other crap. He says I'm not a "real programmer", and I tease him about waterfall development and day-long compile times, but in the end we have mutual respect for each others' skills. It takes intelligence and years of dedication to master either one.


OK, try beat this dotcom web kid's demo in 256 bytes:

http://www.p01.org/releases/256b_mars_canvas/


Neat hack! But stacking sine waves with a bit of modulation isn't exactly earth-shattering. You might like to try some of these: http://www.pouet.net/prodlist.php?type[]=256b&order=view.... The most impressive to date is probably Puls: http://www.youtube.com/watch?v=R35UuntQQF8. The top three 256b productions on Pouet are all doing the same basic thing of ray marching against an isosurface. The sophistication of the geometry has increased a lot since Lattice, which used something simple like cos(x)^2 + cos(y)^2 + cos(z)^2 = f(t) where f(t) is an oscillatory function of time that controls the thinning and fattening of the lattice.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: