Ich habe einige Zeit mit Corona SDK gearbeitet und finde es toll, wie schnell und einfach ich mit Lua leistungsstarke Apps erstellen kann. Es kann jedoch nur für iOS und Android kompiliert werden, was sich jetzt zu wenig anfühlt.
Mein Hauptinteresse ist es, dass es auf Desktop AND Mobile kompiliert werden kann. Zumindest für Folgendes:
- Windows + Mac für den Desktop als eigenständige Anwendung.
- iOS + Android für Handys.
Ich würde es vorziehen, mich mehr auf Lua-Skripte als auf ActionScript zu konzentrieren, aber Sie können gerne alles posten, mit dem Sie gearbeitet haben und das Sie lieben.
Ich habe bisher folgende Motoren gefunden:
- Marmalade Quick - Nach eingehender Prüfung kann Marmalade Quick nur für Mobilgeräte erstellt werden!
- IwGame - Funktioniert auf Marmelade und kann mit Lua auf Desktop- und Mobilgeräten bereitgestellt werden. Jede Information wird sehr geschätzt
- sio2 - Sagt "SIO2 ist eine OpenGLES-basierte plattformübergreifende 2D- und 3D-Spiele-Engine für iOS, Android, MacOS und Windows" und "Mit der Engine können Sie Ihr Spiel auch im Mac Store und unter Windows portieren." und der Web-Titel lautet "Game Engine für mobile Geräte". Ich kann keine Informationen darüber finden, ob es auf Desktop-Plattformen bereitgestellt werden kann. Alle Informationen werden erneut sehr geschätzt.
- Loom Engine - Loom ähnelt Haxe + OpenFL (versucht, Flash-Entwickler anzulocken), da es AS3-ähnliches ECMAScript verwendet, aber keinen nativen Code daraus erstellt. Es wird jedoch Cocos2D zum Rendern verwendet, sodass es theoretisch so schnell wie Cocos2D sein sollte. - Danke an Bojan.
- SDL - Ich habe an mehreren Stellen gelesen, dass SDL auf nahezu jeder Plattform oder jedem Gerät bereitgestellt werden kann und eine Lua-Bindung aufweist. Aber ich kann nicht herausfinden, wie das funktioniert, da es kein Motor ist. Jeder, der erklären kann, wie es funktioniert und ob es möglich ist, wird erneut sehr geschätzt.
- SFML - "Windows, Linux, Mac OS X und bald auch Android & iOS." Verwendet Lua nicht, kann aber auch andere Sprachen wie Java und Python usw. verwenden. Hat jemand Informationen dazu?
- Torgue2D - "Torque 2D wurde unter Berücksichtigung von OS X-, Windows- und iOS-Geräten entwickelt und funktioniert auf allen Plattformen gleich gut." verwendet TorgueScript und kein Android = (
- Sencha - Scheint auf allen Plattformen zu kompilieren, verwendet auch Javascript, das ich kenne. Aber würde dies auch mit V8 JS im Vergleich zu anderen Optionen leistungsmäßig gut funktionieren?
- GameMaker - eigene Skriptsprache GML und ich erinnere mich tatsächlich an diese als Tool für Nicht-Programmierer. Ist es tatsächlich zu einem echten Motor geworden, meine ich für eine ernsthafte Entwicklung?
- Construct2 - Gleiche Frage wie Gamemaker
- Corona - Lua, aber nur für Mobilgeräte (nur für Android und iOS)
- Cocos2D - Scheint, als hätte es viele Optionen, ist sich aber nicht sicher mit derselben Sprache? Scheint, als müssten Sie Ihren gesamten Code neu schreiben. Alle Informationen, ob cocos2D mit fast demselben Code auf Desktop + Mobile bereitgestellt werden kann, sind sehr willkommen.
- Angel2D - Sagt, dass es für alles außer Android bereitgestellt werden kann und Lua verwendet, hat jemand dieses jemals zuvor verwendet?
- libgdx --- Ich habe nur gute Dinge darüber gesehen. Hier ist ein Benchmark-Test für libgdx, bei dem ich gesehen habe, dass er 40.000 Sprites mit 60 fps erreicht. http://www.sparkrift.com/2012/1/love2d-vs-allegro-vs-clanlib-vs-libgdx-vs-cocos2d-x-vs-monogame-vs-xna-vs-sfml . Es scheint, dass libgdx tatsächlich kaum über 30.000 geht. Aber scheint immer noch erstaunlich. Dies ist für mich auf dem gleichen Niveau wie Qt, fast perfekt, außer dass ich mir keine Sorgen um die Leistung mache. libgdx kann so ziemlich alles bauen.
- XNA + MonoGame --- Die Leistung von MonoGame scheint nur geringfügig niedriger zu sein als die von libgdx und kann auf den meisten Plattformen erstellt werden. Allerdings weiß ich nicht viel über XNA und ich habe gehört, dass es keine zukünftigen Updates erhalten wird, aber ziemlich stabil ist? Weitere Informationen sind willkommen.
- Citrus --- Ich habe auch nicht viele Informationen über Citrus. AS3-Game-Engine für iOS, Android, Windows, Mac und mehr.
- Haxe + OpenFL --- OpenFL (Haxe) ist auf vielen Plattformen nativ, nicht nur auf Flash. Windows, Mac, Linux und Android erhalten alle eine optionale native Bereitstellung oder OpenFL-Laufzeit namens Neko, die theoretisch schneller als Flash ist, und SDL 2.0 wird die iOS-Bereitstellung bald ermöglichen (ish). - Danke an Bojan.
- Qt-Projekt --- Nur das Qt-Projekt hier zu verlinken, kann für alles bauen und hat eine ziemlich große Community mit vielen Bibliotheken von Drittanbietern, die Ihnen noch weiter helfen.
- Moai --- Die einzige mir bekannte Lua-Engine, die für Desktop und Mobile gebaut werden kann. Der einzige Nachteil ist, dass die Community nicht so groß ist und die Dokumentation nicht die beste ist. Aber wenn Sie diese bestehen können, ist dies eine großartige Lösung und die, die ich derzeit verwende.
- Adobe --- Ich kann nicht vergessen, Adobe hier hinzuzufügen, da es auf alles aufbauen kann, was Flash unterstützt.
- Unity3D --- Die kürzlich angekündigte 2D-Integration sieht sehr vielversprechend aus und sollte im dritten bis vierten Quartal 2013 veröffentlicht werden.
- Cocos2d-x --- Eine Open Source Engine. Unterstützt JS, Lua, C ++ und mehrere Plattformen.
HTML5 --- Die mobilen HTML5-Apps scheinen stark betont zu werden. Hier sind nur einige Tools, mit denen ich Ihr HTML5-Projekt auf eine Plattform portieren kann:
Ich würde mich freuen, wenn Sie Ihre Erfahrungen mit Motoren kommentieren und vorschlagen könnten, welche Sie empfehlen würden. Danke für Ihre Hilfe!
BEARBEITEN: Da dieses Thema immer beliebter wird, werde ich weitere Optionen hinzufügen, die ich im Laufe der Zeit gefunden habe. Ich schlage vor, Sie wählen das, was Ihnen am vertrautesten und am besten für Ihre Projektanforderungen geeignet ist.
quelle
Antworten:
Ich würde V-Play (v-play.net) empfehlen - es ist eine plattformübergreifende Spiel-Engine, die auf Qt für iOS, Android, Symbian, MeeGo, Blackberry10 basiert und auch für native Desktop-Anwendungen für Windows, Mac und Linux exportiert werden kann.
Es basiert auf C ++, bietet jedoch eine übersichtliche Skriptunterstützung für QML und JavaScript . QML ist ein Kinderspiel und kann Ihre Produktivität steigern, da weniger Code benötigt wird. Sehen Sie sich einfach den Vergleich mit cocos2d-x (60% weniger Loc) oder Corona (15% weniger LoC) an, um dieselben Spiele zu vergleichen.
(Haftungsausschluss: Ich bin einer der Jungs hinter V-Play)
quelle
Wenn Sie Python verwenden möchten, ist Kivy heutzutage eine großartige Lösung. Es wird auf allen Plattformen kompiliert, nach denen Sie fragen:
Kivy verwendet viel optimierten Code für das Rendern von Grafiken (über Cython), so dass es auch schnell geht.
Hier ist ein Lautsprecherdeck , das Ihnen Hintergrundinformationen und einen Überblick gibt (androidspezifisch).
quelle
Wie wäre es mit HaxeFlixel ? Wir haben eine große Auswahl an Demos und unterstützen natürlich die plattformübergreifende Entwicklung über Haxe + OpenFL. Dies ist ein Open Source-Projekt, das auf GitHub gehostet wird . Wir unterstützen alle wichtigen Plattformen (einschließlich iOS).
quelle
Hier ist mein Spiel-Framework Oxygine . Es ist ein Open Source modernes hardwarebeschleunigtes 2D C ++ Framework für mobile und PC-Plattformen. Funktionen: OpenGL (ES) 2, komprimierte Texturen, Atlanten, komplexe Animationen / Tweens / Sprites, Szenendiagramme, Schriftarten, Ereignisbehandlung, Build-Tools und andere. Kann auf SDL2 oder Marmalade SDK aufgebaut werden.
Auf der Basis der Engine befindet sich ein Szenendiagramm, das dem von Flash ähnelt. Um es kurz zu machen, Sie können dies als Flash für C ++ bezeichnen, aber komfortabler und viel schneller. Ursprünglich wurde es für mobile Plattformen (iOS, Android) entwickelt, kann aber auch für PC-Spiele verwendet werden.
quelle
Das App Game Kit (AGK) wird hier nicht erwähnt. Lassen Sie mich also die Lücke füllen. Es handelt sich hauptsächlich um ein plattformübergreifendes 2D-SDK, mit dem Sie entweder in C ++ oder in der eigenen "Basic" -Sprache einmal codieren können. Version 2 hat gerade über 400% Finanzierung für Kickstarter erhalten und wird volle 3D-Unterstützung, Wirbelsäulenunterstützung (für 2D-animierte Charaktere), Kugelphysik und eine ganze Reihe weiterer neuer Funktionen bieten.
Es hat bereits Facebook, Twitter, eine Reihe von Ultrabook-Sensorbefehlen, Box2D und mehr. Ich habe es von Anfang an benutzt und liebe es (kannst du sagen?). Nein, ich arbeite nicht für The Game Creators (die Firma, die es erstellt hat), obwohl ich zugebe, dass ich einige Apps gemacht habe.
Eine der aus meiner Sicht besten Funktionen ist, dass Sie sie unter Windows entwickeln und von der IDE über Wi-Fi an jedes unterstützte Gerät senden können. Während ich codiere, kann ich meinen Code (innerhalb von Sekunden) auf iPad, Android, testen. Windows, Mac oder Blackberry Playbook.
quelle
Wenn Sie C # -Hintergrund haben. Schauen Sie sich Duality an.
quelle
Ich antworte nur, um Ihnen einige Einblicke in die Verwendung der SDL zu geben. Wie Sie bereits sagten, handelt es sich nicht um eine Spiel-Engine (eigentlich handelt es sich nur um eine Bibliothek). Darüber hinaus ist es überhaupt nicht objektorientiert und Sie haben keine einfachen Animationsfunktionen (Sie müssen sie selbst codieren).
Wie es funktioniert (ich habe die C-Version verwendet, aber ich denke, die Lua-Bindung sollte ähnlich sein):
Fügen Sie die Header ein, die zum Erstellen des Projekts auf der gewünschten Plattform erforderlich sind.
Entwerfen Sie Ihre eigene Spielschleife, in der Sie (mindestens) ein ganzes Ereignisverarbeitungssystem, einen Bildratenmanager und einen "Bildschirmreiniger (oder Updater)" einrichten (ich bestehe darauf, dass Sie Ihren Bildschirm manuell aktualisieren müssen Verwenden der Routine SDL_flip_screen, die bei Corona überhaupt nicht zu Ihren Anliegen gehört.
Codieren Sie dann Ihr Spiel mit allen "Mechaniken", die Sie zuvor erstellt haben.
Die SDL ist eine Bibliothek auf niedriger Ebene (erwarten Sie beispielsweise kein einfach zu verwendendes GUI-Framework oder das Storyboard-Framework von Corona).
Schließlich wurde diese Bibliothek verwendet, um Civilization III auf Linux zu portieren. Ja, es funktioniert, aber es wird Sie viel Energie kosten, etwas zu haben, wie Sie es mit Corona hatten;)
PS: Ich bin kein englischer Muttersprachler, also lass es mich wissen, wenn ich nicht klar bin :)
quelle
Gideros ist eine großartige Lua-basierte plattformübergreifende 2D-Engine , die derzeit sowohl Android- als auch IOS-Plattformen unterstützt, aber es werden noch weitere folgen . Darüber hinaus bietet es einige großartige Funktionen wie sofortiges Testen von Geräten, automatische Skalierung und automatische Bildauflösung, um auf einfache Weise verschiedene Bildschirmgrößen zu erreichen, sowie die Option, jede Plattform durch native Plugins zu erweitern.
quelle
Sie haben auch ShiVa3D , einen ernsthaften Konkurrenten von Unity3D. Es verwendet Lua und unterstützt viele Plattformen von Mobilgeräten über Spielekonsolen bis hin zu Webbrowsern.
Sehr intuitiv zu bedienen und sehr schöne Benutzeroberfläche zum Arbeiten.
quelle