3D-Grafik
Ein begehbarer 3D-Raum im Browser: ein Experiment mit Grafik und Interaktion, um zu sehen, was mit WebGL ohne externe Spiel-Engines möglich ist.
Dieses Experiment entstand aus einer einfachen Frage: wie zugänglich ist es heute, eine begehbare 3D-Umgebung zu bauen, ohne etwas herunterzuladen, nur mit dem, was ein moderner Browser über WebGL bietet? Die Antwort ist ein in der Ich-Perspektive erkundbarer Raum, mit Licht, Objekten und echter Perspektive, der sich in einem Tab öffnet wie jede andere Webseite.
Ein Testfeld, kein Spiel
Es ist kein richtiges Spiel und will keines sein: es ist ein technisches Testfeld. Es diente dazu, eine Reihe praktischer Fragen zu beantworten, bevor ehrgeizigere Projekte angegangen wurden — wie bewegt man eine Kamera, damit sie sich natürlich anfühlt? wie verhindert man, dass der Spieler durch Wände läuft, ohne eine fertige Physik-Engine? wie weit kann man die Szene treiben, bevor die Performance auf einem gewöhnlichen Laptop zusammenbricht? Die hier erarbeiteten Fähigkeiten sind später in die im Bereich Games des Portals veröffentlichten Spiele eingeflossen, von Helios bis Intercity HUB.
Die schwierigen Teile
Drei Probleme machten das Experiment besonders interessant. Das erste ist die Kamerasteuerung: das Umsehen und Gehen richtig anfühlen zu lassen, ist eine Frage kleiner Details — Geschwindigkeit, Trägheit, Blickgrenzen — die, wenn falsch, digitale «Seekrankheit» verursachen. Das zweite sind die Kollisionen: ohne externe Physik-Engine bedeutet zu verhindern, dass man in eine Wand rutscht, die Logik von Hand zu schreiben, die bestimmt, wohin der Körper darf und wohin nicht. Das dritte ist die Performance: die Animation auch auf bescheidener Hardware flüssig zu halten, zwingt zu Sparsamkeit bei jedem einzelnen Frame.
Warum ohne Engine
WebGL und reines JavaScript zu wählen, ohne sich auf eine schwere Grafik-Engine zu stützen, ist kein Masochismus: es ist der Weg, wirklich zu verstehen, was darunter passiert. Eine Engine verbirgt die Matrizen, die Shader, die Render-Schleife hinter bequemen Befehlen; darauf zu verzichten, wenigstens einmal, zwingt dazu, diesen Mechanismen ins Auge zu sehen — und genau das macht die spätere Nutzung der bequemen Werkzeuge bewusster. Zudem lädt der Raum ohne schwere Abhängigkeiten schnell, auch dort, wo eine megabytegroße Bibliothek ein Problem wäre.
Von hier aus
Der 3D-Raum ist eines jener Projekte, die mehr wert sind für das, was sie gelehrt haben, als für das, was sie sind: ein Ausgangspunkt, der erste Ort, an dem 3D-Grafik im Browser von einer «Kuriosität» zu einem «Werkzeug, das ich beherrsche» wurde.