Ganzes Spiel in QR-Code? YouTuber macht Spieleklassiker verfügbar

Ein Spiel in QR-Code: Geht das überhaupt? Und was ist eigentlich QR-Code und wie viel kann man darin speichern?

QR-Code ist offenbar vielseitiger als gedacht - auch eine Schlange findet darin Platz. QR-Code ist offenbar vielseitiger als gedacht - auch eine Schlange findet darin Platz.

QR-Codes finden sich heutzutage an vielen Stellen. Sei es, um Adressen von Webseiten nicht mühsam in den Browser des Smartphones eingegeben zu müssen oder zum praktischen Versenden von Paketen, ohne das lästige Ausdrucken und Aufkleben der Anschrift des Empfängers. Die Anwendungsmöglichkeiten für knappe Informationen sind vielfältig.

Doch lässt sich auch ein ganzes Spiel in einen einzigen QR-Code packen? Dieser Frage ging YouTuber MattKC nun nach. Um es kurz zu fassen: Ja, es passt ein komplettes Spiel in den QR-Code, aber es gibt ein paar Limitierungen.

Dass Spiele eine Menge Freude bereiten können, auch wenn sie nicht viel Platz verbrauchen, beweisen Indieperlen wie Rimworld oder das sehr ähnliche Songs of Syx:

Was ist ein QR-Code?

Werfen wir zunächst einen Blick auf den QR-Code selbst. Was ist das überhaupt und wie viel Information kann darin gespeichert werden?

Das QR in QR-Code steht für »Quick Response«, was zu deutsch »schnelle Reaktion« heißt. Entwickelt wurde der zweidimensionale Code 1994 von der japanischen Firma Denso Wave. Er diente ursprünglich der Markierung von Komponenten für die Logistik des Automobilherstellers Toyota.

Fünfhundertmal kleiner als Diskette: Klassischer QR-Code ist stets quadratisch, die drei kleinen Quadrate in den Ecken dienen dem Scanner zur Orientierung. Das schwarz-weiße Codemuster kann als Version 40 (177x177 Elemente) maximal 2.953 Byte an Information beinhalten. Zum Vergleich: Auf eine 3,5-Zoll-Diskette mit einer Kapazität von 1,44 Megabyte (1.440.000 Byte) passt QR-Code Version 40 fast 500mal.

Was für ein Spiel könnte auf QR-Code passen?

MattKC hat sich dazu des lizenzfreien Computerspiel- und Handy-Klassikers »Snake« bedient. Die namensgebende, sich bewegende Schlange muss dabei manövriert werden und schlicht alles fressen, was sich auf dem Bildschirm befindet. Der Clou daran: Sie wächst mit jedem Happen und darf sich nicht selbst berühren.

Der YouTuber hat sich für die QR-Code-Version von Snake eine Hürde auferlegt. So sollte das Spiel nicht in HTML und JavaScript erstellt werden, da es dazu einen Browser benötigt, sondern in C als eigenständige, ausführbare Datei (.exe) - sieht man von Programmbibliotheken ab.

Auf welche Probleme MattKC dabei stieß, könnt ihr euch im Detail in seinem Video ansehen:

Link zum YouTube-Inhalt

Zusammengefasst: Die Größe von maximal 2.953 Byte sollte sich als Problem erweisen. Der Versuch, anstelle der Programmiersprache C in Assemblersprache zu programmieren, schlug aufgrund mangelnder Erfahrung fehl.

Assembler ist dem Maschinencode näher als C und kann daher eingesetzt werden, um besonders effizient und sparsam zu programmieren. Assemblercode muss seinerseits jedoch in Maschinensprache übersetzt werden, dafür wird der gleichnamige Assembler benötigt.

Die C-Programmiersprache wir vom Compiler ebenfalls in Maschinensprache übersetzt, der Assembler ist dabei meist in den Compiler integriert. Der Zwischenschritt des maschinellen Kompilierens ist jedoch ineffizienter als direkt in Assemblersprache zu programmieren.

Um Snake dennoch in die gewünschte Größe zu bekommen, musste am Ende die Kompressionssoftware Crinkler herhalten, die besonders gerne für kleine Demos verwendet wird.

Vom Ergebnis könnt ihr euch selbst überzeugen. Den QR-Code samt Anleitung stellt MattKC bereit:

  • Zbarcam downloaden und entpacken
  • Datei Read Snake From QR.bat öffnen
  • Den QR-Code mit der Webcam scannen

Nun sollte sich der Scanner schließen und Snake automatisch starten. Wir haben es erfolgreich getestet und uns dabei keinen Virus eingefangen. Doch wie immer gilt: Benutzung auf eigene Gefahr.

Boot Sector Games

Übrigens: Es gibt spezielle Spiele, die ganz besonders klein sind. Sogenannte »Boot Sector Games« finden auf dem Bootsektor eines Mediums, also beispielsweise einer 3,5-Zoll-Diskette, Platz. Der YouTube-Kanal »The 8-Bit Guy« hat hierzu ein spannendes Video veröffentlicht:

Link zum YouTube-Inhalt

zu den Kommentaren (6)

Kommentare(6)
Kommentar-Regeln von GameStar
Bitte lies unsere Kommentar-Regeln, bevor Du einen Kommentar verfasst.

Nur angemeldete Benutzer können kommentieren und bewerten.