TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

A dive into the making of a 64K Intro

320 pointsby kemenaranabout 7 years ago

12 comments

guiambrosabout 7 years ago
Really well done. It&#x27;s a bummer that source code are rarely released for demos.<p>For me one of the best of all times is Second Life [1], by Future Crew. Developed in 1993 nonetheless, it was a big breakthrough at the time, with almost 10 minutes of animation, and in early x86 hardware. Source code available [2].<p>[1] <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=rFv7mHTf0nA" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=rFv7mHTf0nA</a><p>[2] <a href="http:&#x2F;&#x2F;fabiensanglard.net&#x2F;second_reality&#x2F;index.php" rel="nofollow">http:&#x2F;&#x2F;fabiensanglard.net&#x2F;second_reality&#x2F;index.php</a>
评论 #16842897 未加载
评论 #16843290 未加载
评论 #16843411 未加载
评论 #16843679 未加载
评论 #16846500 未加载
评论 #16842747 未加载
评论 #16843709 未加载
no_identdabout 7 years ago
A note on the architecture from the demo:<p>The vast majority of ancient buildings follows quite simple procedural methods that only very recently got reverse engineered:<p><a href="https:&#x2F;&#x2F;www.researchgate.net&#x2F;profile&#x2F;Francisco_Javier_Roldan-Medina&#x2F;publication&#x2F;283490185_Unraveling_the_Classic_Proportions_Through_the_Anthropometric_Analysis_of_the_Architectural_Heritage_The_Case_of_the_Pantheon&#x2F;links&#x2F;563a4dd908ae405111a5841f&#x2F;Unraveling-the-Classic-Proportions-Through-the-Anthropometric-Analysis-of-the-Architectural-Heritage-The-Case-of-the-Pantheon.pdf" rel="nofollow">https:&#x2F;&#x2F;www.researchgate.net&#x2F;profile&#x2F;Francisco_Javier_Roldan...</a><p>(I suspect this method also permits approximating the plastic number [ <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Plastic_number" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Plastic_number</a> ], but so far it seems nobody has figured out a way to do so yet. I mention this due to the architectural relevance of the plastic number.)<p>I speculate that leveraging this fact could likely permit even more complex architecture in demos. (And, to mention an off topic point, it likely has some relevance for automating UI layouting.)
评论 #16845393 未加载
评论 #16844979 未加载
royjacobsabout 7 years ago
I used to do a lot of demoscene stuff as well [1]. I&#x27;ve been trying to get back into it but I&#x27;ve found that all of the software engineering I&#x27;ve done in the meantime has kind of driven the &quot;just get it working&quot; mindset away somewhat.<p>I used to just write code that &quot;happened&quot; to work, more or less. Nowadays I would want to get unit tests in place, make it cross-platform if at all possible and get a nice GUI going for easy tweaking. It&#x27;s made it impossible for me to get anything done in the limited free time I have :) ideally I&#x27;d write it in Rust, but there, too, I am waiting for tooling to catch up. I get the feeling that I&#x27;m not so much waiting for the tooling, but I&#x27;m using the waiting as a sneaky way of procrastinating and fooling myself...<p>[1] <a href="http:&#x2F;&#x2F;www.pouet.net&#x2F;groups.php?which=65" rel="nofollow">http:&#x2F;&#x2F;www.pouet.net&#x2F;groups.php?which=65</a>
评论 #16843943 未加载
评论 #16844790 未加载
评论 #16844079 未加载
twicabout 7 years ago
A previous discussion of the source code of a 4K demo, &#x27;Elevated&#x27;, by Rgba, with a link to a really good dive into it by Iñigo Quilez, who worked on it:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11848097" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11848097</a>
tnoletabout 7 years ago
Deep respect for this. Also humbled looking at my 1 page Vue + Webpack SPA clocking in at about 1mb
评论 #16843147 未加载
评论 #16843657 未加载
Annatarabout 7 years ago
This is the kind of stuff I grew up on, so when I’m critical of the software and the implementations here, the bloat, the unnecessary dependencies, the slowness... this is the standard I judge them against. The mentality and the techniques in the article are applicable to any kind of software. When applied correctly, they make any software small and fast.
评论 #16843220 未加载
AHTERIX5000about 7 years ago
Another great writeup of making of a 64k: <a href="http:&#x2F;&#x2F;www.lofibucket.com&#x2F;articles&#x2F;64k_intro.html" rel="nofollow">http:&#x2F;&#x2F;www.lofibucket.com&#x2F;articles&#x2F;64k_intro.html</a>
_o_about 7 years ago
Well the first optimization would be to roll my own libc (not that hard at all :) ) where i would load api calls by ordinal and only those that i really need (ok, for the sake of compatibility, i would dig them from IAT table based on 16bit hash (folding fnv32) of API name + dll name). Same for all other libraries, everything compiled with agressive optimization (at least &#x2F;O2). Next step would be to take compiler that is minimizing the bloat, tinyc (<a href="https:&#x2F;&#x2F;bellard.org&#x2F;tcc&#x2F;" rel="nofollow">https:&#x2F;&#x2F;bellard.org&#x2F;tcc&#x2F;</a>), compiling 32 bit binaries just to save some space. Maybe even go for .com to avoid PE header bloat. At the end compress everything with something like upx, but probably i would roll my own PE compressor. Instead of using functions, the macros would be used, absolutely no classes, #pragma pack(1) all structures (i never tryed what tinyc does :D). Also merging PE sections will save some bytes.<p>Size optimizing is fun and you can learn a lot but it is dying art, probably 99.9999% of todays developers dont understand what I have written in first part (today, you are learning the programming, but very indequately what the OS does, actually typical today programer understands the programing but is clueless what his code does on low level) ... but +1 for anyone that goes into that direction, my boss at my first job was saying that good software fits to one 1.44 floppy but this is today violated by HHLL. Well business wise no need for that unless you are making malware, but still cool.
评论 #16843728 未加载
评论 #16845495 未加载
评论 #16844175 未加载
评论 #16843699 未加载
bdickasonabout 7 years ago
I’ve always been impressed by the demo scene but never tried my hand at one because of the insane programming chops needed.<p>What are your top 3 favorite intros that you would recommend watching?
评论 #16843240 未加载
评论 #16842982 未加载
评论 #16844799 未加载
评论 #16843872 未加载
zaarnabout 7 years ago
If someone is interested in small demoes, I recommend &quot;A Mind is Born&quot;, a 256 Byte Demo. It runs for about 3 minutes (IIRC).<p>[ <a href="https:&#x2F;&#x2F;linusakesson.net&#x2F;scene&#x2F;a-mind-is-born&#x2F;" rel="nofollow">https:&#x2F;&#x2F;linusakesson.net&#x2F;scene&#x2F;a-mind-is-born&#x2F;</a> ]
kwoffabout 7 years ago
I still play <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=sWblpsLZ-O8" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=sWblpsLZ-O8</a> over and over, just for the song, not only because it is 256 bytes, but because it is a compelling song too.
srj85about 7 years ago
Awesome. Thanks for sharing