J'ai travaillé pendant un certain temps avec Corona SDK et j'adore la rapidité et la facilité avec laquelle je peux créer des applications puissantes avec Lua. Mais il ne peut compiler que pour iOS et Android, ce qui semble trop peu maintenant.
Mon intérêt principal est de pouvoir compiler sur Desktop AND Mobile. Au moins pour ce qui suit:
Je préférerais qu'il privilégie les scripts de type Lua plutôt que ActionScript, mais n'hésitez pas à publier tout ce que vous avez aimé et que vous avez déjà travaillé.
J'ai trouvé les moteurs suivants jusqu'à présent:
Html5 --- Il semble y avoir beaucoup d'insistance sur les applications mobiles html5, voici quelques outils que j'ai trouvés qui peuvent aider à porter votre projet html5 sur une plate-forme:
Donc, je serais heureux si vous pouviez commenter de vos expériences avec n'importe quel moteur et suggérer lequel vous recommanderiez. Merci de votre aide!
EDIT: Depuis que ce sujet devient populaire, je vais ajouter d'autres options que j'ai trouvées au fil du temps. Je vous suggère de choisir ce qui vous est le plus familier et le mieux adapté aux besoins de votre projet.
Je recommanderais V-Play (v-play.net) - c'est un moteur de jeu multi-plateforme basé sur Qt pour iOS, Android, Symbian, MeeGo, Blackberry10 et peut également exporter pour des applications de bureau natives pour Windows, Mac et Linux.
Il est basé sur C++ mais supporte les scripts avec précision pour QML & JavaScript . QML est une évidence à apprendre et peut augmenter votre productivité car moins de code est nécessaire - voyez la comparaison avec cocos2d-x (60% moins de Loc) ou Corona ( 15% moins de LdC) pour une comparaison des mêmes jeux.
(Avertissement: je suis l'un des gars derrière V-Play)
Si vous aimez utiliser Python, Kivy est une excellente solution de nos jours. Il compile toutes les plateformes que vous demandez:
Kivy fonctionne sous Linux, Windows, MacOSX, Android et IOS. Vous pouvez exécuter le même code sur toutes les plates-formes prises en charge. Il peut utiliser de manière native la plupart des protocoles d'entrées et des périphériques tels que WM_Touch, WM_Pen, Mac OS Trackpad X et Magic Mouse, Mtdev, HID du noyau Linux, TUIO Un simulateur de souris multi-touch est inclus.
Kivy utilise beaucoup de code optimisé pour le rendu graphique (via Cython), il est donc rapide aussi.
Voici un speakerdeck qui vous donne un aperçu et une vue d'ensemble (spécifique à Android).
Que diriez-vous de HaxeFlixel ? Nous avons un grand choix de démos , et soutenons bien sûr le développement multi-plateformes via Haxe + OpenFL. Ceci est un projet open source hébergé sur GitHub . Nous soutenons toutes les principales plates-formes (y compris iOS).
Voici mon cadre de jeu Oxygine . Il s’agit d’un framework C++ 2D à accélération matérielle moderne et open source destiné aux plates-formes mobiles et PC. Caractéristiques: OpenGL (ES) 2, textures compressées, atlas, animations/tweens/sprites complexes, graphes de scènes, polices, gestion des événements, outils de construction, etc. Peut être construit sur SDL2 ou le SDK Marmalade.
À la base du moteur, il y a un graphique de scène, similaire à celui de Flash. Pour être bref, vous pouvez appeler cela comme Flash pour C++, mais plus confortable et beaucoup plus rapide. Initialement, il a été développé pour les plateformes mobiles (iOS, Android), mais peut également être utilisé pour les jeux sur PC.
Aucune mention de App Game Kit (AGK) ici, alors laissez-moi combler le vide. Il s’agit d’un SDK multi-plateformes principalement 2D vous permettant de coder une fois en C++ ou dans son propre langage "Basic". La version 2 vient d’obtenir un financement de plus de 400% sur Kickstarter et comprendra un support 3D complet, Spine (pour les personnages animés en 2D), la physique des balles et de nombreuses autres fonctionnalités.
Il a déjà Facebook, Twitter, un tas de commandes de capteurs Ultrabook, Box2D et plus. Je l'utilise depuis le début et je l'adore (pouvez-vous le dire?). Non, je ne travaille pas pour The Game Creators (la société qui l'a créé) bien que j'avoue que je l'ai fait pendant un certain temps en créant des applications.
L'une des meilleures fonctionnalités de mon point de vue est que vous pouvez développer sur Windows et diffuser du IDE par Wi-Fi sur tout périphérique pris en charge. Ainsi, pendant le codage, je peux (en quelques secondes) tester mon code sur le Playbook iPad, Android, Windows, Mac ou Blackberry.
Si vous avez un fond C #. Regardez la dualité.
Duality est un framework de jeu 2D flexible entièrement écrit en C #. Il est là pour vous faciliter la tâche. Il fournit à la fois un moteur de jeu extensible et un éditeur visuel adapté. Un éditeur de niveau, un environnement de test ou un gestionnaire de contenu ne sera pas nécessaire, car Duality est tout cela en soi. Et le meilleur de tous: c’est gratuit.
Gideros est un excellent moteur multi-plateformes 2D basé sur Lua , supportant actuellement les deux plateformes Android et IOS, mais davantage à venir. Et Il dispose également de fonctionnalités intéressantes telles que le test instantané des périphériques, la mise à l'échelle automatique et la résolution automatique de l'image permettant de cibler facilement différentes tailles d'écran, ainsi que la possibilité d'étendre chaque plate-forme via des plug-ins natifs.
Je réponds simplement pour vous donner quelques indications sur la façon dont le langage SDL est utilisé. Comme vous l'avez dit auparavant, ce n'est pas un moteur de jeu (c'est en fait une bibliothèque). De plus, il n’est pas du tout orienté objet et vous ne disposez pas de facilités d’animation faciles (vous devez les coder vous-même).
Comment ça marche (j'ai utilisé la version C mais je suppose que la reliure Lua devrait être similaire):
Incluez les en-têtes nécessaires pour construire le projet sur la plate-forme souhaitée.
Concevez votre propre boucle de jeu dans laquelle vous allez configurer (au moins) tout un système de traitement des événements, un gestionnaire de fréquence d'images et un "nettoyeur d'écran (ou programme de mise à jour)" (j'insiste sur le fait que vous devez actualiser manuellement votre écran en utilisant la routine SDL_flip_screen, qui ne fait pas partie de vos préoccupations avec Corona).
Ensuite, codez votre jeu en utilisant tous les "mécanismes" que vous avez créés auparavant.
Le SDL est une bibliothèque de bas niveau (ne vous attendez pas à avoir un framework d’interface graphique facile à utiliser ou le framework de storyboard de Corona, par exemple).
Enfin, cette bibliothèque a été utilisée pour porter Civilization III sous Linux, alors oui, cela fonctionne mais il vous demandera beaucoup d’énergie pour avoir quelque chose comme vous l’avez fait avec Corona;)
PS: je ne parle pas anglais, merci de me le faire savoir si je n’étais pas clair :)
Vous avez également ShiVa3D , un concurrent sérieux de Unity3D. Il utilise Lua et prend en charge de nombreuses plates-formes, du mobile aux consoles de jeux et aux navigateurs Web.
Très intuitif à utiliser et très agréable interface utilisateur pour travailler avec.