All-in-One-Umgebungen für Spieleentwickler Freie Gaming Engines für 2D- und 3D-Titel

Von Mirco Lang

Anbieter zum Thema

Auf 2D- und 3D-Spiele spezialisierte Gaming-IDEs haben wir bereits vorgestellt. Doch es gibt in der Open-Source-Welt auch All-in-One-Lösungen, die Spieleentwickler in ihrer Kreativität unterstützen. Zugegeben: Die Auswahl ist deutlich kleiner.

Xenko vereinfacht, was zu vereinfachen ist, und schafft einen guten Workflow.
Xenko vereinfacht, was zu vereinfachen ist, und schafft einen guten Workflow.
(Bild: Xenko)

Wirklich vergleichbar sind die vielen Gaming Engines oft nicht – zu unterschiedlich sind die Ansätze, das Tooling und die Art des anvisierten Endprodukts. Daher gleich vorab: Es ist nicht möglich, die beste freie 3D-Entwicklungsumgebung oder 2D-Gaming-IDE zu identifizieren. Aber man kann interessante, spannende Projekte ausmachen, die eine weitere Beschäftigung rechtfertigen.

Der Einstieg ist in jedem Fall mit recht viel Aufwand verbunden. Dann ist auch der Development-Fokus relevant: Bevorzugt man eine komplette IDE, die den gesamten Entwicklungsprozess (Level-Design, Asset-Management etc.) in einer hübschen grafischen Oberfläche unterstützt? Oder soll lieber eine mächtige Bibliothek her, die sich in der gewohnten Umgebung nutzen lässt?

Der Markt bietet etwas für jede Präferenz. Im Folgenden stellen wir drei Tools vor: Godot Engine und Xenko vereinen jede Menge Tools und Funktionen unter grafischen Oberflächen, MonoGame richtet sich eher an kontrollsüchtige C#-Puristen.

MonoGame

Den Anfang in dieser Reihe macht MonoGame – und zwar aus mehreren Gründen: Zunächst ist es der Quasi-Nachfolger von Microsoft XNA und auch kompatibel zu XNA-Projekten. MonoGame ist zudem wirklich plattformunabhängig. Es ist also möglich, unter anderem für Windows, BSD, Linux, Playstation, Xbox, Android, iOS und OS X zu entwickeln – mit dem kleinen Dämpfer, dass für Android und iOS/OS X ein kostenpflichtiges Xamarin-Konto benötigt wird. Davon abgesehen steht es unter der Microsoft Public License.

MonoGame ist wie bereits erwähnt eher eine Low-Level-Bibliothek, die zwar auch mit F# und Visual Basic funktionieren soll, aber komplett auf C# ausgelegt ist. Die API-Referenz liefert im Grunde gar keine Infos für die anderen Sprachen. MonoGame lässt sich aber auch mit Visual Studio integrieren, das entsprechend die komplette Verwaltung übernehmen kann. Überhaupt gibt es bei Microsoft viel Unterstützung, unter anderem eine MonoGame-Dokumentation.

Als reine API ist MonoGame auf den ersten Blick zumindest für Einsteiger nicht sonderlich reizvoll. Aber schaut man sich einige mit MonoGame produzierte Titel an, sieht die Welt schon wieder anders aus. Das vielleicht prominenteste Beispiel ist der Plattformer Bastion, produziert von Supergiant Games und herausgegeben von Warner Bros. Interactive.

Den eigentlichen Funktionen von MonoGame beizukommen ist gar nicht so einfach, zumal die offizielle Dokumentation recht kurz gehalten ist; abgesehen von der API-Referenz. Es gibt jedoch reichlich Hilfen von Dritten, etwa eine Tutorial-Serie, die viele Grundlagen beleuchtet.

Grundsätzlich unterstützt MonoGame bei der Behandlung von Audioereignissen, Maus-, Tastatur- und Gamepad-Eingaben, 3D-Objekten und sonstigen Grafiken und Animationen, sprich dem Einsatz von Sprites und Texturen. Dabei kann sowohl auf OpenGL als auch DirectX zurückgegriffen werden. MonoGame hilft nicht, aus dem Stegreif ein erstes Spiel zu entwickeln, ermöglicht bei entsprechenden C#-Kenntnissen aber maximale Kontrolle über Ereignisse und Grafik-/Audio-Effekte.

Godot Engine

Die Godot-GUI liefert ein rundes Gesamterlebnis.
Die Godot-GUI liefert ein rundes Gesamterlebnis.
(Bild: Godot)

Godot verfolgt einen gänzlich anderen Ansatz – der für viele Nutzer wohl reizvoller ist: Hier können Spiele tatsächlich „from Scratch“ entwickelt werden, lediglich die Inhalte (Grafiken, Modelle, Sounds) bleiben natürlich außen vor. Als Zielplattformen kommen Windows, macOS, Linux, iOS, Android, HTML und WebAssembly in Frage.

