263 votes

2D de la croix-plate-forme de moteur de jeu pour Android et iOS?

J'ai travaillé quelque temps avec Unity3d et trouvé que c'est en 2D partie avec OnGUI() ou GUITextures trop maladroit. Aussi, même un petit jeu fait sur Unity3d est d'au moins 10 MO de téléchargement qui est juste trop pour un jeu en 2D.

Donc, je suis actuellement à la recherche d'un moteur pour la 2D. J'ai essayé de Cocos2D, mais c'est seulement sur iOS et je ne voudrais pas de réécrire le tout dans une autre langue pour Android (ainsi, par exemple, Java port de Cocos2d pour Android n'est pas une option). Au lieu de cela, je veux écrire le code une fois et avec moins de tracas déployer sur iOS, Android et éventuellement de Windows Phone 7. J'ai à la fois Windows et Mac.

Juste pour être plus détaillée, voici mes exigences pour le moteur:

  • doit être multi-plateforme
  • doit être efficace
  • doit être C++, Java, C# ou C Objectif depuis que je suis à l'aise avec eux et PAS de Flash, Javascript, HTML5 depuis que je ne suis pas un développeur web
  • doit avoir une grande communauté, des tutoriels, des bibliothèques supplémentaires qui couvrent la plupart des choses que vous auriez lors du développement sur iOS ou Android directement (in-app billing, facebook, etc.)
  • le dernier colis livré ne doit pas être trop grand
  • le moteur peut être libre, mais aussi je ne me dérangerait pas de payer un prix raisonnable

