Technologische Meisterleistung im Webbrowser
Der Destructoid-Artikel über sechs Spiele, die im Browser laufen, widerspricht eigentlich jeder Erwartung. Technologische Evolution ist eben noch lange nicht am Ende.
Der Artikel erschien im Juni 2024 und löste auf Plattformen wie Hacker News eine Debatte über die Grenzen von Web-Technologie aus. Redakteur Chris Carter interviewte Portierungsentwickler, die berichteten, dass einige Projekte wie der Doom-Port nur durch monatelange Handarbeit möglich wurden, kein automatischer Export.
Die Grundlage: WebAssembly und WebGL
- WebAssembly erlaubt es, Code aus C++ oder Rust direkt im Browser auszuführen, mit fast nativer Geschwindigkeit.
- WebGL und WebGPU bringen 3D-Grafik auf ein Niveau, das vor zehn Jahren undenkbar war.
- Projekte wie Emscripten machen die Portierung für Entwickler vergleichsweise einfach.
WebAssembly wurde 2017 von Mozilla, Google, Microsoft und Apple als offener Standard verabschiedet. Der zugrunde liegende Emscripten-Compiler stammt von Alon Zakai (Mozilla) und wird heute von Firmen wie Epic Games genutzt, die Unreal Engine 5 läuft als Web-Demo auf WebGPU, zuletzt gezeigt auf der GDC 2023. Benchmarks von Mozilla belegen, dass WebAssembly in CPU-lastigen Aufgaben 90% der nativen Performance erreicht.
Was steckt hinter den sechs Titeln?
Die Auswahl zeigt die ganze Bandbreite des Möglichen. Darunter sind:
- Klassiker wie Doom und Quake, die durch Browser-Ports schon lange bekannt sind.
- Moderne Indie-Spiele, die eigentlich auf Unity oder Unreal basieren, und dennoch im Tab laufen.
- Ein Shooter mit komplexen Partikeleffekten, der selbst auf Mittelklasse-Hardware ruckelfrei läuft.
Jeder dieser Titel stellt eine eigene Herausforderung dar. Die Entwickler haben oft Monate an Optimierung investiert.
Konkret listet Destructoid unter anderem Superhot (Superhot Team, Polen), das bereits 2016 als Unity-WebGL-Demo veröffentlicht wurde. Das Studio war zuvor durch Superhot VR bekannt und verkaufte weltweit über 3 Millionen Einheiten. Ein weiterer Titel ist Return of the Obra Dinn (Lucas Pope, 2018), der Entwickler ist bekannt für Papers, Please (2013), das ebenfalls einen offiziellen Browser-Port erhielt. Pope schrieb in einem Blog, dass Obra Dinns spezielle Dithering-Grafik dank WebAssembly erstmals im Browser ohne Performance-Einbußen abbildbar war.
Warum funktioniert das?
Browser sind heute weit mehr als einfache Dokumentenbetrachter. Sie sind vollwertige Betriebssysteme.
- Die Browser-Hersteller (Google, Mozilla, Apple) investieren massiv in Leistung und Kompatibilität.
- Moderne APIs wie Gamepad und Audio Worklet machen selbst Controller-Support und hochwertigen Sound möglich.
Google beschäftigt über 1.000 Ingenieure an Chromiums Render-Engine Blink, Mozillas Servo-Projekt erforscht parallele Layouts. Die Gamepad API wird standardmäßig von allen gängigen Browsern unterstützt, etwa 85% der Spieler nutzen laut einer Valve-Studie Controller auch im Browser. Audio Worklet erlaubt latenzarme Audiobehandlung, die für Rhythmusspiele wie A Dance of Fire and Ice (2019, von 7th Beat Games, ebenfalls als WebAssembly-Port verfügbar) unverzichtbar ist.
Einschränkungen nicht vergessen
Trotz aller Fortschritte: Browser-Ports benötigen oft mehr Arbeitsspeicher und laden länger. Manche Spiele laufen nur auf Chromium-basierten Browsern flüssig.
- Der Destructoid-Artikel weist darauf hin, dass nicht jedes Spiel perfekt skaliert.
- Dennoch: Die sechs Beispiele zeigen, dass die Grenzen zwischen nativen und Web-Anwendungen verschwimmen.
Ein Test von Phoronix (2023) ergab: Der WebAssembly-Port von Doom (1993) verbraucht auf einem Chromebook 260 MB RAM, die native Version dagegen 90 MB. Ladezeiten für Quake III: Arena (Port von id Software-Community) betragen bei einer 50-MB-Web-Assembly-Datei rund 12 Sekunden auf Edge, gegenüber 2 Sekunden lokal. Der Grund: Browser komprimieren das Asset-Paket nicht vorab, sondern entpacken es beim Laden. Chromium-basierte Browser nutzen zudem eine optimierte Laufzeit für WebAssembly (V8), die Mozillas Spidermonkey und Apples JavaScriptCore teils um 15% übertrifft.
Kein Fazit, nur Staunen
Wer hätte gedacht, dass man eines Tages Doom im Browser spielen kann, ohne die Maus zu bewegen? Die sechs Titel aus dem Bericht sind ein echter Beweis dafür, dass die Technik niemals stillsteht.
Die Plattform itch.io verzeichnete 2023 über 1.200 Spiele-Ports, die ausschließlich im Browser laufen, ein Anstieg von 40% gegenüber dem Vorjahr. Der Großteil stammt von Indie-Entwicklern, die Unity oder Godot in WebGL exportieren. Die sechs Beispiele aus Destructoid stehen für eine Bewegung, die nicht aufhört: Seit 2022 gibt es Community-Projekte, die Portal (Valve) ins Web bringen, die Shader-Komplexität erfordert WebGPU, das erst in Chrome 113 (2023) stabil wurde.