Der Browser ist still und leise ein echtes Engine-Ziel geworden
Von Oleg Sidorkin, CTO von Cinevva
Vor zwei Monaten schrieben wir, dass Browser-Rendering seinen besten Monat aller Zeiten hatte, und nahmen an, es sei ein Ausreißer. War es nicht. Es war der Anfang eines Trends, und der Trend hat eine Richtung. Der Browser wird zu einem Ort, an dem du ein echtes Spiel ausliefert, nicht zu einem Ort, an den du ein kleines portierst.
Was seit März gelandet ist
Geh die Liste durch. Babylon.js 9 hat Clustered Lighting für Tausende dynamischer Lichter, volumetrisches Licht und eine komplett überarbeitete Gaussian-Splatting-Umsetzung gebracht. Three.js r184 hat HTMLTexture ergänzt, das lebendes, interaktives DOM als Textur auf eine 3D-Oberfläche rendert. PlayCanvas v2.17 hat GPU-getriebenes Gaussian Splatting auf WebGPU gebracht, mit f16-Kugelflächenfunktionen sowie Sortierung und Frustum Culling auf der GPU. Die Beta von Godot 4.7 hat wasm64-Web-Exporte ergänzt, die die alte 4-GB-Speichergrenze aufheben, dazu echte HDR-Ausgabe und Flächenlichter. Chrome 146 hat einen WebGPU-Kompatibilitätsmodus ausgeliefert, der auf OpenGL ES 3.1 und Direct3D 11 läuft, und WebGPU selbst hat den Status W3C Candidate Recommendation erreicht. Jedes Einzelne davon würde ein bemerkenswertes Quartal ergeben. Sie kamen alle in rund acht Wochen.
Aus "gut genug für eine Demo" wurde "gut genug zum Ausliefern"
Die Funktionen, die da angekommen sind, sind kein Spielzeug. Clustered Lighting ist die Art, wie du eine Szene mit Tausenden dynamischer Lichter ausleuchtest, ohne dass die Bildrate zusammenbricht. Gaussian Splatting ist die Art, wie du fotorealistisch erfasste Umgebungen bei interaktiven Bildraten in ein Spiel bekommst. GPU-getriebenes Sortieren und Culling ist der Unterschied zwischen einer Techdemo, die ruckelt, und einem Spiel, das 60 hält. Das sind die Techniken, mit denen native Engines AAA ausliefern, und sie laufen jetzt in einem Tab. Die Arbeit am Kompatibilitätsmodus zählt in die andere Richtung genauso viel. Sie bedeutet, dass WebGPU die günstige und ältere Hardware erreicht, die die meisten Spieler tatsächlich besitzen, nicht nur Entwicklerrechner mit High-End-GPU.
Wir bauen seit Längerem von Hand darauf
Wir lesen das nicht aus einer Pressemitteilung ab. Wir haben die letzte Zeit damit verbracht, eine offene Welt zu bauen, die im Browser läuft, über mehr als sechzig Spike-Experimente hinweg, von hässlichen Terrain-Grundlagen bis zu Marching Cubes auf der GPU und Streaming-LOD. Den Weg haben wir als komplette Serie und als längeren Text über die Methodik aufgeschrieben. Fast jede Funktion oben entspricht einem Problem, das wir auf die harte Tour getroffen haben. Wenn Clustered Lighting in einer verbreiteten Web-Engine landet, ist das ein Stück eigener Code, den wir löschen dürfen.
Der Einwand ist tot, die Gewohnheit nicht
"Im Browser kann man kein echtes Spiel machen" stimmte lange, und es hörte auf zu stimmen, während der Großteil der Branche gerade in Richtung KI schaute. Die technische Decke, die es rechtfertigte, zuerst einen nativen Client und einen Web-Build vielleicht-nie auszuliefern, ist gehoben. Übrig bleibt Gewohnheit. Engines, Studios und Toolchains sind weiterhin um die Annahme herum gebaut, dass der Browser das geringere Ziel ist.
Diese Annahme ist die Chance. Wir haben Cinevva auf die Wette gebaut, dass der Browser der Standardort zum Ausliefern und Entdecken von Spielen wird, nicht der Notnagel. Der Rendering-Stack hat zwei Monate damit verbracht, die Wette einzulösen. Die Studios, die ihr Denkmodell zuerst aktualisieren, bekommen eine Vertriebsfläche ohne Installationshürde und ein Publikum, das einen Klick entfernt ist. Die, die warten, portieren irgendwann dorthin, wenn alle anderen dort längst wohnen.
Verwandt:
- Browser-Rendering hatte gerade seinen besten Monat aller Zeiten — der Ausreißer, den wir für einmalig hielten
- Babylon.js 9 veröffentlicht — Clustered Lighting und Gaussian Splatting
- Three.js r184 bringt HTMLTexture — lebendes DOM als 3D-Oberfläche
- PlayCanvas v2.17 ergänzt GPU-getriebenes Gaussian Splatting — Splatting auf WebGPU im großen Maßstab
- Godot 4.7 Beta — HDR-Ausgabe, Flächenlichter, wasm64-Web-Exporte
- Chrome 146 ergänzt WebGPU-Kompatibilitätsmodus — WebGPU für ältere GPUs
- Was es braucht, eine offene Welt im Browser zu bauen — unser eigener Weg