Ein ganzes Videospiel auf einem QR Code?

Computerspiel als QRCode? JA. QRCover Handyhüllen erklärt wie.

In vorherigen Blog-Posts haben wir bereits erläutert, was mit einem QR Code alles möglich ist: Neben simplem Text ("Hallo") und einfachen URLs ("https://qrcover.de"), ist es eben auch problemlos möglich, eine digitale Visitenkarte, einen Standort, ein Kalendereintrag, WLAN Zugangsdaten oder eine vorgefertigte E-Mail, SMS oder WhatsApp Nachricht in Form eines QR Codes zu kodieren.
Der Technik Youtuber MattKC ist in einem Video allerdings einen Schritt weiter gegangen und hat sich gefragt, ob es eigentlich rein technisch möglich wäre, ein ganzes Computerspiel in einem QR Code zu kodieren, welches dann von einem Smartphone gelesen und abgespielt werden kann. 

Was ein QR Code kann. Und was eigentlich nicht.


Angesichts der inhärenten Kapazitätsgrenze von QR Codes und der eher umfangreichen Komplexität des Quellcodes für Computerspiele erscheint dieses Ziel zunächst sehr ambitioniert bis unmöglich. QR Codes können zwar verschiedene Größen annehmen und neben Text eben auch binäre Daten von bis zu 2,88 Kilobytes kodieren, dennoch sind QR Codes vom Design her eigentlich darauf ausgelegt, kleinere Datenmengen schnell und unkompliziert für Maschinen lesbar zu machen

Um das ganze einmal in Perspektive zu setzen: 1 Kilobyte (KB) entspricht in etwa ein halben Din A4 Seite Text. Ein mit dem iPhone aufgenommenes Bild im JPEG-Format hat hingegen etwa 2 MB - also 2000 KB - weshalb man auch nur über Umwege ein Bild in einem QR Code verstecken kann

Doch zurück zum Computerspiel: Die Herausforderung ist also, den Code für ein simples Videospiel unter knappen 3 KB zu halten. Obwohl es definitiv möglich ist, sehr grundlegende Videospiele mit sehr wenig Code zu schreiben, muss gesagt werden, dass es für ein derartiges Vorhaben unabdingbar ist, den Quelltext für das Videospiel in einer maschinennahen Programmiersprache wie C oder sogar Assembly zu schreiben. 

Wie MattKC Snake in einen QRCode programmiert.

Im besagten Video von MattKC versucht der Autor also, den Handyspielklassiker Snake in C nachzuprogrammieren und dabei die Größe der ausführbaren Datei unter dem besagten Limit von 2,88 KB zu halten. 
Dabei ist anzumerken, dass MattKC, auf Grund der Restriktionen und Funktionsweise der Betriebsysteme, bewusst keine Android oder iOS Applikation, sondern eine reine ausführbare Windowsdatei (sog. Executable oder .exe) programmiert. Diese soll dann eben in ihrer binären Form in einem QRCode kodiert werden und über ein Bild oder idealerweise die Webcam eines Computers eingelesen und ausgeführt werden können. 

Ohne zu sehr auf die technischen Feinheiten beim Schreiben und Kompilieren von C-Code einzugehen, schaffte es der YouTuber schlußendlich, ein vollfunktionsfähiges, wenn auch grafisch eher einfach gehaltenes Snake-Spiel (aber hey, das ist ja grade das Markenzeichen von Snake ;) zu schreiben und unter 2,88 KB Dateigröße zu kompilieren

Mittels dem Kommandozeilenprogramm qrencode konnte er dann auch relativ simpel ein QR Code generieren, welcher eben den Quelltext des Spiels enthält:

Snake Computerspiel für Windows in einem QRCode
WOW. Der oben gezeigte QR Code sollte nun also mittels einem QR Code Leser aus Windows, wie ZBar, lesbar und ausführbar sein. Et voilà, im Testlauf von MattKC konnte er tatsächlich das programmierte Snake Spiel aus dem generierten QR Code auslesen und ausführen. Mit im paar Hürden und Codemodifikationen konnte er schlußendlich den auf Papier gedruckten QRCode sogar mit einer Webcam auslesen.

Zusammenfassend sehr beeindruckend, wie MattKC die technischen Details hinter QRCodes, ausführbaren Dateien und QRCode Leseprogrammen erläutert und Limitierungen gekonnt umgeht. Sicherlich ist es nicht Sinn und Zweck von QR Codes, als Speichermedium für Dateien zu fungieren, dennoch ist das Projekt von MattKC ein spannendes Diskurs für alle, die sich für technische Spielereien und Feinheiten interessieren. 
Natürlich konnten wir es nicht lassen, das Snake Spiel von MattKC als QR Code auf eine unserer Handyhüllen zu drucken:
Snake Spiel als QRCode auf eine Handyhülle drucken

Wie kann eine Handyhülle von QRCover deinen Alltag verbessern?

Probier doch selbst einmal aus, was man mit einem QR Code auf einer Handyhülle alles machen kann, und welche alltäglichen Probleme man so beispielsweise lösen könnte! Mit unserem Handyhüllenkonfigurator mit integriertem QRCode Generator kannst Du dir eine individuelle Handyhülle für iPhone oder Samsung gestalten und drucken lassen.

Den gesamten Artikel über das Projekt von MattKC findet ihr hier.