Probably the single most impressive entry from the #Revision2024 #demoparty : Remnants by Alcatraz

Here's the whole intro executable for your convenience:

68f69f07b013cd10d6bac90391eee2f9bbf601b8cdccf7e7720e41f6c13f7508804702058047082d80ee4c608d28bffcffdf45fcd809df470880fd017503de4405d9edd913df45fef6c1407402dcc2dcc0de4706df45fbd8097404d9cad9e0df47c95629fed918d91a7bf85eb929006029fed902d80bd800d9500cd9187bf1df01d900b10729fed94004d900d9c1d84ffed9c1d84ffedeebdec1d918d95804d9c156d9c2d8c0d900d8c4d9f5d9e1d94702decadee9d910dbf1dbd1ddd929fe7ae15edbf1dac1ddd9d913d907decae2b761ddd9d85f02dfe09e7602e292890d61260245ffd1e8aa83c72881f980010f8521ffc30c00b84c3ed53eca3e09c237ff

video: https://www.youtube.com/watch?v=A9jn6ExjDw8

pouet: https://www.pouet.net/prod.php?which=96536

#demoscene #sizecoding

Remnants by Alcatraz

YouTube
@harrysintonen @firefly how the fuck?? I would love to see an analysis of the binary and how it works at some point, because this is some deep magic.

@endrift The algorithm used to render the 3d scene is "raymarching", which is sort of realtime raytracing. The actual geometry being marched on likely is a fractal of some sort. Finally, a collection of seeds producing nice scenes and camera movement were picked, and these are fed through the system to produce the presentation. The transition effect is a sneaky result of only updating some selection of pixels on each render pass (and thus is "free").

This is my (poor) understanding of the thing without actually looking inside it. It probably is somewhat off, but the broad picture likely is quite close.

Oh yes, I totally forgot, they also managed to fit this all to mere 256 bytes...  

Quite often there will be a writeup of such cool size optimized intros. If it happens it likely will be linked to from the pouet page for the intro: https://www.pouet.net/prod.php?which=96536 #demoscene #sizecoding

Remnants by Alcatraz

256b for MS-Dos, 1st at Revision 2024

pouët.net
@harrysintonen oh yeah I just meant an actual assembly-level analysis of how it works. I'm familiar with raymarching (I implemented a not-very-well-researched version of it when I wrote a Mandelbulb rendered in 2010), I'm just not sure how you could implement that, AND the scene generation, AND the camera pan, AND the scene switching in 256 bytes.
@harrysintonen actually I think I see what you mean about the transition being free: it updates the same subset of the screen via that pixel pattern every update, but it's only noticeable as such when the seed changes, which can be done with a simple branch when a timer overflow. Very clever.

@endrift Right, sorry for codersplaining. 😳

My x86 sizecoding skills are way too feeble to perform any real analysis of it, and it for sure is thick full of some really sneaky code and algos, so I'll wait for some kind of a writeup - hopefully there will be one later.

@harrysintonen the best I've done is implemented the game of life in Python golfed down to the size of a tweet. Can't remember if it was the old size or the new size.
@endrift @harrysintonen this would be excellent for a live stream. I mean disassembling this is easy, then understanding why it works is tricky… I tried explaining how I made Game of Life with „music“ in 256 bytes. That was already complicated to do to an audience. But I think reversing someone else’s code might be super interesting.