Moteurs de développement de jeux inter-plateformes 2D

J’ai travaillé pendant un certain temps avec Corona SDK et j’aime la rapidité et la facilité avec lesquelles je peux créer des applications puissantes à l’aide de Lua. Mais il ne peut comstackr que pour iOS et Android, ce qui semble trop peu pour le moment.

Mon principal intérêt est de pouvoir comstackr sur Desktop AND Mobile. Au moins pour ce qui suit:

  • Windows + Mac pour ordinateur de bureau, en tant qu’applications autonomes.
  • iOS + Android pour mobile.

Je préférerais qu’il se penche davantage sur les scripts de type Lua que sur ActionScript, mais n’hésitez pas à poster tout ce que vous avez travaillé et aimé.

J’ai trouvé les moteurs suivants jusqu’à présent:

  • Marmalade Quick – Après avoir examiné la question, Marmalade Quick ne peut être construit que pour Mobile!
  • IwGame – Fonctionne au dessus de la marmelade et dit qu’il peut être déployé sur un ordinateur de bureau et mobile avec Lua. Toute information est grandement appréciée à ce sujet
  • sio2 – Dit “SIO2 est un moteur de jeu 2D et 3D multiplateforme basé sur OpenGLES pour iOS, Android, MacOS et Windows” et “Le moteur vous permet également de porter votre jeu sur le Mac Store et sur Windows.” et le titre Web est “Moteur de jeu pour appareils mobiles”. Impossible de trouver des informations sur la possibilité de déployer sur des plates-formes de bureau, toute information est grandement appréciée à nouveau.
  • Loom Engine – Loom est similaire à Haxe + OpenFL (tente d’attirer les développeurs Flash) dans la mesure où il utilise AS3-like de ECMAScript, mais ne génère pas de code natif à partir de celui-ci. Cependant, il utilise Cocos2D pour le rendu, il devrait donc en théorie être aussi rapide que Cocos2D. – Merci à Bojan.
  • SDL – J’ai lu à plusieurs endroits que SDL peut déployer sur presque toutes les plates-formes ou tous les périphériques et dispose d’une liaison Lua. Mais je ne peux pas trouver comment cela fonctionne car ce n’est pas un moteur. Quiconque peut expliquer comment cela fonctionne et si c’est possible est encore une fois très apprécié.
  • SFML – “Windows, Linux, Mac OS X et bientôt Android et iOS.” N’utilise pas Lua mais peut utiliser d’autres langages comme Java et Python, etc. Quelqu’un at-il des informations à ce sujet?
  • Torgue2D – “Le couple 2D a été développé en pensant aux appareils OS X, Windows et iOS et fonctionne aussi bien sur toutes les plates-formes.” utilise TorgueScript et pas Android = (
  • Sencha – Semble comstackr sur toutes les plates-formes, utilise aussi le Javascript que je connais. Mais même avec V8 JS, cela fonctionnerait-il bien en termes de performances par rapport aux autres options?
  • GameMaker – propre langage de script GML et je me souviens de celui-ci comme un outil pour les non-programmeurs. Est-ce que c’est devenu un vrai moteur, je veux dire pour le développement sérieux?
  • Construct2 – Même question que gamemaker
  • Corona – Lua mais uniquement mobile (Android et iOS uniquement)
  • Cocos2D – On dirait qu’il a beaucoup d’options mais pas sûr avec le même langage? Il semblerait que vous deviez réécrire tout votre code. Toute information si cocos2D peut déployer sur un ordinateur de bureau + mobile avec presque le même code serait grandement appréciée.
  • Angel2D – Dit qu’il peut déployer tout sauf Android et utilise Lua, quelqu’un a déjà utilisé celui-ci auparavant?
  • libgdx — J’ai seulement vu de bonnes choses à ce sujet. Voici un test de référence pour libgdx et c’est là que je l’ai vu atteindre les sprites de 40k à 60fps. http://www.sparkrift.com/2012/1/love2d-vs-allegro-vs-clanlib-vs-libgdx-vs-cocos2d-x-vs-monogame-vs-xna-vs-sfml . Il semble que libgdx dépasse à peine les 30k actuellement. Mais semble toujours incroyable. C’est au même niveau que Qt pour moi, presque parfait, sauf que je ne m’inquiète pas vraiment des performances. libgdx peut construire à peu près tout.
  • XNA + MonoGame — Les performances de MonoGame ne semblent que légèrement inférieures à celles de libgdx, et peuvent s’appliquer à la plupart des plates-formes. Cependant, je ne connais pas grand chose sur XNA et j’ai entendu dire qu’il ne recevrait pas de mises à jour futures, mais qu’il est assez stable? Plus d’informations sont les bienvenues.
  • Citrus — Ne pas avoir beaucoup d’informations sur les agrumes non plus. Un moteur de jeu AS3 pouvant être conçu pour iOS, Android, Windows, Mac et plus.
  • Haxe + OpenFL — OpenFL (Haxe) est natif sur de nombreuses plates-formes, pas seulement pour Flash. Windows, Mac, Linux et Android ont tous un déploiement natif ou OpenFL optionnel appelé Neko, qui est en théorie plus rapide que Flash, et SDL 2.0 permettra bientôt le déploiement iOS (ish). – Merci à Bojan.
  • Qt-Project — Lier simplement le projet Qt ici, peut construire pour tout et a une grande communauté avec beaucoup de bibliothèques tierces pour vous aider encore plus.
  • Moai — Le seul moteur Lua que je connaisse qui puisse être conçu pour Desktop et Mobile. Le seul inconvénient est que la communauté n’est pas si grande et que la documentation n’est pas la meilleure. Mais si vous pouvez vous faire passer, c’est une excellente solution et celle que j’utilise actuellement.
  • Adobe — N’oubliez pas d’append Adobe ici, car il peut être intégré à tout ce qui prend en charge Flash.
  • Unity3D — L’intégration 2D annoncée récemment semble très prometteuse et devrait être publiée au troisième sortingmestre 2013.
  • Cocos2d-x — Un moteur open source. Prend en charge JS, Lua, C ++ et plusieurs plates-formes.
  • Html5 — Il semble y avoir beaucoup d’emphase sur les applications mobiles html5, voici quelques outils que j’ai trouvés qui peuvent aider à porter votre projet html5 sur une plateforme:

    1. Chrome incorporé

    2. Sencha

    3. Phonegap

    4. Appcelerator / Titanium

    5. Icenium

Je serais donc heureux si vous pouviez commenter vos expériences avec des moteurs et suggérer celui que vous recommanderiez. Merci de votre aide!

EDIT: Comme ce sujet devient populaire, j’appendai 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 a un support de script soigné pour QML et 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 LoC) pour comparer les mêmes jeux.

