In diesem Artikel untersuchen wir verschiedene Game Engines und Frameworks und heben einige der wichtigsten Vorteile hervor, die jedes davon bietet. Nachdem Sie diesen Artikel gelesen haben, stehen Ihnen mehrere Optionen zur Auswahl, um den nächsten großen Erfolg zu erzielen. Beachten Sie, dass wir uns nur auf die 2D-Aspekte dieser Plattformen konzentrieren. Lass uns anfangen.
Cocos2d ist ein kostenloses Open Source-Framework, das sowohl mit Swift als auch mit Objective-C kompatibel ist. Es unterstützt iOS und OS X sowie Android über das SpriteBuilder-Plugin für Android, vorausgesetzt, Ihr Code ist in Objective-C geschrieben. Schnelle Unterstützung für Android ist in der Entwicklung.
Projekte in Cocos2d werden mit SpriteBuilder erstellt, einer grafischen Designumgebung, mit der Sie schnell Prototypen erstellen und Spiele erstellen können. Sie müssen SpriteBuilder nicht zum Erstellen Ihres Spiels verwenden. Die Projekterstellung muss jedoch über SpriteBuilder erfolgen.
Die Szenenverwaltung erfolgt über die CCDirector
Klasse, die zahlreiche Übergänge mit der CCTransition
Klasse. Es bietet Animationen durch die CCAnimation
Klasse und Aktionen wie Verschieben, Skalieren und Drehen mit CCAction
Klasse. Cocos2d unterstützt Partikelsysteme mit der CCParticleSystem
Klasse und hat Unterstützung für Tile Maps mit der CCTiledMap
Klasse.
Cocos2d verwendet auch OpenGL als Rendering-Engine. Es verwendet Chipmunk als Physik-Engine. Wenn Sie Objective-C oder Swift mögen und für mehrere Plattformen (iOS und Android) entwickeln möchten, ist Cocos2d ein Rahmen, der eine Überlegung wert ist.
Cocos2d-x ist ein C ++ - Port von Cocos2d, der auf vielen anderen Plattformen kompiliert werden kann. Cocos2d-x kann unter iOS, Android, Windows Phone, OS X, Windows und Linux kompiliert werden.
Cocos2d-x wird nicht mit SpriteBuilder geliefert. Es gibt jedoch einige interessante Projekte, wie z. B. Cocos Creator, der das Framework, das Bearbeiten von Szenen, das Debuggen, die Spielvorschau und das Veröffentlichen auf mehreren Plattformen bereitstellt.
Unity ist eine mobile Spiele-Engine, die C # und UnityScript unterstützt, eine Sprache, die speziell für Unity entwickelt und nach JavaScript modelliert wurde. Es ist plattformübergreifend und kann auf vielen Plattformen bereitgestellt werden, einschließlich PlayStation und Xbox. Es gibt eine kostenlose Edition und eine Professional Edition mit mehr Funktionen. Weitere Informationen finden Sie auf der Unity-Website.
Es gibt einen eingebauten Sprite-Editor, in dem Sie Ihre Bilder visuell in Scheiben schneiden können, und ein Animator-Fenster, in dem Sie Animationen anordnen und organisieren sowie Keyframes für Sprites hinzufügen können. Es ist auch möglich, Partikelsysteme visuell im Unity-Editor zu entwerfen.
Unity verwendet eine eigene proprietäre Physik-Engine. Unity verfügt über eine eingebaute Kamera, die das Navigieren in der Spielwelt vereinfacht. Sie können Szenen visuell anordnen und Unity verfügt über ein Benutzeroberflächensystem mit Komponenten wie Schaltflächen, Schiebereglern und Menüs. Es gibt auch Unterstützung für das Sprite-Packen im Unity-Editor.
Unity ist ein Kraftpaket, wenn es um Game-Engines geht. Wenn Sie eine plattformübergreifende Lösung benötigen, die eine Vielzahl von Geräten unterstützt, und Sie lieber in C # oder UnityScript programmieren, ist Unity eine gute Wahl. Eine weitere schöne Sache bei Unity ist der Asset Store, in dem Sie Assets finden oder kaufen können, die Sie in Ihren Spielen verwenden können.
SpriteKit ist Apples proprietäres Framework für die Entwicklung von 2D-Spielen. Es ist nur für iOS und OS X verfügbar. SpriteKit unterstützt sowohl Swift als auch Objective-C, eine Kombination aus beiden.
Die Szenenverwaltung erfolgt mit SKView
Klasse und es gibt eine Vielzahl von Übergängen mit der SKTransition
Klasse. Im Herzen von SpriteKit stehen Aktionen, Instanzen des SKAction
Klasse, die zum Verschieben, Drehen und Skalieren von Spielobjekten verwendet wird. Aktionen können auch zum Abspielen von Sounds und zum Ausführen von benutzerdefiniertem Code verwendet werden.
SpriteKit verfügt über einen Szeneneditor, in dem Sie die Ebenen Ihres Spiels visuell gestalten können. Ebenfalls verfügbar ist ein Partikeleditor, in dem Sie Partikelsysteme visuell entwerfen können. Es gibt eine Reihe von vordefinierten Partikelsystemen wie Feuer und Regen.
SpriteKit verwendet Box2D für seine Physik-Engine. SpriteKit bietet einen freundlichen Wrapper für Box2D, der die Verwendung sehr einfach macht. SpriteKit verfügt auch über eine integrierte Kamera SKCameraNode
Klasse, die das Navigieren in der Spielwelt erleichtert.
Wenn Sie an das Apple-Ökosystem gebunden sind, ist SpriteKit eine sehr gute Wahl.
Titan ist ein Framework, das JavaScript als Programmiersprache verwendet. Traditionell verwendet, um Anwendungen anstelle von Spielen zu erstellen, kann es eine praktikable Entwicklungsplattform für Spiele sein. Es ist kostenlos während der Entwicklung zu verwenden. Wenn Sie Ihr Spiel veröffentlichen möchten, benötigen Sie eine Lizenz.
Titan unterstützt viele native Steuerelemente von iOS und Android. Dies macht es einfach, Ansichten und Bilder zu animieren. Ich habe ein Blackjack-Spiel mit Animationen und einem schönen Karten-Flip-Effekt mit Titanium erstellt.
Eines der schönen Dinge an Titan ist der Marktplatz für das Herunterladen von benutzerdefinierten Modulen. Es gibt beispielsweise ein Box2D-Modul, das Sie in Ihre App einfügen können. Wenn Sie die Komplexität von Box2D nicht benötigen, kann die Verwendung eines einfachen Bounding-Box-Kollisionssystems genauso gut funktionieren.
Titanium ist zwar nicht ideal für Spiele mit vielen beweglichen Teilen und Partikelexplosionen, aber die Verwendung für einfache Kartenspiele, Trivia-Spiele und Spiele mit einer begrenzten Anzahl von sich bewegenden Objekten ist mehr als eine praktikable Option.
Mit PhoneGap können Sie Ihre vorhandenen HTML-, CSS- und JavaScript-Kenntnisse als mobile App nutzen. Die Funktionsweise besteht darin, eine Webansicht in die App einzubetten und Ihre Assets in diese Webansicht zu laden. Das bedeutet, dass Sie die Canvas-API verwenden können, um Spiele zu erstellen.
PhoneGap ermöglicht den Zugriff auf native APIs wie die Kamera, das Mikrofon und vor allem für die Spieleentwicklung den Beschleunigungssensor.
Im Grunde ist PhoneGap ziemlich unkompliziert. Es nimmt eine HTML-gesteuerte App und verpackt sie als mobile Anwendung mithilfe einer Webansicht.
Wir werden uns zwei andere JavaScript-Bibliotheken ansehen, die Sie zum Erstellen eines Canvas / WebGL-Spiels verwenden können, Phaser und CreateJS.
Phaser ist ein Open-Source-JavaScript-Framework zum Schreiben von 2D-Spielen. Falls vorhanden, wird Canvas oder WebGL verwendet.
Phaser unterstützt Animationen, Partikel und Tweens zum Bewegen, Skalieren und Drehen von Sprites. Es verfügt über eine integrierte Unterstützung für Kachelkarten und verwendet je nach Ihren Anforderungen drei verschiedene Physik-Engines. Es verfügt auch über eine eingebaute Kamera, mit der Sie ganz einfach in Ihrer Spielwelt navigieren können.
Für Phaser stehen einige Plugins zur Verfügung, darunter ein Partikelsystemdesigner und ein Box2D-Plugin. Wenn JavaScript die Sprache Ihrer Wahl ist, könnte Phaser in Kombination mit PhoneGap eine gute Wahl sein.
CreateJS ist eine Suite von vier verschiedenen Open Source-Bibliotheken:
EaselJS ist eine Bibliothek, die auf der Canvas-API basiert und WebGL verwenden kann, falls verfügbar. TweenJS konzentriert sich auf Tweening-Elemente, während SoundJS auf die Audiowiedergabe abzielt. Nicht zuletzt hilft PreloadJS dabei, Assets vorab zu laden.
EaselJS unterstützt Sprite-Sheets und Filter, die Sie auf Ihren Elementen platzieren können. Da ist auch ein Gestalten
Klasse, wenn Sie Vektorzeichnungen machen müssen. Verschieben, Skalieren und Drehen erfolgt durch Einbinden der TweenJS-Bibliothek in Ihr Spiel.
CreateJS hat zwar nicht viele APIs, die auf die Spieleentwicklung zugeschnitten sind, es ist jedoch in JavaScript geschrieben, sodass Sie beliebige zusätzliche JavaScript-Bibliotheken integrieren können, z. B. einen JavaScript-Port von Box2D. Eine Bibliothek, die ich in der Vergangenheit erfolgreich eingesetzt habe, ist eine Kollisionserkennungsbibliothek für EaselJS.
Ich habe einige Artikel über CreateJS zu Envato Tuts + geschrieben. Wenn Sie nach einer detaillierten Einführung in diese Bibliotheken suchen, können diese interessant sein:
Unreal Engine ist eine Spiel-Engine, die C ++ als Programmiersprache verwendet. Es ist frei mit Limit zu verwenden. Weitere Informationen finden Sie auf der Unreal Engine-Website. Sie können Ihr Spiel für iOS und Android bereitstellen.
Zur Unreal Engine gehört auch der Blueprint Editor, mit dem Sie Ihre Anwendungen ohne Programmierung programmieren können. Mit dem Editor können Sie Spielebenen entwerfen, Physiksimulation, Benutzeroberfläche, Animationen, visuelle Effekte und mehr visuell hinzufügen.
Das Corona SDK ist ein Software-Entwicklungskit, das Lua als Skriptsprache verwendet. Es ist unter Windows und OS X verfügbar. Sie können Ihre Spiele und Apps kostenlos mit dem Corona SDK entwickeln. Perk, das Unternehmen, das Corona Labs erworben hat, bietet jedoch ein Unternehmensmodell, das den Zugriff auf native Bibliotheken / APIs und einige andere bietet Eigenschaften. Besuchen Sie die Website für weitere Informationen zu Preisen.
Das Corona SDK wird nach iOS, Android, Kindle und Windows Phone 8 exportiert. Windows- und OS X-Exporte befinden sich in einer privaten Beta-Phase und werden in Kürze veröffentlicht.
Corona Labs bietet einige weitere attraktive Funktionen, wie Corona Editor, ein Plug-In für Sublime Text, das einen Debugger, Code-Vervollständigung und einige weitere Optionen enthält. Die unter OS X verfügbare Composer-Benutzeroberfläche bietet Ihnen eine grafische Umgebung, in der Sie die Ebenen Ihres Spiels entwerfen und sehen können, wie die Objekte mithilfe der Physik-Engine von Corona miteinander interagieren.
Das Corona SDK verwendet OpenGL als Rendering-Engine und Box2D für die Physik. Die Physik-Engine bietet einen Wrapper um Box2D, der die Verwendung vereinfacht. Das Corona SDK enthält über tausend APIs, mit denen Sie Ihre Spiele erstellen können.
Es verfügt über eine integrierte Szenenverwaltung über die Composer-Bibliothek und bietet eine großartige Übergangsbibliothek, mit der Sie die grafischen Elemente Ihres Spiels verschieben, skalieren und drehen können.
Leider bietet das Corona SDK keine Option zum Erstellen von Sprite-Atlanten. Die Verwendung komplexer Formen für die Kollisionserkennung von Physik kann schwierig sein. Es gibt jedoch einige großartige Anwendungen von Drittanbietern, die diesen Schmerz lindern können, wie z. B. Texture Packer und Physics Editor.
Insgesamt ist das Corona SDK ein großartiges SDK, das Sie erkunden sollten, wenn Sie nach einer plattformübergreifenden Lösung suchen und die Benutzerfreundlichkeit der Lua-Skriptsprache wünschen.
Gideros verwendet wie Corona Lua als Skriptsprache. Gideros ist kostenlos und Open Source und kann unter iOS, Android, Windows Phone, OS X, Windows und Windows RT kompiliert werden.
Während Lua keine objektorientierte Programmiersprache mit einem klassenbasierten System ist, bietet Gideros eine klassenbasierte API, mit der Entwickler reinen und wiederverwendbaren Code schreiben können.
Gideros hat einen Szenenmanager mit allen Arten von Übergängen, a Filmausschnitt
Klasse für Animationen und bietet Tweening über die GTween-Bibliothek, in der Sie Objekte verschieben, skalieren, drehen und vieles mehr.
Gideros verwendet wie Corona Box2D für die Physik, obwohl die Box2D-API von Gideros der ursprünglichen Box2D-API etwas näher kommt und daher etwas schwieriger zu bedienen ist.
Es bietet einige zusätzliche Tools wie ein Textur-Packer-Tool und einen Font-Ersteller, die sich im Installationsverzeichnis befinden. Mit Gideros können Sie Ihre Projekte sofort über eine Wi-Fi-Verbindung auf Ihrem mobilen Gerät testen.
Genau wie Corona ist dies eine großartige Plattform, wenn Sie plattformübergreifende Entwicklung mit der Leichtigkeit der Programmiersprache Lua suchen.
AndEngine ist ein mobiles Entwicklungs-Framework für Android. Es ist kostenlos und Open Source. Wie der Name andeutet, gilt dies jedoch nur für Android. AndEngine verwendet wie viele andere mobile Plattformen OpenGL als Rendering-Engine und Box2D als Physik-Engine über eine Erweiterung.
AndEngine unterstützt animierte Sprites und Partikelsysteme und ermöglicht das Tweening von Entitäten durch Entitätsmodifizierer. AndEngine bietet auch eine Kamera
Klasse, die es Ihnen ermöglicht, sich problemlos in der Spielwelt zu bewegen.
Es gibt kein dediziertes Szenenmanagement in AndEngine, aber Sie können viele Beispiele finden, wie Sie einen einfachen Szenenmanager erstellen. Wenn Sie nur eine Android-App veröffentlichen möchten und Java Ihre bevorzugte Sprache ist, ist dieses Framework eine gute Option.
libGDX ist ein weiteres Java-Framework zur Entwicklung von Spielen. Es ist plattformübergreifend und kann unter Windows, OS X, Linux, Android, iOS, Blackberry und HTML5 kompiliert werden. libGDX verwendet OpenGL auch als Rendering-Engine und nutzt Box2D zur Simulation von Physik.
libGDX hat eine Kamera
Klasse, eine Aktion
Klasse zum Verschieben, Skalieren und Drehen von Objekten und aParticleEmitter
Klasse zum Anzeigen von Partikeln. Es hat Unterstützung für Kachelkarten über dieTiledMap
Klasse, die mit dem Kacheleditor verwendet werden kann.
In libGDX sind einige zusätzliche Tools enthalten, z. B. ein Textur-Packer, ein Partikel-Editor und ein Bitmap-Zeichensatzgenerator.
Wenn Java Ihre bevorzugte Sprache ist und Sie ein plattformübergreifendes Spiel erstellen möchten, ist libGDX ein guter Rahmen, um nachzuschauen.
In diesem Artikel haben wir uns mit verschiedenen Frameworks und Engines für die Game-Entwicklung beschäftigt. Sie sollten jetzt eine bessere Vorstellung haben, welche Lösungen am besten zu Ihren Bedürfnissen und zu Ihrem nächsten Spiel passen. Vielen Dank für das Lesen und ich hoffe, Sie fanden den Artikel hilfreich.