Für das Scripting stehen mehrere Sprachen zur Verfügung, unter anderem C# und C++, das hauseigene, an Python angelehnte GDScript sowie Sprachen, für die es GDNative-Bindings gibt, etwa Rust oder Python. Godot selbst ist in C++ geschrieben. Godot stammt aus 2014, die letzte Version wurde im Januar 2020 veröffentlicht. Lizenziert ist Godot unter der MIT-Lizenz.

Die Godot-Oberfläche ist durchweg gelungen und nimmt Nutzer von Anfang an ein wenig an die Hand. Das beginnt mit der Möglichkeit, aus der dem Hauptprogramm vorgeschalteten Projektverwaltung eines von vielen Demoprojekten zu starten. Hinzu kommen aber auch „Kleinigkeiten“ wie Autovervollständigung im Code-Editor und eine kontextuelle, gute Hilfefunktion direkt im Programm. Und auch der eingebaute Zugriff auf Erweiterungen (AssetLib) ist praktisch, hier finden sich Dinge wie zum Beispiel Skriptsammlungen für die Realisierung von Inventories oder Datenbankintegrationen.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Der Einstieg in die Godot-Welt ist für (Gaming-) IDE-Verhältnisse extrem angenehm – insbesondere, wenn es um Open-Source-Programme geht. Hier wirkt alles rund, natürlich bis auf die Übersetzung, die Bedienung folgt gewohnten Standards und die Übersicht ist sehr gut.

Hinzu kommen natürlich eine Vielzahl an technischen Features, hier eine Auswahl:

  • OpenGL ES 3.0 als Grafik-Engine
  • 2D-Engine separat (Lichter, Physik, Animation etc.)
  • Animation über Tweens, Skelette und mehr
  • Debugger
  • Visual Scripting
  • Plattformunabhängig
  • Kompatibel mit VCS wie Git oder Subversion
  • Szenen- und UI-Editor

Zwar lassen sich für Godot nicht allzu viele größere kommerzielle Titel finden, allerdings ist die Godot-Steam-Community sehr aktiv und liefert reichlich Material zum Stöbern.

Xenko

Xenko vereinfacht, was zu vereinfachen ist, und schafft einen guten Workflow.
Xenko vereinfacht, was zu vereinfachen ist, und schafft einen guten Workflow.
(Bild: Xenko)

Godot gilt gemeinhin als freie Alternative zu Unity – und Xenko ist gewissermaßen die Alternative zu Godot. Einer der größeren Unterschiede, für einige der größte überhaupt: Godot unterstützt zwar C#, ist selbst aber C++-Code, Xenko hingegen wurde auch in C# umgesetzt. Xenko ist erst seit 2018 und ebenfalls unter der MIT-Lizenz verfügbar.

Funktionsumfang und Oberfläche liegen nah beieinander. Xenko liefert ebenfalls die komplette Toolchain für die Spieleentwicklung und adressiert die Plattformen Windows, Xbox One, Universal Windows Plattform, VR-Geräte, Linux (experimentell) sowie iOS und Android, auch hier über Xamarin.

Bei der Nutzerführung gehen die Ähnlichkeiten weiter: Die Dokumentation ist sehr gut, die Nutzeroberfläche sieht Godots zum Verwechseln ähnlich und ist entsprechend intuitiv und übersichtlich, es gibt visuelle Scripting-Möglichkeiten, Editoren für Szenen, Sprites, User Interfaces, Beleuchtung, Animationen und so weiter.

Bei den 3D-Grafiken gibt es durchaus gravierende Unterschiede. Godot nutzt ausschließlich OpenGL ES, Xenko unterstützt DirectX 12 und Vulkan, was bei der Entwicklung von 3D-Projekten für Desktops durchaus ein KO-Kriterium sein könnte.

In einem anderen Punkt scheint jedoch wiederum Godot die Nase vorn zu haben: Community und Dritt-Content. Zum einen ist ein Erweiterungssystem wie bei Godot erst in Planung, zum anderen bringen Google-Suchen zu identischen Themen bei Godot ein Vielfaches an Treffern. Um ein Bild von der Größenordnung zu bekommen: Bei Stackoverflow gibt es 500 Godot-Treffer – Xenko bringt es auf erstaunliche sechs. Andererseits: C# ist C – je nach Arbeitsweise kann man IDE-spezifische Dokumentation sicherlich niedriger bewerten.

Welche IDE gewinnt?

Letztlich hängt die Wahl einer IDE oder reinen Game Engine (MonoGame) – wie schon bei den 2D- und 3D-Spezialisten – natürlich von den persönlichen Präferenzen und Fähigkeiten ab, vom gewünschten Ergebnis und vielen kleinen Details, die oft erst mit längerer Erfahrung auftauchen. Wer sich jedoch eine freie All-in-One-Lösung für den Einstieg in die Spieleentwicklung wünscht, dürfte derzeit mit Godot sehr gut aufgehoben sein. AAA-3D-Titel würden hingegen von den Grafikfähigkeiten von Xenko profitieren. Und auch wenn MonoGame ein wenig aus dem Rahmen fällt – Bastion ist schon ein sehr gutes Argument!

(ID:46495080)