Professionelle Entwicklung von Browsergames mit der Game Engine für das Web! Inspiriert durch professionelle Frameworks der Spieleindustrie vervielfacht die Aves Engine Qualität und Entwicklungsgeschwindigkeit
Die Aves Engine ist eine professionelle Middleware zur Erstellung webbasierender Spiele in 2D oder 2.5D (isometrisch). Dabei wird nur der Open Web Stack genutzt, d.h. HTML, CSS und JavaScript. Mit der Aves Engine können Spielehersteller atemberaubende Produktionen erstellen auf Desktop und für mobile Platformen. Auch wenn die Aves Engine an professionele Game Engines aus der PC- und Konsolenwelt angelehnt ist, nutzt sie sehr viele Paradigmen, die zu berücksichtigen sind, wenn man die Stärken des Webs für seine Produkte ausnutzen will.
Einige Highlights stellen wir im Folgenden vor.
Schaut man sich heute browsergames an, sollte der folgende Screenshot keine Seltenheit sein. Viele Spiele, ob flash- oder html-basierend verwenden nur einen kleinen Teil der tatsächlich zur Verfügung stehenden Auflösung des SpielerMonitors. Die Spiele sind oft nur wenige hundert Pixel breit und dann zusätzlich mit User Interfaces und Artwork eingerahmt. Auf heute üblichen Monitorgrößen sieht dies ziemlich seltsam aus, oder?

Wären solche kleinen Spielflächen auf 15" Monitoren noch tolerierbar, kann man heute damit technisch beim Spieler sicher nicht mehr punkten. Schauen wir uns mal die Auflösungsstatistik auf dextrose.com:

Versetzen wir uns doch kurz in die Rolle eines Konsolenspielers, der das neuste Hitspiel in sein System einlegt und auf einmal einen Spielbereich vorfindet der nur einen winzigen Teil seiner Fernsehers ausfüllt. Das wäre wirklich grausam, oder? Warum müssen Browsergames solchen Restriktionen unterliegen?
Wir wollten schon immer eine andere Spieleerfahrung im Web ermöglichen. Dynamisch skalierbare Spielbereich, gerne auch im Vollbildmodus. Mit der Aves Engine ist uns das gelungen. Sie kümmert sich automatisch um den darzustellenden Spielebereich je nach Präferenz des Users. Vergrößert er das Browserfenster, skaliert das Spiel automatisch mit – gerne auch über zwei Monitore hinweg. Das wir trotzdem keine großen Performanceeinbrüche hinnehmen müssen, zeigt unser aktuelles Prototypenvideo.

Wir hatten bereits in unserem ersten Prototypenvideo sogenannte Action Surfaces demonstriert. Das Potential dieser von uns entwickelten Technik konnten wir erheblich ausbauen. Action Surfaces sind einer der integralen Bestandteile der Aves Engine und unglaublich nützlich.
Zunächst, was sind Action Surfaces? Bekanntlicherweise ist das Fundament der Web 2.0-Idee der Austauch und das Veteilen von Daten über zugängliche APIs. Als Webdesigner hat man heute die Möglichkeit aus tausenden solcher APis Daten mit wenigen Zeilen Code in die eigene Webseite zu integrieren, z.B. Flickr-Fotos, Youtube-Videos, Kartenmaterial von Google Maps, usw.
Mit der Aves Engine können diese und eigene Daten nun mit wenigen Mausklicks in Spiele integriert werden!
Will man etwa Videos auf einen Fernseher anzeigen, ist dies in wenigen Sekunden erledigt. Der Aves Engine wird im Editor lediglich mitgeteilt, dass ein Objekt auf einer beliebig großen Fläche eine Action Surface enthalten soll und damit bereit ist, an dieser Stelle Daten auszugeben.
Alles funktioniert mit Drag’n’Drop. Die Gamedesigner werden erfreut sein, wir versprechen es!

Ist die Action Surface erstmal angebracht, wählen wir nur noch ein Widget unserer Wahl aus. Das kann eine öffentliche API sein wie etwa Flickr, aber natürlich auch eigene Schnittstellen oder Daten die vorbereitet wurden. Per Drag’n’Drop wurde die Action Surface nun aktiviert.

Wir sind fertig. Bei diesem Vorgang wurde keine einzige Zeile Code geschrieben.