J'ai trouvé les moteurs suivants:

  • Marmelade (et IwGame moteur sur le dessus de celui-ci) - C++, trouvés ensemble des critiques très positives de la Marmelade mais vous ne savez pas à propos de IwGame. EDIT (Mars 2013): Ressemble à de la Marmelade SDK inclut désormais Cocos2Dx et quelques intégré IDE qui rend beaucoup mieux (et des frais de 150 $par année pour les dev indie qui est ok avec moi).
  • Corona SDK - Lua (efficacité douteuse), a aussi besoin de connexion internet pour compiler le code
  • Cocos2d-x - C++, a reçu beaucoup de commentaires des développeurs, la plupart du temps positif et beaucoup pense que c'est mieux pour la 2D
  • Des particules de code Java+Eclipse, n'a pas trouvé de critiques ou de commentaires
  • Moai - Lua, coudn'trouverez pas de critiques/avis sur elle
  • Singe moteur - semble avoir trop peu de fonctionnalités
  • Haxenme - il de Flash, je n'ai jamais utilisé et ne veulent pas
  • utiliser Unity3d mais avec 2D paquets comme 2D Toolkit
  • les ports de la SDL pour Android (aussi ici) et iOS - n'a pas l'air d'avoir beaucoup de soutien ou de développement actuel (?)
  • GLBasic de Base de la langue, je ne l'aime pas
  • regardern - semble être au début du développement (?)
  • Gamvas HTML5, ne ressemble pas à une maturité moteur pour moi
  • Ignifuga - Python, ne regarde pas aussi mature
  • ORX - vous ne savez pas si il est encore développé (?)
  • Construire 2 - rappelle GameMaker, peut-être ok pour le prototypage rapide mais définitivement pas au niveau de l'industrie des jeux
  • XNA et puis le port, le jeu à l'aide d' ExEn (aurait besoin Mono Touche de port pour iOS et Mono pour Android , du port, Android) - C#, et est probablement plus pensé pour les gens à venir à partir de produits Microsoft comme xBox (je viens d'Android). Aussi, ceux Mono outils coût de 800 $au total pour les petits développeurs
  • Impact - JavaScript, utilise HTML5. Je ne suis pas bien en JavaScript (par exemple préféré C# sur Unity3d), également pas sûr de l'efficacité puisqu'il s'exécute dans le navigateur (?)
  • GameMaker - propre langage GML et je me souviens de cette comme un outil pour les non-programmeurs. S'est-elle vraiment devenue un véritable moteur, je veux dire pour de développement sérieux?
  • AppGameKit - C++, semble être encore assez nouveau. N'ai pas trouvé d'avis sur elle
  • l'utilisation de Cocos2D et Objective C pour développer pour iOS uniquement et ensuite faire un APK pour Android en utilisant Stella SDK. Quelqu'un a fait cela? Je suis assez sûr qu'il y aura des limites, et comment à propos de Google dans l'application de facturation, AdMob et Facebook de l'intégration sur Android?
  • Moscrif - JavaScript, on dirait que c'est plus pour l'ancien web-développeurs
  • Starling - Flash 11, je ne suis pas bien en Flash
  • ND2D - pas encore 1.0, a-t-elle de nombreuses fonctionnalités?

Donc, je serais heureux si vous pouvez commenter votre expérience avec les moteurs, et suggèrent un dans la liste (ou autre chose que j'ai manqué) est le meilleur pour l'décrit les exigences. J'ai aussi peut-être tort avec mes premières impressions sur certains moteurs.

Je suis en train de penser à la confiture+IwGame comme la meilleure option, mais depuis je n'ai pas beaucoup d'info à propos de Cocos2d-x et de Particules de code, je ne suis pas vraiment sûr.

Merci!!!!

EDIT (juin 2013): jusqu'à présent, j'ai fait les 2 croix-plate-forme 2D, jeux et utilisé Unity3D avec la 2D de la Trousse à outils du plugin pour les deux. Pour le jeu avec une interface simple, j'ai utilisé une simple self-made-GUI système basé sur l'Unité. Pour plus complexe (par exemple lorsque des éléments d'interface peuvent se chevaucher), j'ai utilisé le NGUI plugin. Récemment 2D Toolkit ajouté un peu plus de classes de l'interface qui est très pratique puisque l'on a dû utiliser 2 systèmes différents pour la texture de l'atlas lors de la combinaison de NGUI avec la 2D de la boîte à outils. Je vais certainement essayer que dans le prochain jeu 2D. La raison principale pour choisir Unity3D pour les jeux 2D était que j'étais déjà profondément dans Unity3D à la fois en termes de l'expérience et du cumul des extraits de code pour les ré-utiliser. Aussi, j'ai acheté Unity3D pro (avec Android Pro et iOS Pro) pour les jeux 3D et il fait plein de sens de la juste rémunération supplémentaire de 60 $pour le 2D Trousse d'outils pour obtenir des jeux 2D également couverts. J'ai jusqu'à présent ne regrette pas ma décision, il semble avoir été optimales pour mon cas. La seule chose qui m'a donné des maux de tête a été l'ajout de fonctionnalités sociales à l'Prime31 plugins (Android & iOS plugins sociaux), mais je suppose que leurs bugs ne sont pas la faute de Prime31 mais de Twitter/Facebook au lieu de cela, donc je n'aurais probablement voir les mêmes bugs sur n'importe quel autre moteur ou plugin.

EDIT (Jan 2014): je suppose qu'avec l'Unité 4.3 la réponse à ma question est assez évident maintenant: l'Unité du nouveau système de sprites et peut-être aussi 2DToolkit totalement battre d'autre chose, surtout pour les personnes qui ont (comme moi) sur l'Unité pendant un certain temps et ont acheté la version Pro avec des add-ons.

43voto

Kamek Points 1365

LibGDX est l'un des meilleurs moteurs que j'ai jamais utilisé, fonctionne sur presque toutes les plates-formes, et effectue deux fois plus rapide que cocos2d-x dans la plupart des tests que j'ai fait. Vous pouvez utiliser une JVM langue que vous souhaitez. Voici un 13 de la partie tutorial de Java, et voici un tas à l'aide de jruby. Il y a une bonne animation squelettique outil qui fonctionne avec elle ici, et il a fait cuire à l'appui pour le carrelage, TMX cartes. Le framework d'interface est génial, et il a un graphe de scène et acteur de style API similaire à cocos2d scènes, les sprites et les actions. La communauté est génial, les mises à jour sont fréquentes, et la documentation est bonne. Ne laissez pas le java partie vous faire peur, c'est rapide, et vous pouvez les utiliser jruby ou scala ou ce que vous voulez. Je le recommande fortement pour la 2d ou de la 3d, il prend en charge.

33voto

noob Points 3962

J'ai travaillé avec des Marmalade et je l'ai trouvé satisfaisant. Bien qu'il n'est pas gratuit et la communauté des développeurs est pas assez grand, mais encore, vous pouvez répondre à la plupart de la tâche en utilisant des tutoriels. (Je vais écrire mes tutoriels une fois que j'ai eu quelques fois trop).
IwGame est un bon moteur, développé par l'un des Marmelade de l'utilisateur. C'est bon pour un jeu de base, mais si vous êtes à la recherche de quelques grave les jeux trucs, vous pouvez également utiliser Cocos2D-x avec de la Marmelade. Je n'ai jamais utilisé de Cocos2D-x, mais il y a une Extension de Marmelade de l' Github.
Une autre bonne chose à propos de la Marmelade est-il de l' EDK (Extension Development Kit), ce qui permet de faire une extension pour quelle que soit la fonctionnalité dont vous avez besoin qui est disponible en code natif, mais pas dans la recette. Je l'ai utilisé pour développer mes propres Admob extension et un Facebook extension.

Edit:
Marmelade a maintenant son propre RAD(Rapid Application Development) outil pour 2D de développement, nommé en tant que Marmalade Quick. Bien que le codage est en Lua pas en C++, mais puisqu'il est construit au-dessus de C++, de la Marmelade, vous pouvez facilement inclure une bibliothèque C++, et tous les autres EDK extensions. Aussi l' Cocos-2Dx et Box2D extensions sont preincluded dans le Rapide. Ils ont récemment lancé il de la version (C'était en version bêta pour les 3-4 mois). Je pense que nous, vous êtes vraiment à la recherche de 2D de développement, vous devez lui donner un essai.

Mise à jour:
Unity3D récemment lancé soutien pour les jeux 2D, qui semble mieux que n'importe quel autre moteur de jeu 2D, grâce à sa interface graphique et de l'Éditeur. La physique, sprite, etc support est intégré. Vous pouvez jeter un oeil sur elle.

13voto

user1643722 Points 101

Vous mentionnez Haxe/NME, mais vous semblez instinctivement le détester. Cependant, mon expérience a été très positive. Bien sûr, l'API est une ré-implémentation de l'API Flash, mais vous n'êtes pas limité à un ciblage Flash, vous pouvez aussi compiler HTML5 natif de Windows, Mac, iOS et Android. Haxe est un cadre agréable, moderne langue similaire à Java ou C#.

Si vous êtes intéressé, j'ai écrit un peu de mon expérience à l'aide de Haxe/NME: lien

12voto

Alex Huber Points 358

V-Play (v-play.net) est une croix-plate-forme de moteur de jeu basé sur l'intervalle Qt/QML avec de nombreux V-Jouer QML jeu de composants pour la manutention de multiples résolutions d'écrans et rapports d'aspect, des animations, des particules, de la physique, multi-touch, de gestes, de découverte de parcours et plus. Référence de l'API Le moteur de base est écrit en C++ natif, combiné avec le moteur de rendu personnalisé, les jeux de parvenir à une solide performance de 60fps sur tous les appareils.

V-Play est également livré avec le prêt-à-utiliser des modèles de jeu pour le plus grand succès les genres de jeu comme tour de défense, la plate-forme de jeux ou de jeux de puzzle.

Si vous êtes curieux au sujet de jeux réalisés avec V-Play, voici une petite sélection:

(Disclaimer: je suis l'un des gars derrière V-Play)

7voto

iseeall Points 1088

Voici une réponse de Richard Ramassage sur LinkedIn pour une question similaire de la mine:

J'ai utilisé des cocos 2dx de la marmelade et de l'unité sur les deux iOS et android. Pour Jeux 2d cocos2dx est le chemin à parcourir à chaque fois. L'unité est juste trop overkill pour les jeux 2d et comme déjà dit, de la marmelade est juste une mince la couche d'abstraction n'est vraiment pas un moteur de jeu. Vous pouvez même exécuter cocos2d sur le dessus de la confiture. Mon approche serait d'utiliser cocos2dx sur iOS et android puis à l'avenir exécuter cocosd2dx code sur le dessus de la marmelade d'un moyen facile de port pour bb10 et win phone 7

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