82 votes

Moteurs de développement de jeux 2D multiplateformes

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 en utilisant Lua. Mais il ne peut compiler que pour iOS et Android, ce qui me semble trop peu maintenant.

Ce qui m'intéresse avant tout, c'est qu'il puisse être compilé pour les ordinateurs de bureau et les téléphones portables. Au moins pour les éléments suivants :

  • Windows + Mac pour le bureau, en tant qu'applications autonomes.
  • iOS + Android pour le mobile.

Je préférerais qu'il soit axé sur les scripts de type Lua plutôt que sur ActionScript, mais n'hésitez pas à publier tout ce avec quoi vous avez travaillé et que vous aimez.

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

  • Marmelade rapide - Après un examen plus approfondi, Marmalade Quick ne peut construire que pour Mobile !
  • IwGame - Fonctionne au dessus de marmalade et dit qu'il peut être déployé sur bureau et mobile avec Lua. Toute information est la bienvenue.
  • sio2 - SIO2 est un jeu multiplateforme en 2D et 3D 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". vous permet également de porter votre jeu sur le Mac Store et sur Windows", mais le titre de leur forum et de leur site web est "Game Engine for Mobile Devices". Je ne peux pas Je n'ai pas trouvé d'informations sur la possibilité de déployer le moteur sur les plateformes de bureau. Toute information est la bienvenue.
  • Moteur du métier à tisser - Loom est similaire à Haxe + OpenFL (qui tente d'attirer les développeurs Flash) en ce sens qu'il utilise un ECMAScript de type AS3, mais ne construit 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 être déployé sur presque toutes les plates-formes ou appareils et qu'il dispose d'une liaison Lua. Mais je n'arrive pas à trouver comment cela fonctionne car il ne s'agit pas d'un moteur. Si quelqu'un peut m'expliquer comment cela fonctionne et si c'est possible, je vous remercie encore une fois.
  • 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 a-t-il des informations à ce sujet ?
  • Torgue2D - Torque 2D a été développé avec OS X, Windows et iOS en tête et fonctionne aussi bien sur toutes les plateformes" utilise TorgueScript et pas Android =(
  • Sencha - Il semble compiler sur toutes les plates-formes et utilise également Javascript, ce que je sais. Mais même avec V8 JS, est-ce que cela fonctionnerait bien en termes de performances par rapport aux autres options ?
  • GameMaker - son propre langage de script GML et je me souviens en fait de celui-ci comme d'un outil pour les non-programmeurs. Est-il devenu un véritable moteur, c'est-à-dire un outil de développement sérieux ?
  • Construire2 - Même question que gamemaker
  • Corona - Lua mais uniquement pour les mobiles (Android et iOS uniquement également)
  • Cocos2D - Il semble qu'il y ait beaucoup d'options mais je ne suis pas sûr qu'il s'agisse de la même langue ? Il semblerait qu'il faille réécrire tout le code. N'importe quelle information si cocos2D peut déployer au bureau + mobile avec presque le même code serait grandement appréciée.
  • Angel2D - Il est dit qu'il peut être déployé sur tout sauf sur Android et qu'il utilise Lua. Quelqu'un l'a déjà utilisé ?
  • libgdx --- Je n'ai vu que de bonnes choses à ce sujet. Voici un test de référence pour libgdx et c'est là que je l'ai vu atteindre 40k sprites à 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 30 000 en fait. Mais ça semble quand même 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 pour à peu près tout.
  • XNA + MonoGame --- Les performances de MonoGame ne semblent que légèrement inférieures à celles de libgdx, et peuvent être adaptées à la plupart des plateformes. Cependant, je ne connais pas bien XNA et j'ai entendu dire qu'il ne recevra pas de futures mises à jour, mais qu'il est assez stable ? Plus d'informations sont les bienvenues.
  • Agrumes --- Je n'ai pas beaucoup d'informations sur les agrumes non plus. Moteur de jeu AS3 qui peut construire pour iOS, Android, Windows, Mac et plus.
  • Haxe + OpenFL --- OpenFL (Haxe) se construit en natif sur de nombreuses plateformes, pas seulement en Flash. Windows, Mac, Linux et Android ont tous un déploiement natif optionnel ou un runtime OpenFL appelé Neko qui est en théorie plus rapide que Flash, et SDL 2.0 permettra le déploiement iOS bientôt. -- Merci à Bojan.
  • Projet Qt --- Il suffit de lier le projet Qt ici, peut construire pour tout et a une communauté assez grande avec beaucoup de bibliothèques tierces pour vous aider encore plus.
  • Moai --- Le seul moteur Lua que je connaisse qui peut construire pour le bureau et le mobile. Le seul inconvénient est que la communauté n'est pas très importante et que la documentation n'est pas la meilleure. Mais si vous pouvez passer outre, c'est une excellente solution et celle que j'utilise actuellement.
  • Adobe --- On ne peut pas oublier d'ajouter Adobe ici car il peut construire tout ce qui supporte Flash.
  • Unity3D --- L'intégration 2D récemment annoncée semble très prometteuse, elle devrait sortir au troisième ou quatrième trimestre 2013.
  • Cocos2d-x --- Un moteur open source. Supporte JS, Lua, C++ et plusieurs plateformes.
  • Html5 --- Voici quelques outils que j'ai trouvés et qui peuvent vous aider à porter votre projet html5 sur une plateforme :

    1. Chrome incorporé

    2. Sencha

    3. Phonegap

    4. Appcelerator/Titanium

    5. Icénium

Je serais donc heureux si vous pouviez me faire part de vos expériences avec l'un ou l'autre des moteurs et me suggérer celui que vous recommanderiez. Merci de votre aide !

EDIT : Comme 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 celle qui vous est la plus familière et qui répond le mieux aux besoins de votre projet.

8voto

Je recommande V-Play (v-play.net) - il s'agit d'un moteur de jeu multiplateforme basé sur Qt pour iOS, Android, Symbian, MeeGo, Blackberry10 et qui peut également exporter pour des applications de bureau natives pour Windows, Mac et Linux.

Il est basé sur C++ mais possède un support de scripts soigné pour QML et JavaScript . QML est facile à apprendre et peut augmenter votre productivité en réduisant la quantité de code nécessaire. cocos2d-x (60% de Loc en moins) ou Corona (15% de moins de LoC) pour une comparaison des mêmes jeux.

6voto

dirkjot Points 651

Si vous aimez utiliser Python, Kivy est une excellente solution de nos jours. Elle compile pour toutes les plateformes que vous demandez :

Kivy fonctionne sur Linux, Windows, MacOSX, Android et IOS. Vous pouvez exécuter le même code sur toutes les plateformes prises en charge. Il peut utiliser nativement la plupart des protocoles d'entrée et les dispositifs comme WM_Touch, WM_Pen, Mac OS X Trackpad et Magic Mouse, Mtdev, Linux Kernel, etc. et Magic Mouse, Mtdev, Linux Kernel HID, TUIO. Un simulateur de souris multi-touch est inclus.

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

Voici un pont de haut-parleur qui vous donne un aperçu du contexte et une vue d'ensemble (spécifique à Android).

5voto

Denis Muratshin Points 21

Voici le cadre de mon jeu Oxygine . Il s'agit d'un cadre C++ open source moderne de 2D accélérée par le matériel pour les plateformes mobiles et PC. Caractéristiques : OpenGL(ES) 2, textures compressées, atlas, animations complexes/tweens/sprites, graphe de scène, polices, gestion des événements, outils de construction, etc. Peut être construit au-dessus de SDL2 ou de Marmalade SDK.

Dans la base du moteur, il y a un graphique de scène, qui est similaire à celui de Flash. En bref, on peut l'appeler Flash pour C++, mais plus confortable et beaucoup plus rapide. Initialement, il a été développé pour les plateformes mobiles (iOS, Android), mais il peut également être utilisé pour les jeux PC.

enter image description here

4voto

Steve H Points 41

Aucune mention de App Game Kit (AGK) ici, alors laissez-moi combler les lacunes. Il s'agit principalement d'un SDK 2D multiplateforme qui vous permet 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 en 2D), de la physique des balles et d'un tas d'autres nouvelles fonctionnalités.

Il dispose déjà de Facebook, Twitter, d'un tas de commandes de capteurs pour les ultrabooks, de Box2D et d'autres choses encore. Je l'utilise depuis le début et je l'adore (vous pouvez le deviner ?). Non, je ne travaille pas pour Les créateurs de jeux (la société qui l'a créé) bien que j'admette l'avoir fait pendant un certain temps en créant quelques applications.

L'une des meilleures fonctionnalités, de mon point de vue, est la possibilité de développer sous Windows et de diffuser l'IDE par Wi-Fi vers n'importe quel appareil pris en charge. Ainsi, pendant que je code, je peux (en quelques secondes) tester mon code sur iPad, Android, Windows, Mac ou Blackberry Playbook.

4voto

Ved Points 1104

Si vous avez des connaissances en C#. Jetez un coup d'œil à Duality.

Dualité est un cadre de jeu 2D flexible, entièrement écrit en C#. et il est là pour vous rendre les choses un peu plus faciles. Il fournit à la fois un moteur de jeu extensible et un éditeur visuel correspondant. Vous n'aurez pas besoin d'un éditeur de niveaux, d'un environnement de test ou d'un gestionnaire de contenu. car Duality est tout cela en soi. Et le meilleur de tous : il est gratuit.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X