(Disclaimer: Je suis l’un des gars derrière V-Play)

Si vous utilisez Python, Kivy est une excellente solution de nos jours. Il comstack sur 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 sockets en charge. Il peut utiliser nativement la plupart des protocoles d’entrées et des périphériques tels que WM_Touch, WM_Pen, Trackpad Mac OS X et Magic Mouse, Mtdev, HID Linux Kernel, TUIO. Un simulateur de souris multi-touch est inclus.

Kivy utilise beaucoup de code optimisé pour le rendu graphique (via Cython), donc il est rapide aussi.

Voici un haut – parleur qui vous donne un aperçu et un aperçu (spécifique à Android).

Voici mon framework de jeu Oxygine . Il s’agit d’un framework 2D C ++ 2D à code source ouvert pour les plates-formes mobiles et PC. Caractéristiques: OpenGL (ES) 2, textures compressées, atlas, animations / tweens / sprites complexes, graphe de scène, fonts, gestion des événements, outils de génération, etc. Peut être construit sur SDL2 ou Marmalade SDK.

Sur la base du moteur, il y a un graphe 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 plates-formes mobiles (iOS, Android), mais peut également être utilisé pour les jeux PC.

entrer la description de l'image ici

Que diriez-vous d’ HaxeFlixel ? Nous avons un grand choix de démos et, bien sûr, nous soutenons le développement multiplateforme via Haxe + OpenFL. Ceci est un projet open source hébergé sur GitHub . Nous prenons en charge toutes les principales plates-formes (y compris iOS).

