AA_PO-24781_binkski-123RF.jpg

© binkski, 123RF

Entwicklungsumgebungen für Spiele im Vergleich

Spaß-Baustellen

Die drei Game-Creation-Systeme GDevelop, Godot und jMonkeyEngine vereinfachen die Spieleprogrammierung mit passenden Bibliotheken, den sogenannten Engines, und passenden Entwicklerwerkzeugen. So erstellen Einsteiger wie Fortgeschrittene im Handumdrehen schicke Spiele.

In den Entwicklungsumgebungen GDevelop, Godot und jMonkeyEngine müssen Sie zur Spieleprogrammierung lediglich ein paar Grafiken importieren, diese mit der Maus zu einem netten Level arrangieren, dann in einem komfortablen Editor etwas Programmcode hinterlegen und schließlich mit einem Knopfdruck das fertige Spiel erzeugen. Eine spezielle Bibliothek, die sogenannte Engine, erleichtert dabei die Programmierung. Sie vereinfacht die Ausgabe von Bildern, Tönen und Animationen sowie die Netzwerkkommunikation drastisch. Weil GDevelop, Godot und jMonkeyEngine damit ein Rundum-sorglos-Paket bereitstellen, bezeichnet man sie im Englischen auch als Game Creation System oder kurz GCS. Zwar lassen sich mit ihnen beliebige Spiele erstellen, doch weist jeder der drei Kandidaten auch einige limitierende Nachteile auf.

GDevelop

Möchten Sie ohne Programmierkenntnisse ein Spiel erstellen, greifen Sie zu GDevelop [1]. In der Entwicklungsumgebung des Franzosen Florian Rival klicken Sie sich einfach mit der Maus das komplette Spiel zusammen. Die Benutzeroberfläche spricht sogar teilweise Deutsch (Abbildung 1). GDevelop erstellt ausschließlich 2D-Spiele, wobei die Ausgabe der Grafik auf dem Bildschirm über die 3D-Schnittstelle OpenGL erfolgt.

Abbildung 1: Die Benutzeroberfläche von GDevelop wirkt aufgeräumt, die einzelnen Funktionen fassen Register am oberen Rand zusammen ("Ribbons"). Hier entsteht ein Rennspiel.

In der Entwicklungsumgebung importieren Sie zunächst 2D-Grafiken, die Sie anschließend zu einer kompletten Szene zusammensetzen. Den Spielablauf legen Sie fest, indem Sie wichtige Ereignissen, wie etwa "linke Maustaste gedrückt", passende Aktionen zuordnen, wie etwa "bewege Objekt 'Raumschiff' 10 Pixel nach oben" (Abbildung 2). Die Ereignisse lassen sich über einfache Bedingungen (wie ein logisches Oder) verknüpfen, Aktionen über Schleifen wiederholen. Die auf diese Weise entstehenden Ablaufpläne kapseln Sie bei Bedarf zur Wiederverwendung in Funktionen.

Abbildung 2: In GDevelop klicken Sie sich die Programmlogik zusammen, was allerdings schon bei einfacheren Spielen zu unübersichtlichen Ablaufplänen führt.

Die Grafiken lassen sich auf verschiedene Ebenen (Layer) verteilen und so wie Folien übereinanderlegen. Dies erlaubt auch den sogenannten Parallax-Effekt, bei dem optisch entfernte Objekte langsamer über den Bildschirm gleiten als nahe. Weitere Funktionen kommen in Form von Erweiterungen. Über diesen Weg holen Sie unter anderem eine Physiksimulation, eine automatische Wegfindung für Gegner oder ein Partikelsystem hinzu. Letzteres sorgt für sprühende Funken oder effektvolle Explosionen. Über eine Tile-Map lassen sich größere Spielfelder aus Kacheln zusammensetzen.

