Freitag, April 13, 2007

Breakpoint mit Farbrausch

Haben Sie auch schon von "Breakpoint 2007" gehört? Vorgestern machte mich Herr Arz auf die Meldung bei golem aufmerksam ("Breakpoint 2007 - Gewinner der Demo-Party stehen fest", 11. April 2007). Das Team "Farbrausch" hat im Bereich "PC-Demo" den Titel geholt. Aus einer gerade mal 180 KByte großen ausführbaren Datei entzaubert "Farbrausch" einen 7minütigen Film -- mir verschlägt sowas den Atem. Ich habe mir das Video auf YouTube angeschaut. Es wirkt fast wie Hexerei!

Machen wir einmal sehr ungünstige Annahmen, was die Bildqualität betrifft: 320 x 200 Bildpunkten mit 8 Bit für die Farbkodierung und 15 Frames pro Sekunde (fps). Das macht für einen etwa 7minütigen Beitrag (7 x 60 Sekunden = 420 Sekunden) eine Datenmenge von 3.225.600.000 Bits aus, sprich 403.200.000 Bytes, also ungefähr 400 MB. Das File kommt jedoch nur mit ca. 180 KB daher! Dem entspricht eine Kompressionsrate um den Faktor 2000 (400/0,18). Ein Kompressionsstandard wie MPEG-2 komprimiert um den Faktor 10-20. Es liegen Welten zwischen 2000 und 20!

Diese Zahlen sollen Ihnen nur ein Gefühl dafür geben, dass hier wahrhafte Künstler ("Hacker" im guten Sinne des Wortes) am Werk sind. Ich habe absichtlich schlechte Annahmen gemacht, der Film von "Farbrausch" ist qualitativ wesentlich hochwertiger. In den 180 KB steckt nicht nur eine Graphik-Engine, auch die "Filmwelt" muss sehr spärlich kodiert sein, die zum Teil mit recht aufwendigen Vorberechnungen erst einmal erstellt werden muss, bevor ein Video ablaufen kann. Sie werden vermutlich einiges an Rechenpower benötigen, damit die 180 KB vernünftig laufen. Und die Audio-Spur habe ich gänzlich vernachlässigt.

Was Sie daraus noch lernen können, und das ist vielleicht als Software-Engineer gar nicht so uninteressant: Ein normaler Kompressionsalgorithmus wie MPEG-2 ist zwar bereits ein Algorithmus für eine besondere Art von Datenmaterial, er arbeitet aber mit recht generellen Techniken zur Kompression von Bildflächen. Was die Hacker da treiben, ist nur zu erreichen mit einer domänenspezifischen Kodierung einer "Filmwelt" -- einer Sprache, wenn Sie so wollen. Mit dieser Spezialsprache ist eine Kompaktheit zu erreichen, die ansonsten undenkbar ist. Domänenspezifische Sprachen haben in der Tat ihren Platz und ihren Sinn. Mit ihnen sind solche Hexereien zu bewerkstelligen.

Kommentare:

Steeefan hat gesagt…

Wow, die Demo ist echt der Hammer! Wüsste zu gerne mal, wie das richtig funktioniert und wieviel Arbeit das ist.

Auf 1440x900 (16:10), Multisampling = 0, Texture = High und aktivierten Schatten läuft's bei mir flüssig. Habe dann nur noch mit Multisampling = 4 und Texture = Ultra probiert, da stockts.

fh hat gesagt…

Das letzte Mal hab ich mir vor 4 Jahren ein Video aus der demoszene angeschaut. Aber was farbrausch hier zaubert ist wirklich der Hammer. Da steigt die Speicherauslastung mal kurz um 700mb.
Hut ab, sag ich da nur.

moscht hat gesagt…

Ja, nicht übel, die Demo. Mein persönlicher Favorit ist aber immer noch "Second Reality" von der Future Crew. Die Demo gewann (glaube ich) die Assembly 1993 und war die erste Demo, die ich sehen durfte :)

@steeefan: auf meinem Laptop (X300-Grafik) bekomme ich bei 1440x900, Multisampling=0, Texturen=normal gefühlt 1 (ein) Bild pro Sekunde. Zum Glück gibt es ja auch das Video in 1280, das läuft natürlich flüssig :-)

Obi hat gesagt…

Immer wieder faszinierend zu sehen, was die Jungs so aus ein paar Kilobyte machen können.
Davon könnten sich so manche Game-Programmier-Crews eine Scheibe abschneiden.
Wen es interessiert, der kann mal das arte-Interview mit "Farbrausch" angucken:
http://www.youtube.com/watch?v=hqh1iXIlyJk

Sehr informativer Einblick bei den Jungs!

Außerdem empfehle ich noch bei der Demo-Crew "conspiracy" vorbeizuschauen:
http://conspiracy.hu/
Was die in 64kb packen, das ist den Demos von "farbrausch" ebenbürtig.
Tip: "Beyond" (läuft auch auf betagten Rechnern), 48 kb

http://conspiracy.hu/releases.php

Markus hat gesagt…

Meine Fresse!

Habe mir das Video bei youtube angesehen, weil meine 5 Jahre alte Kiste bei der Demo versagt.

Ich bin vor ca. 15 -17 Jahren vollständig von der RealLife.exe geschluckt worden und habe lediglich sehr alte Demoerfahrung aus der Hochzeit des Amigas.

Ich habe mir akteuell auch mal die eine oder andere Demo angesehen und in melancholischen Gedanken geschwellgt, aber wenn ich mir die verschwindend geringe Menge von 180KB vor Augen halte und dann dieses Demo sehe, kann ich (selbst Programmierer gewesen) nur noch ehrfürchtig auf die Knie fallen und um Entschuldigung für meine Unvollkommenheit winseln.

Ich kann das noch gar nicht realisieren, daß das alles in 180 KB verpackt wurde. Schon allein die Bewegungspfade der Kamera und der Objekte. Die Jungs sind doch ganz ehrlich viel zu schade, um ihre Kenntnisse und Energie in Demos zu stecken. Ich habe mich zwar noch nicht mit dem Werdegang von farbrausch auseinandergesetzt, aber den Jungs müsste doch die gesamte Multimedia / IT Welt sabbernd zu füssen liegen? Auch schon die gesamte Branche, die mit Datenkompresion zu tun hat.

Mann mann, ich bin noch total weggetreten von diesem Demo!

Wow, wow und nochmals wow!!