Ich bin auf der Suche nach einer 2D-Grafik-Engine, mit der ich auf Windows, Mac und iPhone zugreifen kann, ähnlich wie Unity es für 3D tut.
Gibt es eine gute Engine, die dies tut und spezifisch für 2D ist?
Ich bin auf der Suche nach einer 2D-Grafik-Engine, mit der ich auf Windows, Mac und iPhone zugreifen kann, ähnlich wie Unity es für 3D tut.
Gibt es eine gute Engine, die dies tut und spezifisch für 2D ist?
Antworten:
Es gibt immer den alten Standby, SDL . Es ist ziemlich niedrig, aber diese Einfachheit erlaubt es, es auf Millionen von Plattformen zu portieren (einschließlich Windows, Linux, Mac, Nintendo DS, Wii usw. usw.). Es gibt einen iPhone-Port , den ich nicht benutzt habe, der aber ausgereift genug scheint.
Es gibt wirklich keinen Grund, warum Sie Unity3D nicht zum Erstellen von "2D" -Spielen verwenden können. Sie können strukturierte Quads und eine orthografische Kamera verwenden und sich selbst ein 2D-Spiel erstellen. Es gibt sogar einige einzigartige Lösungen wie die Verwendung eines Skelett-Animationssystems und das Aufsetzen von Sprites auf verschiedene Gelenke oder die Verwendung einer sehr engen Perspektivkamera, um eine kostengünstige Parallaxierung zu erzielen.
Es gibt sogar Middleware-Anbieter für Unity, die bessere Sprite-Management-Lösungen anbieten. Wie Sprite Manager 2 .
SFML ist eine schöne moderne, objektorientierte, plattformübergreifende Grafik-Engine. Es ist hardwarebeschleunigt (basierend auf OpenGL) und hat Bindungen für
SDL, Allegro, OpenGL
SDL und Allegro sind nicht nur Grafikbibliotheken, sondern ganze Spielentwicklungsbibliotheken.
Ein Nachteil von SDL ist, dass es main () übernimmt und neu definiert, sodass es schwierig ist, es mit anderen Bibliotheken zu kombinieren. (QT nach meiner Erfahrung)
Eine andere schlechte Sache ist, dass SDL nur ein Fenster zulässt (dies ist die stabile Version 1.2, die Entwicklungsversion 1.3, aber sie wird noch nicht vollständig unterstützt oder dokumentiert).
Ich kann die Schwachstellen von SDL nennen, weil ich es am besten kenne und hat damit gearbeitet, aber trotzdem ist es sehr mächtig, viele Emulatoren, einschließlich einer Portierung von Mame und ScummVM, sowie Spiele benutzen es.
OpenGL ist trotz seiner weit verbreiteten 3D-Verwendung eine grafische Bibliothek und ermöglicht als solche auch 2D-Grafiken durch Manipulation auf Pixelebene und nutzt die Hardwarebeschleunigung umfassend sowohl in 3D als auch in 2D.
Sie können sich Troll2D ansehen
Box2D wird für viele Plattformen verwendet. Einschließlich des iPhone. Sie müssen jedoch einen Weg finden, um diese Objekte anzuzeigen. Da Box2D nur 2D-Physiksimulationen abwickelt.
LÖVE ist eine 2D-Engine, die die einfache und schnelle Entwicklung von Spielen in der Sprache Lua ermöglicht .
Es läuft auf Mac (PPC und Intel), Windows und Linux (32 und 64 Bit) und die Spiele können problemlos als One-File-Runs-on-All-Platforms ".love" -Dateien verteilt werden.
Es handelt sich im Grunde genommen um eine Zip-Version Ihres Spiels, deren Zip- Erweiterung in Love umbenannt wurde .
Leider gibt es (bisher) keinen iPhone-Port.
Cocos2D wurde unter Mac / Windows in Python entwickelt und ist unter dem iPhone in der Version Objective-C erhältlich . Es ist beliebt in der 2D-iPhone-Spieleentwicklung. Ray Wenderlich hat einige große Cocos2D Tutorials für das iPhone .
Da sie von Python zu Objective-C gewechselt sind, werden Sie vermutlich nicht mehr in der Lage sein, alle Plattformen auf derselben Codebasis zu kompilieren.
Wenn Sie sich keine Sorgen um das iPhone machen, wird Flash immer als AIR-Paket angeboten. Sie verlieren das iPhone, erhalten jedoch Linux und die Webbereitstellung. Sie können dann Spiel- / Physik- / Rendering-Engines auswählen, die zu Ihrem Projekt passen, z. FlashPunk, Flixel, Box2d.
Sie könnten die Angel Engine ausprobieren . Es basiert auf C ++, OpenGL, Box2D und verwendet Python für die Skripterstellung. Es ist hauptsächlich für das Prototyping gedacht, aber die jüngsten Versionen scheinen sich darauf zu konzentrieren, vollständige Spiele zu entwickeln.
PlayN unterstützt HTML5, Android, iOS, Flash und Desktop Java.
Sie schreiben Ihren Code in Java und er konvertiert Ihren Java-Code in JavaScript (über GWT) für HTML, in ARM-Assembly (über IKVM von Java-Bytecode zu CLR-Bytecode, dann MonoTouch zum Kompilieren von CLR-Bytecode zu einer nativen iOS-App). zu ActionScript über ein benutzerdefiniertes GWT-Backend, das ActionScript anstelle von JavaScript generiert, und zu Android und Desktop-Java ohne Konvertierungen.
Moai SDK ist ein Framework, das auf diesen Plattformen ausgeführt werden kann. Es ist Open Source, also schauen Sie sich das Github-Repo an .
Moai kann auch in Google Chrome und Android veröffentlicht werden.
* Ich glaube nicht, dass das Veröffentlichen auf einem Mac oder unter Windows (z. B. als .app oder .exe) möglich ist, aber hinzugefügt werden kann.
Haxe + NME unterstützt HTML5, Flash, Android, iOS, Blackberry, Windows, Mac, Linux und WebOS. Es unterstützt 2D-Grafiken (Bitmap-Sprites, Vektorzeichnungen sowie Effekte wie Schlagschatten und Unschärfe).
Ich habe in letzter Zeit viel über MonoTouch gehört, vor allem für Leute, die sich mit der Entwicklung von iPhone und iPod touch beschäftigen. Das Framework basiert auf Mono, das bereits plattformübergreifend kompatibel ist.
Unity3d ist das beste Entwicklungswerkzeug und die beste Engine für 2D-Spiele. alternativ Monogame. HTML5 und Flash sind für dieses Thema nicht geeignet. Blitz ist schon tot.