GDevelop erstellt Programme für Windows, Mac OS X und Linux. Darüber hinaus exportiert die Entwicklungsumgebung das Spiel auf Wunsch auch als HTML5-Anwendung, die in jedem Browser läuft. Allerdings müssen Sie sich schon zu Beginn für eine native oder eine Webanwendung entscheiden. Abhängig von der Wahl stehen dann unterschiedliche Erweiterungen bereit. So müssen etwa HTML5-Spiele auf das Partikelsystem verzichten, erkennen im Gegenzug aber exklusiv Touchscreen- und Multitouch-Gesten. Bei nativen Linux-Spielen dürfen Sie wiederum einen Debugger und einen Profiler einsetzen (Abbildung 3). Mit Letzterem kontrollieren Sie Geschwindigkeitsprobleme und die Prozessorauslastung. Die Engine steht unter der MIT-Lizenz, die Entwicklungsumgebung unter der GPLv3.

Abbildung 3: In GDevelop zeichnet der Profiler die jeweilige Spielgeschwindigkeit auf – je höher die Zacken, desto langsamer läuft das Autorennen. Über den Debugger lässt sich das Geschehen auch vorübergehend anhalten.

Bislang sind mit GDevelop hauptsächlich kleine Freeware-Spiele entstanden, wie das durchaus sehenswerte "Blazing Inferno of Space" [2]. Die Dokumentation besteht aus einem englischsprachigen Wiki, das zwar etwas verschachtelt aufgebaut ist, aber dafür Programmieranfänger mit Tutorials an die Hand nimmt. Die Entwicklungsumgebung bringt zudem zahllose Beispiel-Spiele mit, darunter das Rennspiel aus Abbildung 1. Offene Fragen klären der Entwickler und die Anwender gemeinsam in einem Forum.

Godot

Im Februar 2014 veröffentlichte das argentinische OKAM Studio den kompletten Quellcode seiner bis dahin nur für eigene Spiele genutzten Entwicklungsumgebung. Obwohl die Godot getaufte Software schon mehrere Jahre im Einsatz war, erreichte sie erst im Dezember 2014 die Versionsnummer 1.0. Die Weiterentwicklung erfolgt offen auf GitHub unter der MIT-Lizenz, Sponsor ist weiterhin OKAM Studio [3].

Godot enthält eine 2D- und eine 3D-Engine, die in einem Spiel abwechselnd aktiv sein dürfen (Abbildung 4). Die Darstellungsformen lassen sich auch mischen und so etwa 3D-Figuren vor einen gemalten 2D-Hintergrund setzen (Abbildung 5). Wie bei GDevelop importieren Sie in der Entwicklungsumgebung zunächst Grafikobjekte, die Sie dann in einzelnen Szenen anordnen. Die Objekte bilden dabei jeweils sogenannte Knoten, die der Spieleprogrammierer in einer Hierarchie anordnen muss. Auf diese Weise lässt sich etwa ein Haus aus einem Dach und vier Wänden zusammensetzen. Dieses gewöhnungsbedürftige Konzept erleichtert die Wiederverwendung von Objekten und erlaubt einige Automatismen. So muss man etwa bei einem Auto nicht jedes Rad separat weiterbewegen.

Abbildung 4: Dank gleich zweier enthaltener Engines lassen sich mit Godot sowohl 2D-Spiele entwickeln, als auch …
Abbildung 5: … 3D-Spiele, die nicht zwingend so kantig aussehen müssen. Dieses Jump-and-Run-Spiel liegt Godot als Beispiel bei.

Die Einzelteile von 2D-Figuren, wie etwa Arme und Beine, lassen sich an passenden Stellen aneinanderheften und animieren – ähnlich wie bei den Figuren in der Zeichentrickserie "South Park". Des Weiteren gibt es ein Partikelsystem, das unter anderem für hübsche Explosionen sorgt. Die einzelnen Grafikobjekte ordnen Sie gegebenenfalls auf Ebenen (Layer) an, was wiederum Parallax-Scrolling erlaubt. Über einen Tile-Map-Editor bauen Sie zudem schnell 2D-Level aus einzelnen Kacheln.

