Android-Entwicklung jenseits von Google

Seite 2: Spiele

Inhaltsverzeichnis

Es gibt kaum jemanden, der kein Spiel im Handy hat: In Analysen und Umfragen belegen Spiele so gut wie immer den Spitzenplatz. Als Beispiel seien hier die in der Abbildung gezeigten Zahlen von AppFlood gezeigt, die das Verhalten chinesischer User analysieren.

Arcade-Spiele sind populär (Abb. 6)

(Bild: http://appflood.com/appflood-wordpress/wp-content/uploads/2014/02/CNY-10-Most-Popular-Android-App-Categories.png)

Die permanente Weiterentwicklung der Hardware ging mit steigenden Ansprüchen auf Seiten der Userschaft einher. Wer heute eine akzeptable 3D-Engine im Alleingang programmiert, muss Mannjahre investieren. Im Laufe der Zeit entstanden Anbieter von "Engine-Halbzeug": Wer seine Spiele auf Basis eines derartigen Produkts aufbaut, spart Arbeitszeit.

Die im oberbayerischen Schrobenhausen ansässige Firma CIRIC ist für die Entwicklung von Embedded-Systemen bekannt. Im Rahmen ihres Consulting-Geschäfts hat sie häufig verwendete Routinen angesammelt, die das Erledigen der im Rahmen der Erstellung optisch ansprechender Benutzerschnittstellen anfallenden Aufgaben beschleunigen sollen. So entstand im Laufe der Zeit eine als CMORE 3D bezeichnete Arbeitsumgebung, die seit einiger Zeit auch am freien Markt verkauft wird.

Zum Verständnis der hinter CMORE 3D und der später noch beleuchteten Spiele-Engine Unity stehenden Logik sei ein kurzer Exkurs in die Welt der Spieleprogrammierung gewagt. Wer mit DirectX und/oder OpenGL entwickelt, realisiert die einzelnen Spielsituationen mit dedizierten Klassengruppen. Spieleengines wie CMORE 3D bilden dieses Konzept über Szenen ab. Dabei handelt es um eine Sammlung aus Grafiken, Shadern, Skripten und sonstiger Logik, die gemeinsam auf den Bildschirm gebracht werden. Fortgeschrittene Funktionen werden durch Code realisiert, der ebenfalls in die Szene wandert.

Shaderprogramme, Modelle und Logik einer Szene erscheinen gemeinsam im Editor (Abb. 7).

Der Sinn dieser Unterteilung liegt darin, dass die Handhabung komplexer Spiele so vereinfacht wird. Änderungen in einer Szene wirken sich normalerweise nicht auf ihre "Brüder" aus, was zu einer Erhöhung der Wartbarkeit führt. Bei CMORE 3D kommt an dieser Stelle C++ zum Einsatz, Skripte entstehen unter anderem in Lua.

Fertiggestellte Szenen erscheinen dank Remote Rendering ohne langwierige Kompilierung am Smartphone (Abb. 8).

Dank "Remote Rendering and Editing" lassen sich die erstellten Szenen direkt von der IDE aus auf Endgeräten rendern. So können Entwickler die Darstellung ohne Rekompilierung der nativen Applikation überprüfen, was beim Feintuning des Spiels Zeit einspart.

Als Hauptargument für die Nutzung von CMORE 3D wird die breite Plattformunterstützung angeführt. Neben Windows, Mac OS X, QNX und Linux ist das Framework auch unter iOS, Android, BlackBerry 10 und sogar am PlayBook lauffähig. Aus preislicher Sicht ist CMORE 3D attraktiv. Eine Vollversion des Produkts kostet samt IDE knapp 500 Euro pro Entwickler; eine kostenlos verfügbare Demoversion erlaubt das Testen der Features.

Hinter GameMaker steht ein Unternehmen, das auf jahrelange Erfahrung im Spielebereich zurückblicken kann. Die 1999 als 2D-Engine vorgestellte Programmierumgebung wurde im Laufe der Jahre um diverse Funktionen erweitert. Mittlerweile gibt es sogar eine 3D-Engine, die im Vergleich zur Konkurrenz allerdings eher rudimentär ausfällt.

Die hinter dem Programm stehende Grundidee ist die Reduzierung von Codeeingaben: Das Benutzer-Interface des Produkts erlaubt das Erstellen von Spielen ohne das Eingeben von klassischem Code. Events lassen sich mit Aktionen verbinden, um die Logik des Spiels zu realisieren.

Falls ein Spiel mit den Möglichkeiten des WYSIWYG-Moduls nicht auskommt, können Entwickler auf eine als Game Maker Language bezeichnete Programmiersprache zurückgreifen. Bei der Betrachtung von GameMaker muss die Verfügbarkeit von Decompilern erwähnt sein. In der Vergangenheit tauchten immer wieder Programme auf, die die von der IDE erstellten Binärdateien in den Quellcode umwandeln konnte.

GameMaker wird in drei Lizenzvarianten vertrieben. Die kostenlose Standardversion ermöglicht den Export von Spielen für Windows – iOS und andere lassen sich nicht nachrüsten. Das ist erst ab der für rund 100 Dollar erhältlichen Pro-Version möglich, wo dafür allerdings ein plattformabhängiger Obolus anfällt. So kostet der Export für Android knapp 300 Dollar, Tizen ist hingegen schon für rund 200 Dollar verfügbar. In der für etwa 800 US-Dollar verfügbaren Master Collection ist das nicht mehr notwendig.

Den besprochenen Spiele-Entwicklungs-Engines haftet der Ruf an, nur für semiprofessionelle Programmierer vorgesehen zu sein. Unitys beispielloser Erfolg hat die gesamte Branche "verjüngt": Alle etablierten Konsolenhersteller arbeiten mit dem in San Francisco ansässigen Unternehmen zusammen. Laut Marktforschern entstehen mehr als 50 aller für Smartphones entwickelten Spiele mit diesem Produkt.

Aus technischer Sicht verhält sich Unity mehr oder weniger identisch zur CMORE 3D. Spiele entstehen aus einer Gruppe von Szenen, der im Hintergrund liegende Code entsteht in C# oder JavaScript

Die Lizenzierung von Unity ist vom erzielten Umsatz und den Ansprüchen an die Engine abhängig. Wenn ein Unternehmen weniger als 100.000 Euro pro Jahr umsetzt, hat es die Wahl zwischen Unity und Unity Pro. Erstere Variante ist kostenlos erhältlich, während die mit mehr Features ausgestattete Basisversion von Unity Pro ihren Besitzer für etwa 1500 US-Dollar wechselt. Unter Android und iOS arbeitende Programmierer können auf Wunsch weitere Funktionen für die jeweilige Plattform freischalten: Auch hier sind je 1500 US-Dollar pro Lizenz fällig.

In einem als Asset Store bezeichneten Portal bieten Drittentwickler diverse Werkzeuge und Modelle an. Die hier entstehenden Kosten sind vom Investitionsvolumen abhängig: Wer seine gesamten Modelle und Soundeffekte dort bezieht, sollte mit einigen hundert Euro Mehrkosten rechnen.

Das für rund 90 US-Dollar erhältliche Add-on ShaderForge hilft beim Erstellen von Shadern (Abb. 9).