DIY-Projekt: Doom läuft auf In-Ear-Kopfhörern

Doom läuft jetzt nicht mehr nur auf Kühlschränken und Satelliten im All. Auch drahtlose In-Ear-Kopfhörer können Doom abspielen. Das Ganze ist sogar auf der Webseite des Fans und Entwicklers Arin-s spielbar. Doombuds heißt das Projekt(öffnet im neuen Fenster) , in dem der Klassiker von 1993 auf Earbuds portiert und spielbar gemacht wurde.
Als Hardwaregrundlage wählte Arin-s die Pinebuds Pro(öffnet im neuen Fenster) aus. Das sind einige der wenigen Earbuds, die mit einer quelloffenen Firmware arbeiten und leistungsfähig genug für Doom sind. Die In-Ears verwenden einen BES 2300YP als SoC, 992 KByte SRAM und 4 MByte Flash-Speicher. Dooms Quelltext musste im Vorfeld also komprimiert und angepasst werden, da es normalerweise mindestens 4 MByte RAM benötigt. Hier wurden Variablen zu Konstanten umgewandelt und etwa das Caching System des Spiels deaktiviert. Auch die CPU wurde von 100 auf 300 MHz übertaktet.
Damit allein ist das Spiel aber noch nicht nutzbar. Die Bildschirmausgabe könnte etwa mittels Bluetooth erfolgen. Das ist allerdings bekannt dafür, nicht besonders stabil zu laufen. Realistisch wären hier etwa nur 1 MBit/s. Arin-s entschied sich deshalb für eine Serial-Bridge mit konstanten 2,4 MBit/s Transferrate und die sich über die UART-Kontaktpads mit den Earbuds verbinden kann.
Von UART über Twitch
Mit weiterer Bildkompression kann so ein MJPEG-Stream mit etwa 22 fps Bildrate übertragen werden. Das sollte für Doom ausreichen, löst aber noch immer nicht das Problem der Bildausgabe. Arin-s leitet das Signal an einen Twitch-Stream weiter, der auf der Doombuds-Webseite eingebettet ist. So werden Kosten für Upload-Traffic vermieden.
Interessenten können das Spiel hier jeweils für eine Minute spielen, bevor sie sich wieder in einer Queue für eine weitere kurze Session einreihen müssen. Die Webseite überträgt dabei Bewegungs- und Aktionseingaben der Clients an den Server und lässt Doom-Guy dadurch laufen und schießen – mit merklicher Eingabeverzögerung.
Arin-s hat sein Projekt und besonders den Quellcode(öffnet im neuen Fenster) für das angepasste Doom auf Github quelloffen bereitgestellt. Interessenten können so ihre eigenen Doom-Projekte realisieren oder einfach nur nachvollziehen, wie ein Egoshooter wie Doom auf In-Ear-Kopfhörern läuft.



