2D-plattformübergreifende Spieleentwicklungs-Engines
Hab ich arbeitete einige Zeit mit Corona SDK und Liebe, wie schnell und einfach kann ich die Erstellung leistungsstarker apps mit Lua. Aber es kann nur kompilieren für iOS und Android, das fühlt sich an wie zu wenig jetzt.
Mein Haupt-Interesse ist es in der Lage sein zu kompilieren, um Desktop-UND Mobile. Zumindest für die folgenden:
- Windows + Mac für den desktop -, als standalone-Anwendungen.
- iOS + Android für mobile.
Ich würde es bevorzugen, lehnen mehr in Richtung Lua-Typ scripting anstelle von ActionScript, aber bitte fühlen Sie sich frei, um nichts zu posten, was Sie gearbeitet haben, mit und Liebe.
Habe ich Folgendes gefunden Motoren so weit:
- Marmelade Schnell - Nach weiteren Blick in Sie, die Marmelade Schnell kann nur bauen für Mobile!
- IwGame - Werke auf der Oberseite der Marmelade und sagt, dass Sie es bereitstellen können
desktop und mobile mit Lua. Jede info ist sehr geschätzt auf dieser - sio2 - Sagt "SIO2 ist ein OpenGLES basierte cross-Plattform 2D und 3D
game-engine für iOS, Android, MacOS und Windows" und "Der Motor auch
können Sie den port des Spiels auf den Mac Store und auf Windows.", aber
Ihr forum-und web-Titel "Game-Engine für Mobile Geräte". Nicht
finden alle Infos auf wenn Sie können die Bereitstellung auf desktop-Plattformen, jede info ist
sehr geschätzt wieder. - Loom-Motor - Webstuhl ist ähnlich wie Haxe + OpenFL (versucht zu locken, die Flash-Entwickler), dass es nutzt AS3-wie von ECMAScript ist, aber es nicht bauen, native code aus. Aber es nutzt Cocos2D für die Darstellung, so sollte es in der Theorie so schnell sein, wie Cocos2D. -- Danke an Bojan.
- SDL - Ich habe gelesen, an mehreren stellen, dass SDL bereitstellen können auf fast jeder Plattform oder Gerät und hat eine Lua-Bindung. Aber ich kann nicht herausfinden, wie das funktioniert, da es nicht eine engine. Wer kann erklären, wie es funktioniert und ob es möglich ist, wieder einmal, sehr geschätzt.
- SFML - "Windows, Linux, Mac OS X und bald Android & iOS." nicht verwenden Lua, kann aber andere Sprachen wie Java und Python etc. Jemand irgendwelche Informationen auf dieser?
- Torgue2D - "Torque 2D wurde entwickelt, mit OS X -, Windows-und iOS-Geräte im Auge, und funktioniert genauso gut auf allen Plattformen." verwendet TorgueScript und kein Android =(
- Sencha - Scheint zu kompilieren, die auf allen Plattformen, die Javascript verwendet, zu denen, die ich kenne. Aber auch mit V8-JS würde diese Arbeit gut Leistung weisen im Vergleich zu anderen Optionen?
- GameMaker - eigene Skriptsprache GML und ich erinnere mich tatsächlich so ein tool für nicht-Programmierer. Hat es eigentlich inzwischen ein echter Motor, ich meine, für ernsthafte Entwicklung?
- Construct2 - Gleiche Frage wie gamemaker
- Corona - Lua-aber nur für mobile Endgeräte (Android und iOS nur)
- Cocos2D - Wie es scheint, hat eine Menge von Optionen, aber nicht sicher sind, mit der gleichen Sprache? Scheint, wie Sie haben würde, zu re-schreiben Sie Ihren gesamten code. Eine info, wenn cocos2D kann die Bereitstellung auf desktop + mobile mit fast den gleichen code würde sehr geschätzt werden.
- Angel2D - Sagt es bereitstellen können alles außer Android und verwendet Lua, wer jemals diese vor?
- libgdx --- Ich habe nur gute Dinge über dieses. Hier ist ein benchmark-test für libgdx und dort sah ich es erreichen 40k sprites bei 60fps. http://www.sparkrift.com/2012/1/love2d-vs-allegro-vs-clanlib-vs-libgdx-vs-cocos2d-x-vs-monogame-vs-xna-vs-sfml . Es scheint libgdx kaum geht über 30k eigentlich. Aber scheint immer noch erstaunlich. Dies ist auf der gleichen Ebene wie der Qt für mich, fast perfekt, außer ich bin nicht wirklich besorgt über die Leistung. libgdx bauen kann für so ziemlich alles.
- XNA + MonoGame --- MonoGame Leistung scheint nur wenig niedriger als libgdx, bauen auf den meisten Plattformen. Allerdings weiß ich nicht viel über XNA und ich habe es nicht erhalten zukünftige updates, aber ziemlich stabil ist? Mehr information ist willkommen.
- Zitrus --- Nicht so viele Informationen auf Zitrusfrüchte. AS3 game-engine bauen können, die für iOS, Android, Windows, Mac und mehr.
- Haxe + OpenFL --- OpenFL (Haxe) baut nativ auf vielen Plattformen, nicht nur auf Flash. Windows, Mac, Linux und Android alle optionale native Bereitstellung oder OpenFL runtime namens Neko, die ist in der Theorie schneller als Flash, und SDL 2.0 wird es ermöglichen, iOS deployment bald(ish). -- Danke an Bojan.
- Qt-Projekt --- Nur die Verknüpfung Qt-Projekt hier aufbauen können, für alles und hat eine ziemlich große community mit viele Bibliotheken von Drittanbietern, um Ihnen zu helfen sogar noch weiter.
- Moai ---Nur die Lua-engine, die ich kenne, können build für Desktop-und Mobile. Einzige Nachteil ist, die community ist nicht so groß, und Dokumentation ist nicht die beste. Aber wenn Sie können übergeben, die dieses eine große Lösung und die, die ich bin derzeit mit.
- Adobe --- Nicht vergessen zum hinzufügen von adobe hier, da kann er bauen, um alles, unterstützt flash.
- Unity3D --- Vor kurzem angekündigt, 2D-integration sieht sehr vielversprechend aus, die freigegeben werden sollen, Q3-Q4 2013.
- Cocos2d-x --- Ein open-source-engine. Unterstützt JS, Lua, C++ und mehrere Plattformen.
- Html5 --- Es scheint eine Menge von betonen auf html5 mobile apps, hier sind nur ein paar tools, die ich gefunden, die helfen können, den port für das html5-Projekt, um eine Plattform:
So, ich würde mich freuen, wenn du Kommentar von euren Erfahrungen mit allen Motoren und schlage vor, welches würden Sie empfehlen.
Danke für Eure Hilfe!
EDIT: Da dieses Thema immer populärer wird, werde ich das hinzufügen von weiteren Optionen, die ich gefunden habe, im Laufe der Zeit. Ich schlage vor, Sie wählen, was Sie am besten vertraut sind und das beste für euer Projekt braucht.
InformationsquelleAutor der Frage Hate Names | 2013-07-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde empfehlen, V-Play (v-play.net) - es ist ein cross-Plattform-game-engine basiert auf Qt für iOS, Android, Symbian, MeeGo, Blackberry10 und auch exportieren kann, für die native desktop-Anwendungen für Windows, Mac und Linux.
Es basiert auf C++, aber hat ein nettes scripting-Unterstützung für QML & JavaScript. QML ist ein Kinderspiel zu lernen, und können Ihre Produktivität steigern, da weniger code benötigt wird - sehe gerade der Vergleich mit cocos2d-x(60% weniger Loc) oder Corona(15% weniger LoC) für einen Vergleich die gleichen Spiele.
(Disclaimer: ich bin einer der Jungs hinter V-Play)
InformationsquelleAutor der Antwort Christian Feldbacher
Wenn Sie mit Python, Kivy ist eine gute Lösung in diesen Tagen. Es kompiliert auf allen Plattformen, die Sie Fragen:
Kivy verwendet eine Vielzahl von optimierten code für das Rendern von Grafiken (über Cython), so ist es auch schnell.
Hier ist ein speakerdeck, dass gibt Ihnen einige Hintergrundinformationen und einen überblick über die (android-spezifisch).
InformationsquelleAutor der Antwort dirkjot
Hier ist mein game-framework Oxygine.
Es ist open-source-moderne hardware-beschleunigte 2D-C++ framework für den mobilen und PC-Plattformen.
Features: - OpenGL(ES) 2, komprimierte Texturen, Atlanten, komplexe Animationen/tweens/sprites, scene graph, Schriftarten, event-handling, build-tools, und andere.
Gebaut werden kann auf der Oberseite von SDL2 oder Marmalade SDK.
In die basis des Motors gibt es einen scene graph, das ist ähnlich wie Flash. Kurz, rufen Sie diese als Flash für C++, aber komfortabler und schneller. Ursprünglich wurde es entwickelt für mobile Plattformen (iOS, Android), kann aber auch verwendet werden, für PC-Spiele.
InformationsquelleAutor der Antwort Denis Muratshin
Wie etwa HaxeFlixel? Wir haben eine große Auswahl an demos, und natürlich unterstützen cross-Plattform-Entwicklung über die Haxe + OpenFL. Dies ist ein open source Projekt gehostet GitHub. Wir unterstützen alle wichtigen Plattformen (inklusive iOS).
InformationsquelleAutor der Antwort CrazySam
Nicht erwähnt App Game Kit (AGK) hier, also lassen Sie mich füllen Sie die Lücke. Es ist hauptsächlich eine 2D cross-Plattform-SDK ermöglicht es Ihnen, code einmal in C++ oder seine eigene "Einfache" Sprache. Version 2 habe gerade über 400% Finanzierung auf Kickstarter und haben die volle 3D-Unterstützung, Stütze für die Wirbelsäule (für 2D animierte Charaktere), Kugel-Physik und eine ganze Reihe anderer neuer features.
Er hat bereits Facebook, Twitter, eine Reihe von Ultrabook-sensor-Befehle, Box2D und mehr. Ich nutze es von Anfang an und Liebe es (kann man das sagen?). Nein, ich arbeite nicht für Das Spiel Schöpfer (die Firma, die es erstellt hat) obwohl ich zugeben, ich habe für eine Weile, dass einige apps.
Eines der besten features aus meiner Sicht ist, können Sie entwickeln Windows-und broadcast von der IDE über Wi-Fi auf einem beliebigen unterstützten Gerät, also während ich ' m Codierung kann ich (innerhalb von Sekunden) mein test-code auf iPad, iPhone, Android, Windows, Mac oder Blackberry Playbook.
InformationsquelleAutor der Antwort Steve H
Wenn Sie C# - hintergrund. Haben Sie einen Blick auf die Dualität.
InformationsquelleAutor der Antwort Andy
Ich bin einfach zu beantworten, um Ihnen einige Einblicke, wie die SDL verwendet wird. Wie du gesagt hast, bevor es nicht eine game-engine (es ist nur eine Bibliothek eigentlich). Darüber hinaus ist es nicht Objekt-orientiert, und Sie nicht haben, einige einfache animation-Anlagen (Sie müssen code Sie selbst).
Wie es funktioniert (ich habe die C-version, aber ich Schätze mal, die Lua-Bindung sollte ähnlich sein):
Gehören die Header benötigt, um erstellen Sie das Projekt auf die Plattform, die Sie wollen.
Entwerfen Sie Ihre eigenen Spiel-Schleife, in der Sie (mindestens) eine ganze event-processing-system, frame-rate-manager und ein "screen cleaner (oder Update)" (ich bin ein beharren auf der Tatsache, dass Sie müssen manuell aktualisieren Sie Ihren Bildschirm mit der SDL_flip_screen-routine, die ist etwas, das nicht eines Ihrer Anliegen an alle mit Corona).
Dann code Ihr Spiel mit all den "Mechanikern", die Sie zuvor gemacht.
SDL ist ein low-level-Bibliothek (erwarten Sie nicht, eine einfach zu bedienende GUI-framework oder das storyboard framework von Corona zum Beispiel).
Schließlich diese Bibliothek wurde verwendet, um den port Civilization III zu Linux, also ja, es funktioniert, aber es wird Sie bitten, eine Menge Energie zu haben, so etwas wie Sie hatte mit Corona 😉
PS: ich bin kein Englisch-Muttersprachler, also bitte lassen Sie mich wissen, wenn ich nicht klar 🙂
InformationsquelleAutor der Antwort Julien
Gideros ist eine große Lua-basierte 2d-cross-Plattformen-Motor, die derzeit mit Unterstützung sowohl für Android-und IOS-Plattformen, aber mehr, um zu kommen.
Und es hat auch einige tolle features wie instant-on device testing, auto-Skalierung und die automatische Bild-Auflösung einfach Ziel verschiedenen Bildschirmgrößen, sowie die option zum erweitern jeder Plattform durch native plugins.
InformationsquelleAutor der Antwort Artūrs Sosins
Haben Sie auch ShiVa3D, einem ernsthaften Konkurrenten von Unity3D.
Es nutzt Lua und unterstützt viele Plattformen, von mobilen Spielekonsolen und web-Browsern.
Sehr intuitiv zu bedienen und sehr schöne Benutzeroberfläche, mit zu arbeiten.
InformationsquelleAutor der Antwort Exsigth