Page 1 of 1

Unreal Engine 3: Epic Citadel in HTML5

Unread postMessage posted...: Fri 3. May 2013, 22:22
by Thomas
Epic Games hat eine HTML5-Version seiner auf der Unreal Engine 3 basierenden Demo Epic Citadel veröffentlicht. Dank WebGL und asm.js läuft Epic Citadel mit hoher Framerate direkt und ohne jegliche Plugins im Browser.

Auf der GDC im März 2013 haben Epic Games und Mozilla erstmals eine HTML5-Version der Unreal Engine 3 gezeigt, die direkt im Browser läuft. Nun steht eine HTML5-Version der Demo Epic Citadel im Netz bereit, so dass jeder ausprobieren kann, wie das Ganze auf dem eigenen Rechner läuft. Bei einem ersten Durchlauf des Benchmarks kamen wir auf einem Macbook Air 13 Zoll mit einem Core i5 mit 1,8 GHz aus Mitte 2012 bei einer Auflösung von 1.920 x 1.080 Pixeln unter Firefox 23a1 (Nightly Build) auf einen Wert von rund 47 Bildern pro Sekunde.

Die HTML5-Version von Epic Citadel ist mit Hilfe von WebGL und Javascript umgesetzt und soll prinzipiell in jedem Browser laufen, der diese Techniken unterstützt. Wirklich rund läuft das Ganze derzeit aber nur in einem aktuellen Nightly Build von Firefox. In Chrome kommt es noch zu Abstürzen, die Google aber beseitigen will. In Opera und Safari, wo sich WebGL manuell aktivieren lässt, funktioniert die Demo derzeit noch nicht und der Internet Explorer unterstützt WebGL derzeit nicht.

Epic Citadel basiert auf der Unreal Engine 3, die in C++ geschrieben ist. Der Code wurde mit Hilfe von Emscripten in Javascript umgewandelt, so dass die Spiele-Engine direkt im Browser ausgeführt werden kann. Dabei kommen die unter dem Namen asm.js von Mozilla entwickelten Javascript-Erweiterungen zum Einsatz, mit denen sich die Ausführung von Javascript-Code deutlich beschleunigen lässt.

Bislang unterstützten nur die aktuellen Nightly Builds von Firefox asm.js, der damit erzeugte Code läuft aber auch in anderen Browsern, nur eben um den Faktor 4 bis 8 langsamer. Laut Mozilla soll asm.js dafür sorgen, dass Javascript mit etwa der halben Geschwindigkeit von nativem Code ausgeführt wird. In erster Linie geht es dabei um Code, der automatisch erzeugt wird, wie beispielsweise durch Emscripten.

Die 3D-Darstellung wird über WebGL abgewickelt, das auf OpenGl ES 2.0 basiert, so dass die Hardwarebeschleunigung der GPU genutzt wird.