From the programmer’s point of view, 4k and 64k size limited demos are particularly interesting, because these types of demos rely much more on code than on data. And of course, there’s the sheer fascination of really cool graphics and excellent music in such a tiny amount of space. Programmers appreciate size limited demos the most, because they know how hard it is to get the code so small.
I’m no exception: When I first saw major 64k masterpieces like Heaven 7 or the product, my jaws dropped considerably further than those of my non-programmer friends, because I knew that 64k is really not much space.
Three or four years passed, and after doing my first experiments in OpenGL, I noticed that with the right compiler (lcc-win32, that is), executable sizes already are in areas that are feasible for 64k coding. A litte UPXing and voilà, 64k are reachable without too much hassles. When I noticed that 64k isn’t about magic, but just choosing the right tools and doing some moderately clever programming, I started to see 64k in a completely different light.
The next logical step is, of course, 4k demos. In the last year, the PC scene has been massively moving towards this category, so this is the right time for me to get involved, I thought. The very interesting talk with the 0ok guys at Evoke 2005 and the availability of Crinkler whetted my appetite even more. Seeing that MSVC/Crinkler could reduce my lcc-win32/UPX 8k BlockOut down to 6k finally convinced me that I have to do a 4k for this year’s Breakpoint.
Today, I did the main programming work for the upcoming 4k intro. With two basic scenes (but without music yet), I’m at 2.5k. So there’s 1.5k left for the music, and having crammed all the geometry data of the intro into only 410 bytes of data (plus about the same amount of code), I’m optimistic that I’m not going to need all the remaining space.
Thus, I had again a moment of enlightenment. This time, I understood the magic, or the lack thereof, of 4k intros. Four months ago, at tUM*2005, I used to be overwhelmed by synchroplastikum. Now it’s clear to me how and why this thing works. I’m not saying that I could reimplement it – this would require much more training and skills – but it’s not longer a complete mystery to me.
Bottom line: By doing some kind of art yourself, you lose part of the admiration you had for those who also do this art.
NOTE: At the time of writing, pouet.net was down, therefore all the demo links are missing.