Welche 2D-Game-Engine für Ihr nächstes Spiel verwenden

Vor einigen Wochen habe ich über meine Erfahrungen mit dem Versuch berichtet, einen Prototyp in einer Reihe verschiedener 2D-Game-Engines / Frameworks zu erstellen, um zu erfahren, was sie zum Ticken bringt.

Wenn Sie nach einer Engine für Ihr nächstes 2D-Spiel suchen, enthält dieser Artikel einige zu berücksichtigende Punkte, die Ihnen bei Ihrem Unterscheidungsprozess helfen können.

Beachten Sie, dass ich nicht versuche, jede 2D-Spiel-Engine da draußen abzudecken. Ich positioniere auch keinen Motor oder Rahmen über einem anderen. Diese Empfehlungen stammen aus meiner persönlichen Erfahrung mit verschiedenen Engines und Frameworks für das Prototyping.

Und wenn Sie lieber zuschauen als lesen möchten, habe ich eine Videoversion dieses Beitrags erstellt (26-minütige Wiedergabe):

Reagieren

Auf den ersten Blick könnte man denken: "React ist ein Front-End-Framework für die Erstellung interaktiver Websites. Es ist keine Spiel-Engine!" Und du hättest größtenteils recht.

Reagieren Sie nicht nativ nicht bieten Unterstützung für die Entwicklung von Spielen Grundlagen, wie zum Beispiel 2D - Physik, aber es tut Hantiererzustand extrem gut. Wenn Sie bereits JavaScript-Entwickler sind und bereit sind, React mit so etwas wie boardgame.io zu koppeln, um ein einfaches 2D-Spiel zu erstellen, können Sie möglicherweise einen Prototyp ziemlich schnell zum Laufen bringen.

Für alle anderen Arten von 2D-Spielen sollten Sie sich anderswo umsehen.

Einheit

Unity hat sich in den Entwicklungsbereichen für 2D- und 3D-Spiele allgegenwärtig gemacht. Ich würde es als exzellente 3D-Game-Engine und als brauchbare 2D-Engine positionieren.

Der Unity-Editor ist ziemlich komplex und enthält viele verschachtelte Menüs, deren Bearbeitung einige Zeit in Anspruch nimmt (in diesem Artikel finden Sie eine Übersicht über die 2D-Funktionen). Wenn Sie noch keinen Hintergrund in C # haben, den Unity für die Skripterstellung verwendet, sollten Sie ihn vor dem Erlernen von Unity auffrischen, da dies Ihre allgemeine Lernkurve erleichtert.

Unity macht auch viele Dinge auf die "harte Tour", wenn es um die Entwicklung von 2D-Spielen geht, die sich im Vergleich zu anderen Spiel-Engines nicht nativ anfühlen . Das Erstellen einer 2D-Spielwelt in Unity fühlt sich beispielsweise so an, als würden Sie eine 2D-Ebene in einen großen 3D-Raum einbinden, und Dinge wie Animation und Pixelperfektion sind klobiger als in anderen 2D-spezifischen Engines.

Sie können mit Unity jede Art von 2D-Spiel erstellen, wenn Sie bereit sind, mit dem Editor und den zugrunde liegenden 3D-Eigenheiten zu kämpfen. Es bietet umfassende Community-Unterstützung und Sie werden feststellen, dass die Arbeit mit C # eine Freude ist. Darüber hinaus bietet Unitys Asset Store alle Arten von Grafiken und Vorlagen zum Herunterladen und Kaufen an. Käufer sollten jedoch aufpassen: Sie verbringen möglicherweise so viel Zeit damit, den Code eines anderen für Ihr Projekt neu zu schreiben, als würden Sie von vorne anfangen.

Die Verwendung von Unity ist im Allgemeinen kostenlos, die Preisgestaltung wird jedoch komplexer, wenn Sie alles nutzen möchten, was es zu bieten hat (weitere Informationen finden Sie auf dieser Seite).

Godot

Godot ist eine kostenlose und Open-Source-2D- und 3D-Spiele-Engine, die GDScript, C # und sogar C ++ und Python unterstützt, wenn Sie bereit sind, viel zu tun, damit sie funktionieren. Es unterstützt einen Workflow im Knotenstil und ist superleicht.

