// TECH //

Warum ein Browserspiel in Sekunden startet

Was wirklich passiert, während du wartest

Wenn du bei einem Webspiel auf Spielen klickst, wird nichts installiert. Das ganze Spiel muss über das Netz reisen und einen Moment später laufen. In dieser Lücke passieren vier Dinge, und jedes davon kostet Zeit.

Der Browser lädt die Dateien herunter. Er liest sie und arbeitet heraus, was das Programm sagt. Er übersetzt das in Anweisungen, die dein Prozessor ausführen kann. Erst dann zeichnet das Spiel seinen ersten Frame.

Jeder dieser Schritte wird langsamer, je größer das Spiel wird. Das Nützlichste, was ein Webspiel also sein kann, ist klein.

Der Teil, den wir dir nie schicken müssen

Ein Spiel, das in einer großen Engine gebaut ist, muss die Engine mitliefern. Bevor irgendetwas auf dem Bildschirm erscheint, zieht der Browser einen Renderer, ein Physiksystem, ein Audiosystem und eine Skriptschicht herunter, fährt das alles hoch, und lädt erst dann das eigentliche Spiel obendrauf. Das ist eine Menge Maschinerie, die bewegt werden muss, bevor jemand eine Taste drücken darf.

Unsere Webspiele überspringen das, weil der Browser die Engine bereits ist. Er hat eine JavaScript-Engine eingebaut. Er hat eine 2D-Zeichenfläche eingebaut. Er hat WebGL, also direkten Zugriff auf dieselbe Grafikhardware, die ein Desktop-Spiel benutzt. Er hat ein Audiosystem, das Klang aus reiner Mathematik bauen kann. Nichts davon wird heruntergeladen. Es liegt auf deinem Rechner, seit du den Browser installiert hast.

Ein Spiel, das direkt gegen diese eingebauten Teile geschrieben ist, hat nichts hochzufahren. Unsere erste Codezeile läuft, und der Renderer, den sie will, ist schon warm.

Grafik, die Code ist statt Dateien

Die andere Hälfte der meisten Downloads ist die Grafik: Texturen, Modelle, Musik, Soundeffekte. In fast jedem Spiel wiegen die weit mehr als das Programm selbst.

Deepwick geht den umgekehrten Weg, so weit er trägt. Es enthält überhaupt keine Bilddateien und keine Audiodateien. Jede Wand, jede Glut und jedes Flackern der Flamme wird aus Formen und Verläufen gezeichnet, während du spielst, und jeder Ton wird vom Browser in dem Moment gebaut, in dem du ihn hörst. Das fertige Spiel ist komprimiert rund zwanzig Kilobyte groß. Das ist kleiner als ein einzelnes Foto auf den meisten Webseiten.

Nicht jedes Spiel kann das. Void Daggers braucht eine komplette 3D-Arena. AISLE 7 braucht einen Supermarkt voller Modelle. Die sind schwerer, und wir planen damit. Aber der Instinkt trägt durch alle: Wenn eine Sache billiger in Code zu beschreiben ist als in einer Datei zu speichern, beschreiben wir sie in Code.

Nur bauen, was der erste Frame braucht

Es gibt noch eine Ersparnis, und sie kommt daher, dass wir uns weigern, "das Spiel ist bereit" mit "alles im Spiel existiert" zu verwechseln.

Moon Miner erzeugt nicht seinen ganzen Mond, bevor es dich graben lässt. Es baut die erste Schicht Fels und legt los. Alles darunter wird in den freien Momenten zwischen den Frames gebaut, immer deinem Bohrer voraus, sodass du nie darauf wartest und nie merkst, dass es passiert. Bis du dich durch die oberste Schicht gefressen hast, ist die nächste still und leise fertig erfunden.

Das Prinzip lässt sich verallgemeinern. Ein Ladebildschirm muss nur den ersten Frame liefern. Alles, was der erste Frame nicht braucht, kann später gemacht werden, während du schon spielst.

Wie das Budget das Spiel formt

Gib dir ein kleines Größenbudget, und es hört auf, eine Beschränkung für die Grafik zu sein. Es wird zum Design-Briefing. Generierte Welten sind keine clevere Verzierung mehr, sie sind der billigste Weg zu einer großen Welt. Klang aus Wellenformen ist kein Kompromiss, sondern der Weg, hundert Varianten eines Schritts aus dem Nichts zu bekommen.

Das meiste, was diese Artikel beschreiben, ist aus diesem Druck entstanden. Der Mond wird berechnet statt gespeichert, weil das Speichern einen Download kosten würde. Die Höhlen von Deepwick werden aus demselben Grund berechnet. Void Daggers baut seine Oberflächen zur Laufzeit, statt Texturen mitzuliefern. Das Warten, das du am Anfang nicht hast, wurde mit Entscheidungen tief im Inneren jedes Spiels bezahlt.

▶ Spiel ein Spiel im Browser