1 Punkte von GN⁺ 2024-02-12 | 1 Kommentare | Auf WhatsApp teilen
  • Bitwise Liminal ist ein webbasierter Kurzfilm, der aus 256 Byte Code besteht und auf der Lovebyte Party 2024 vorgestellt wurde
  • Die Geschichte beginnt mit der Prämisse, dass auf einem Flohmarkt eine alte VHS-Kassette gefunden wird, die mit „Bitwise Liminal“ beschriftet ist
  • Beim Abspielen der Kassette ist nur statisches Rauschen zu sehen, doch danach erlebt der Erzähler beunruhigende Träume und entwickelt eine Besessenheit von der Kassette
  • Nach Nachforschungen stellt sich heraus, dass die Kassette ein digitales Backup ist; die mit spezieller Software wiederhergestellten Daten entpuppen sich als 256-Byte-Programm
  • Als das Programm im Webbrowser geöffnet wird, erscheint eine Szene, die den Träumen ähnelt; der Erzähler schläft nicht mehr, sondern starrt nur noch weiter darauf

Ein Kurzfilm aus 256 Byte Code

  • Bitwise Liminal ist ein kurzes codebasiertes Werk mit dem Untertitel „A Short Film in 256 Bytes of Code“
  • Es ist als Beitrag zur Lovebyte Party 2024 ausgewiesen
  • Es nutzt eine Erzählform, in der nach dem Fund einer alten VHS-Kassette darin verborgene Daten wiederhergestellt und im Webbrowser ausgeführt werden

Eine Erzählung von der VHS-Kassette bis zum Browser

  • Der Erzähler findet auf einem Flohmarkt eine alte VHS-Kassette, auf der mit einem Sharpie „Bitwise Liminal“ steht
  • Beim Abspielen der Kassette zeigt der Bildschirm nur statisches Rauschen
  • Danach beginnt er, lebhafte und beunruhigende Träume zu haben, und denkt immer wieder an die seltsame VHS-Kassette
  • Nach Nachforschungen erfährt er, dass die Kassette ein digitales Backup ist, und stellt die Daten mit spezieller Software wieder her
  • Die wiederhergestellten Daten waren ein 256-Byte-Programm, das der Erzähler mit zitternden Händen im Webbrowser öffnet
  • Die im Browser gesehene Szene erinnert ihn an seine Träume; am Ende muss er nicht mehr schlafen und bleibt in einem Zustand, in dem er nur noch weiterschaut