Wenn Sie a) bereit sind, in das Erlernen von GDScript zu investieren, oder b) bereits sehr gut in C #, C ++ oder Python sind, sind Sie in Godot wahrscheinlich in Ordnung, insbesondere wenn Sie gerne mit Open Source-Software arbeiten. Wenn nicht, können Sie leicht frustriert sein, da C # oder andere Sprachen bei weitem nicht so gut unterstützt werden wie GDScript. Trotzdem ist Godot ein angenehmer Motor, mit dem man arbeiten kann, und obwohl er möglicherweise nicht den gleichen Stammbaum und die gleiche Community-Unterstützung wie Unity hat, fühlen Sie sich als Selbststarter möglicherweise wie zu Hause.

Konstrukt 3

Wenn Sie nur 2D-Spiele erstellen möchten und sich nicht für Programmiersprache oder Abonnementgebühren interessieren, finden Sie in Construct 3 alles, was Sie benötigen, um eine Demo schnell zum Laufen zu bringen. Alle Ihre Arbeiten werden in einem Browser mit Drag-and-Drop-Tools (und benutzerdefinierter JavaScript-Unterstützung, falls erforderlich) ausgeführt.

Erwarten Sie jedoch nicht, dass Sie mit Construct 3 kostenlos eine sinnvolle und produktive Erfahrung machen. Es gibt eine einfache Demo, die Sie ausprobieren können, aber die effektive Spieleentwicklung mit Construct 3 ist hinter einer Paywall und einem Abonnement gesperrt.

Game Maker Studio 2

Game Maker Studio 2 verfügt über einen benutzerfreundlichen Editor, der eine proprietäre Sprache namens Game Maker Language (GML) sowie visuelles Scripting unterstützt. Es gibt auch viele Tutorials, großartige Community-Unterstützung und einen Asset Store (der die gleichen Einschränkungen wie Unitys oben hat).

Der allgemeine Workflow von Game Maker Studio 2 und das Animieren von Sprites, das Einrichten Ihrer Spielwelt usw. sind unkompliziert und intuitiv. GML ist möglicherweise nicht Ihre Sache, wenn Sie aus einer anderen, am weitesten verbreiteten Programmiersprache stammen, und ich würde es nicht als erste Einführung in das Erlernen des Codierens empfehlen. Es werden einige der grundlegenden Konzepte der Programmierung verwendet, jedoch keine wichtigen Details wie das Codieren von Best Practices oder das Schreiben von sauberem Code.

Darüber hinaus können Sie Game Maker Studio 2 mit einer kostenlosen 30-Tage-Testversion testen, müssen jedoch zahlen, um es nach dieser Zeit weiter verwenden zu können.

Phaser 3

Wenn Sie alles codieren und dabei viel über das JavaScript-Ökosystem lernen möchten, schauen Sie sich Phaser 3 an (oder warten Sie auf Phaser 4, das unterwegs ist).

Phaser ist ein leichtes und leistungsstarkes JavaScript-Framework für die Erstellung von 2D-Spielen. Während Phaser 2 sehr gut dokumentiert war und eine hervorragende Community-Unterstützung hatte, ist Phaser 3 genau das Gegenteil. Es gibt eine gute offizielle Dokumentation und eine Reihe von Beispielen (ohne viel Kontext, muss man sagen) und eine schrecklich kleine Anzahl von Tutorials.

Erwarten Sie, alles selbst zu erstellen, aber wenn Sie ES6- oder TypeScript-Unterstützung suchen oder Ihre Fähigkeiten als JavaScript-Entwickler wirklich verbessern möchten, können Sie mit Phaser 3 einen langen Weg gehen.

Im Interesse der Fairness sollte ich zwei weitere 2D-Game-Engines erwähnen, die mir empfohlen wurden, seit ich über das Thema geschrieben habe: LÖVE 2D, das Lua verwendet, und MonoGame, das C # unterstützt. Ich habe keinen von ihnen (oder andere wie PyGame) verwendet und kann nicht mit ihrer Nützlichkeit sprechen, aber sie sind möglicherweise einen Blick wert.

Lassen Sie mich wissen, welche 2D-Game-Engine Sie verwenden und warum!

Wenn Ihnen dieser Artikel gefallen hat, lesen Sie bitte meine Spiele und Bücher, abonnieren Sie meinen YouTube-Kanal oder treten Sie dem Entromancy Discord bei.

MS Farzan, Ph.D. hat für bekannte Videospielunternehmen und redaktionelle Websites wie Electronic Arts, Perfect World Entertainment, Modus Games und MMORPG.com geschrieben und gearbeitet und war Community Manager für Spiele wie Dungeons & Dragons Neverwinter und Mass Effect: Andromeda . Er ist Creative Director und Lead Game Designer von Entromancy: A Cyberpunk Fantasy RPG und Autor der Nightpath Trilogy . Finden Sie MS Farzan auf Twitter @sominator.