Nicht mehr ganz frisch, kenne das schon länger und habe mir auch sonst jede Demo angesehen, die sie bisher programmiert haben.
Aber beeindruckend ist es immer wieder
Um ein wenig Licht ins Dunkel zu bringen:
Der wichtigste "Trick" an der Sache ist die Tatsache, dass in einer solchen Demo fast alles gecodet wurde und keine normalen Daten vorliegen wie z.B. bmp/gif/wav/mp3... Der Grossteil der Daten wird in Echtzeit anhand von sehr ausgefeilten Algorithmen generiert.
Eine Textur z.B. existiert nur als eine Art mathematische Formel und frisst so nur ein paar Byte.
Beim Ton wiederum werden nur ganz wenige Grundtöne gespeichert und dieser Ton wird dann nur noch entsprechend wiederholt, gestreckt oder was auch immer um an den passenden Beat zu kommen. Ein simpler Rythmus könnte man sich als "every 0.5 sec play boom" *g* vorstellen

(Jaaa, sehr blödes Bsp.

)
Die Lieder werden dabei mit Hilfe von Editoren entwickelt, die dann die nötigen Anweisungen generien (vgl. mein tolles Bsp. ;D)
Man könnte sich das zudem auch ein wenig wie eine MIDI-Datei vorstellen nur mit dem Unterschied, dass die nötigen Grundtöne mit drin sind.
Sodele, wie gesagt liegt also der Trick darin möglichst alles in Algorithmen und Formeln zu packen. Wenn diese dann noch kompirimiert werden bleibt nicht mehr viel übrig. Wer z.B. mal eine grössere txt Datei komprimiert hat weiss wie klein die Teile werden.
Als Packer kommt meistens
UPX zum einsatz. Die echten Freaks programmieren sich ihren Packer aber auch selber oder modifizieren UPX ein wenig so wie es auch Farbrausch getan hat ;D
Farbrausch hat zudem für die Demos ein Tool (
hier n paar Screenshots) entwickelt um möglichst flott ans Ziel zu kommen und nicht immer und immer wieder die wichtigsten Routinen neu schreiben zu müssen. Zudem lässt sich damit Ton und Bild ideal synchronisieren.
Wer noch mehr Infos speziell zur Demo 'the product' haben will sollte mal unter http://www.theproduct.de/index.html vorbeischauen
Genug geschrieben
---
Eins noch: Macht euch mal weniger Gedanken darum wie man all diese Daten so klein
komprimieren kann, sondern viel mehr wie man all diese Daten
aus dem Nichts generieren kann. Das ist nämlich der grosse Zauber bei den Demos