Die 3D-Engine kann fertige Modelle aus bekannten Grafikprogrammen importieren, so etwa aus Maya und Blender. Godot unterstützt die Animationstechniken Skeleton Deform und Blend Shape, mit denen sich beispielsweise natürlich wirkende Lippenbewegungen erstellen lassen. Zudem stehen zahlreiche Grafikeffekte parat, darunter ein einfacher Schattenwurf (über sogenannte Shadow Maps), Antialiasing, HDR, Weichzeichnereffekte und eine Nebelsimulation. Die Materialeigenschaften der 3D-Objekte lassen Sie von entsprechenden Mini-Programmen erstellen, den sogenannten Shadern.

Die 2D- und die 3D-Engine bringen getrennte, von den Godot-Machern selbst entwickelte Physiksimulationen und Kollisionserkennungen mit. Der Spieleentwickler muss dabei nicht umlernen, sondern kann die beiden Systeme über die gleichen Schnittstellen ansprechen. Des Weiteren animiert Godot sämtliche Eigenschaften eines Objekts über die Zeit. Die Veränderungen lassen sich dabei auf einer Zeitleiste mit sogenannten Keyframes bildgenau steuern, die Auswirkungen zwischen zwei Keyframes berechnet Godot. Wer schon einmal mit Synfig oder einem anderen Animationsprogramm gearbeitet hat, kennt das Prinzip.

Zum Erstellen von Benutzeroberflächen bietet Godot zahlreiche vorgefertigte Schaltflächen, Regler und Listen. Das Aussehen der Kontrollelemente passen Sie über Skins an. Des Weiteren unterstützt Godot das Lokalisieren der Spiele, wobei Sie die Übersetzungen in eigenen Textdateien anliefern müssen. Genügen die Möglichkeiten Ihren Ansprüchen noch nicht, können Sie den Funktionsumfang der Engine über eine C++-Schnittstelle erweitern und so etwa zeitkritischen Programmcode auslagern.

Die Programmlogik des Spiels entsteht in einer eigenen Skriptsprache namens GDScript (Abbildung 6). Der Code-Editor färbt unter anderem den Quellcode ein (Syntax Highlighting) und schlägt automatisch passende Schlüsselwörter vor (Code Completion). Die Ausführung des Spiels halten Sie über im Code gesetzte Marken (Breakpoints) gezielt an. Auf Wunsch springt der integrierte Debugger per Tastendruck von Befehl zu Befehl und zeigt die aktuellen Werte aller Variablen. Der Performance-Analyzer liefert Informationen zur Speicher- und Prozessorauslastung, womit sich wiederum das Spiel optimieren lässt. Godot kann Versionskontrollsysteme wie Git oder SVN einbinden.

Abbildung 6: Die Skriptsprache von Godot lehnt sich stark an Python an und markiert insbesondere Codeblöcke durch Einrückungen.

Die mit Godot erstellten Spiele laufen unter Windows, Mac OS X sowie Linux und daneben auch auf iOS und Android sowie der Playstation 3 und PS Vita. Die beiden zuletzt genannten Plattformen setzen allerdings eine (teure) Entwicklerlizenz von Sony voraus. Eine Exportmöglichkeit für HTML5 und Windows Phone ist derzeit in Arbeit. Zum Redaktionsschluss stand die Version 1.1 kurz vor der Veröffentlichung, die über eine generalüberholte 2D-Engine verfügt, eine verbesserte Auto-Vervollständigung im Code-Editor bietet und einen visuellen Shader-Editor mitbringt (Abbildung 7). Die noch lückenhafte Dokumentation zu Godot findet sich im Github-Wiki und besteht im Wesentlichen aus einer Reihe Tutorials.

Abbildung 7: Im neuen Shader-Editor von Godot 1.1 beschreiben Sie die Shader nicht mehr über eine einfache Shader-Sprache, sondern setzen sie bequem über Knoten zusammen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 9 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Fernstudium Informatik
Joe Cole, 12.12.2017 10:36, 1 Antworten
Hallo! habe früher als ich 13 Jahre angefangen mit HTML und später Java zu programmieren. Weit...
Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 1 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...
Tinte sparen bei neuem Drucker
Lars Schmitt, 30.11.2017 17:43, 2 Antworten
Hi Leute, ich habe mir Anfang diesen Monats einen Tintenstrahldrucker angeschafft, der auch su...