1 Kommentare

 
GN⁺ 2024-02-12
Meinungen auf Hacker News
  • Das ist beeindruckend und sieht aus wie eine echte Filmszene. Wenn man aber bedenkt, dass das in 256 Byte passt, lässt es einen noch einmal darüber nachdenken, wie aufgebläht die Dinge sind, die wir täglich nutzen, und wie leistungsfähig heutige Browser sind.
    Trotzdem fand ich 8K-Demos wie „the Sheep and the Flower“, das kürzlich auf HN geteilt wurde https://news.ycombinator.com/item?id=39121101, oder „One of those days“ https://www.pouet.net/prod.php?which=75790 / YouTube-Video https://youtu.be/8T_Um-cw0Wc, ein Remake eines echten YouTube-Videos https://www.youtube.com/watch?v=R1NagZN2kjY, noch erstaunlicher.
    Sie sind zwar viel größer als ein 256-Byte-Film, vermitteln aber deutlich mehr Grafik und Story.

  • Gibt es für Normalsterbliche wie uns eine kommentierte Version, die die einzelnen Teile erklärt?

  • Kürzlich verwandter Beitrag: Cross My Heart – A Frogger Demake in 256 Bytes of HTML/JS - https://news.ycombinator.com/item?id=39336677 - Februar 2024, 44 Kommentare
    Normalerweise werden Folge-Einreichungen herabgewichtet (https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=follow-up%20downweight&sort=byDate&type=comment), aber diesmal haben wir es gemäß den Kriterien von https://news.ycombinator.com/showhn.html in Show HN geändert und stehen lassen, weil (a) der Einreicher der Autor ist und (b) die Arbeit hervorragend ist.

  • Wenn das ein „Kurzfilm“ ist, dann habt ihr gerade meinen neuen Roman gelesen.

    • Wenn man t+=.1 zu t+=.01 ändert und 9986 zu 9e3, kann man immer noch innerhalb von 256 Byte eine Schleife von etwa 45 Sekunden erzeugen. Allerdings wird dann ein Teil des unteren Bildbereichs abgeschnitten.
  • Kleinigkeit, aber ich habe zum ersten Mal gesehen, dass jemand SVG in ein Canvas einbettet, nur um das onload-Event zu nutzen. In diesem Kontext wird das Canvas über eine bare id referenziert, was seltsam und zugleich cool ist.

    • Wie sich herausstellt, ist es ein klein wenig kürzer, es in svg onload zu packen, als ein script-Tag zu verwenden.
      Wenn man es in ein canvas onclick-Event steckt, könnte man sogar noch etwas Platz sparen.
    • Ich frage mich, warum das erlaubt ist. Ich wusste nicht, dass man das in JavaScript so machen kann.
  • Dass es wirklich reine 256 Byte sind und nicht wie bei typischen 1KB-Game-Jams ein Ergebnis nach zip, gzip und Suffix-Tricks eingereicht wird, während Assets nicht mitgezählt werden, ist einfach großartig. Respekt.

    • Das hier ist auch cool: https://linusakesson.net/scene/a-mind-is-born/
    • Eine wahnsinnige, nahezu unmögliche Herausforderung, und wenn es tatsächlich läuft, wirkt die Arbeit wie Magie.
    • Einen Dekompressor in den Beitrag aufzunehmen, ist immer möglich. PNG-Bootstrapping ist in der JavaScript-Demoszene schon lange recht beliebt und beginnt bei Demos ab 1 KB Wirkung zu zeigen.
      Für kleinere Größen gibt es auch andere Alternativen, aber 256-Byte-Demos sind im Allgemeinen zu klein, um einen Dekompressor unterzubringen. Beim Punkt, Assets nicht mitzuzählen, stimme ich allerdings zu.
    • Ist bei solchen Wettbewerben auch import gameassets erlaubt?
      Nebenbei: In Python funktioniert import GOTO tatsächlich :)
  • Die Arbeit dieser Person lässt mich immer wieder staunen. Eine Beschreibung der verwendeten Tools gibt es hier: https://frankforce.com/tools/
    Die Mikroanimations-Blog-Arbeiten auf Dwitter sind hier: https://www.dwitter.net/u/KilledByAPixel
    YouTube-Erklärung: https://www.youtube.com/watch?v=HV7Dmo277Rs

    • Diese „YouTube-Erklärung“ erklärt tatsächlich nicht, wie die Dweets funktionieren. Die Arbeit selbst ist erstaunlich und war schön anzusehen, und ich freue mich darauf, sie direkt vorgeführt zu bekommen, aber wer eine detaillierte Erklärung der Funktionsweise sucht, wird von dem Video enttäuscht sein.
  • Wenn man so etwas sieht, kommt einem der Gedanke, dass das gesamte Leben wirklich in DNA codiert sein kann. Ich habe gelesen, dass das menschliche Genom mit gzip komprimiert etwa 4 MB groß ist; intuitiv wirkte das zu klein, um einen Menschen zu beschreiben.
    Aber wenn aus 256 Byte so ein Verhalten entstehen kann, liegt meine Intuition eindeutig falsch.

    • 4 MB reichen aus, um 2^(3.2 * 10^7) mögliche Zustände zu unterscheiden. Nehmen wir an, es gibt einen Dekompressor, der nur einen winzigen Bruchteil eines winzigen Bruchteils eines winzigen Bruchteils eines winzigen Bruchteils dieser Zustände als funktionierende Lebewesen interpretieren kann.
      Auf der Erde gibt es etwa 1 Billion Artenhttps://www.nsf.gov/news/news_summ.jsp?cntn_id=138446, nehmen wir an, es gibt eine Billion Mal mehr potenzielle Arten, die derzeit nicht existieren, und pro Art eine Billion Varianten. Selbst wenn man großzügig noch einmal mit einer Billion multipliziert, bleibt laut Wolfram Alphahttps://www.wolframalpha.com/input?i2d=true&i=Divide%5BPower%5B2%2C3.2Power%5B10%2C7%5D%5D%2Ca+trillion+trillion+trillion+trillion%5D++a+percent+of+a+percent+of+a+percent+of+a+percent ungefähr ein Fehlerspielraum von 10 hoch 10 Millionen.
      „Ungefähr“ heißt hier so etwas wie: Ein Gebirge ist ungefähr wie grobes Schleifpapier. Aber es ist so rund, dass man gar nicht anders kann, als zu runden.
    • Dass man ein Lebewesen allein mit DNA replizieren könne, ist ein Missverständnis. Damit ein neues Lebewesen entsteht, braucht es auch die biologische Grundlage des Embryos, die von den Eltern weitergegeben wird — also biologische Infrastruktur.
    • Vor ein paar Tagen gab es auf HN einen Beitrag, der sich gegen die Sichtweise aussprach, DNA als Code und Zellen als Computer oder Maschinen zu betrachten.
      https://www.nature.com/articles/d41586-024-00327-x
    • Leben, das allein aus DNA im Vakuum erzeugt wird, wäre vermutlich ziemlich langweilig. Das gesamte Leben braucht eine Umgebung, mit der es interagieren kann, und derzeit haben wir nur eine solche Umgebung; Einmaliges lässt sich schlecht komprimieren.
      Und wenn man sich die Mandelbrot-Menge noch einmal ansieht, steckt auch in einem ziemlich einfachen Prozess eine enorme Menge an Information.
      Um den Eindruck dieser 256 Byte zum Schluss etwas zu relativieren: Man muss auch berücksichtigen, dass dafür unterstützende Hardware und Software nötig sind. Diese 256 Byte würden auf einem C64 vermutlich nicht dieselbe Illusion erzeugen.
    • Es könnte auch ein 4-MB-Seed für einen Zufallszahlengenerator sein.
  • Wenn ich mir das ansehe, dreht der Systemlüfter meines 5560U auf 100 % hoch :-)

  • Kann mir jemand erklären, was ich in diesem Kurzfilm sehe? Ich sehe eine Schwarzweiß-Animation mit sich bewegenden Kästen und verrauschten Linien, aber ich verstehe die Bedeutung nicht.

    • Genau das ist der Film.
      Das Erstaunliche ist, wie klein die Dateigröße ist: 256 Byte.
      Um zu erklären, wie beeindruckend das ist: Der ganze Film ist etwa 58-mal kleiner als ein Screenshot des ersten Frames. Auf eine 1,44-MB-Diskette würde der komplette Film mehr als 5.000-mal passen, und es wäre immer noch Platz übrig.
      Normale Videos bestehen aus vielen Bildern und Informationen darüber, welcher Teil eines Bildes wohin wandert.
      Dieser Film enthält jedoch keine Bilddaten. Er enthält nur ein wenig Mathematik, die im Lauf der Zeit Kästen mit unterschiedlicher Helligkeit zeichnet.