Aucune mention de App Game Kit (AGK) ici alors laissez-moi combler le vide. Il s’agit principalement d’un SDK multi-plateformes en 2D vous permettant de coder une fois en C ++ ou dans son propre langage “Basic”. La version 2 vient d’être financée à plus de 400% sur Kickstarter et disposera d’un support 3D complet, d’un support Spine (pour les personnages animés 2D), de la physique des balles et de nombreuses autres nouvelles fonctionnalités.

Il a déjà Facebook, Twitter, un tas de commandes de capteurs Ultrabook, Box2D et plus encore. Je l’utilise depuis le début et je l’aime (pouvez-vous dire?). Non, je ne travaille pas pour The Game Creators (la société qui l’a créé), même si j’avoue que je l’ai fait pendant un moment en créant des applications.

Une des meilleures caractéristiques de mon sharepoint vue est que vous pouvez développer sur Windows et diffuser de l’IDE ​​sur Wi-Fi vers n’importe quel appareil supporté, alors que je code (en quelques secondes) mon code sur iPad, Android, Windows, Mac ou Blackberry Playbook.

Si vous avez un fond C #. Regardez la dualité.

La dualité est un framework de jeu 2D flexible écrit entièrement en C # – et il est ici pour vous simplifier la vie. Il fournit à la fois un moteur de jeu extensible et un éditeur visuel correspondant. Il n’y aura pas besoin d’un éditeur de niveaux, d’un environnement de test ou d’un gestionnaire de contenu, car la dualité est tout cela par elle-même. Et le meilleur de tous: c’est gratuit.

Je réponds simplement pour vous donner un aperçu de l’utilisation du langage SDL. Comme vous l’avez dit avant, ce n’est pas un moteur de jeu (ce n’est qu’une bibliothèque). De plus, il n’est pas du tout orienté object et vous n’avez 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 liaison Lua devrait être similaire):

Incluez les en-têtes nécessaires à la construction du projet sur la plate-forme souhaitée.

Concevez votre propre boucle de jeu dans laquelle vous allez configurer (au moins) un système complet de traitement des événements, un gestionnaire de fréquence d’images et un «nettoyeur d’écran (ou un programme de mise à jour)». utiliser la routine SDL_flip_screen, ce qui n’est pas une 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 une interface graphique facile à utiliser ou le framework de storyboard de Corona par exemple).

Finalement, cette bibliothèque a été utilisée pour porter Civilization III sur Linux, alors oui ça marche mais ça vous demandera beaucoup d’énergie pour avoir quelque chose comme avec Corona;)

PS: Je ne suis pas anglophone, alors faites-le moi savoir si je n’étais pas clair 🙂

Gideros est un excellent moteur de plates-formes croisées en 2D, basé sur Lua , qui supporte actuellement les plates-formes Android et IOS, mais plus à venir. De plus, il dispose de fonctionnalités exceptionnelles telles que le test instantané des périphériques, la mise à l’échelle automatique et la résolution automatique des images pour cibler facilement différentes tailles d’écran, ainsi que la possibilité d’étendre chaque plate-forme via des plugins natifs.

Vous avez également ShiVa3D , un sérieux concurrent de Unity3D. Il utilise Lua et prend en charge de nombreuses plates-formes, des consoles mobiles aux consoles de jeu et aux navigateurs Web.

Très intuitive à utiliser et très belle interface pour travailler avec.