Auch das Erstellen und Integrieren dieser Widgets ist erstaunloch simpel. Wir haben uns wirklich bemüht die Einbettung so einfach wie möglich zu gestalten und eine flexible aber leicht zu verstehende API integriert.
Wenn man darüber nachdenkt, sind die Möglichkeiten endlos und die Einbindung völlig problemlos. Als Bonus sei gesagt, dass man ein solches Feature sehr wahrscheinlich nie einer anderen Middleware finden wird, die etwa auf Flash oder Unity3D setzt.
In unserem ersten Video zeigten wir bereits einen einfachen Editor um die Außenwelt zu gestalten. Editoren sind genaugenommen einer der aufwändigsten Teile eines Spiels, sofern überhaupt welche programmiert. Stehen sie aber erst mal zur Verfügung, sparen sie unendlich viel Zeit für Programmierer und Gamedesigner um schnell Szenen zu erstellen oder zu ändern bzw um neue Sachen auszuprobieren.
Wir haben auch hier bereits die Voraussetzungen für flexibile Tools geschaffen, die den eigenen Wünschen angepasst werden können.

Dieser Editor beinhaltet gleichzeitig das Asset Management. Tiles und Objekte können ausgewählt, editiert und in die Welt gesetzt wer den. Verschiedene Eigenschaften werden ebenfalls im Editor eingestellt.

Während wir in unserem Prototypen diesen Editor für administrative Zwecke einsetzen, würde man auch viele Anwendungsbereiche für Spiele finden, etwa eine intuitive Möglichkeit ein Haus mit Möbeln einzurichten.
Der Editor überprüft welche Objekte für eine bestimmte Instanz im Spiel verfügbar sindd. Im Haus werden etwa Möbel bereitgestellt, in der Außenwelt Bäume und Häuser.

In der professionellen Spieleentwicklung geht es seit Dekaden um Performance. Diese goldene Regel aus der Spieleindustrie ist bis heute nicht bei allen Browsergamesherstellern angekommen. Dies ist einer der Hauptgründe warum praktisch jedes Browsergame auf etwas schwächeren Plattformen, z.B. Smartphones oder dem iPad unspielbar langsam sind.
Performance steht in unserer Prioritätenliste mit weitem Abstand auf Platz 1. Wir sollten ein wirklich gutes Spieleerlebnis auf allen Plattformen erreichen.
Welches Browsergame fällt einem ein, wenn wir ein Spiel suchen, in dem gleichzeitig viele animierte Charakteren in einem Bildschirmausschnitt interagieren? Egal ob man bei Flashgames oder HTML-basierenden Spielen sucht, man wird möglicherweise keine handvoll Spiele finden, bei denen mehr als 20 Charaktere sichtbar sind, oft wird das ganze Geschehen dann auch sehr langsam, wenn ein gewisses Limit erreicht wurde – auf Smartphones wird die Angelegenheit dann schnell unspielbar.

Mit vielen technischen Innovationen sind wir in der Lage hunderte von animierten Charakteren in einem einzigen Bildschirmausschnitt herumlaufen zu lassen ohne die Spielbarkeit zu beeinflussen. Selbst auf Smartphones und iPad sind 10-20 Charaktere durchaus möglich. Dies ist ein Riesenschritt im Vergleich zu allen verfügbaren Browserspielen bis dato.
Wie bereits angedeutet, konnten wir gerade für mobile Endgeräte sehr stark optimieren, d.h. webkitbasierte mobile Browser wie sie etwa im iPhone, iPod Touch, iPad und Android-basierenden SmartPhones verwendet werden, werden von der Aves Engine unterstützt. Diese Optimierungen waren eine sehr große Herausforderung und es nicht schwierig an den Limitierungen dieser Geräte zu scheitern. Dennoch, wir waren erfolgreich und für Spielehersteller bedeutet dies, dass die Aves Engine Browserspiele auch auf mobilen Endgeräten ermöglicht!

Wir befinden uns noch in einem sehr frühen Stadium der Aves Engine-Entwicklung. Neben der Middleware-Entwicklung arbeiten wir parallel an unserer Referenzimplementierung, der Aves Community. Wir demonstrieren heute schon gerne funktionierende Prototypen interessierten Game Studios und Publishern.
Ein marktreifes Produkt sehen wir erst in 2011. Erste ausgewählte Partner werden bereits etwas früher eine Möglichkeit erhalten, im Rahmen einer Koproduktionsvereinbarung, Aves-Technologie einzusetzen.