J'ai travaillé pendant un certain temps avec Unity3d et j'ai trouvé sa partie 2D avec OnGUI () ou GUITextures trop maladroite. En outre, même un plus petit jeu fait sur Unity3d est au moins 10 Mo de téléchargement, ce qui est tout simplement trop pour un jeu 2D.
Je recherche donc actuellement un moteur pour 2D. J'ai essayé Cocos2D mais c'est uniquement iOS et je ne voudrais pas tout réécrire dans une autre langue pour Android (donc, par exemple, le port Java de Cocos2d pour Android n'est pas une option). Au lieu de cela, je veux écrire le code une fois et le déployer le moins de tracas sur iOS, Android et éventuellement Windows Phone 7. J'ai à la fois Mac et Windows.
Juste pour être plus détaillé, voici mes exigences pour le moteur:
- doit être multiplateforme
- doit être efficace
- devrait être C ++, Java, C # ou Objective C car je suis à l'aise avec eux et NON Flash, Javascript, HTML5 car je ne suis pas 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 directement sur iOS ou Android (facturation via l'application, facebook, etc.)
- le colis final livré ne doit pas être trop volumineux
- le moteur peut être gratuit, mais cela ne me dérangerait pas non plus de payer un prix raisonnable
J'ai trouvé les moteurs suivants:
- Marmalade (et le moteur IwGame en plus) - C ++, a trouvé des critiques globalement très positives de Marmalade mais pas sûr d'IwGame. EDIT (mars 2013) : On dirait que Marmalade SDK comprend maintenant Cocos2Dx et un IDE intégré qui le rend beaucoup mieux (et coûte 150 $ par an pour un développeur indépendant, ce qui me convient).
- SDK Corona - Lua (efficacité douteuse), a également besoin d'une connexion Internet pour compiler le code
- Cocos2d-x - C ++, a reçu de nombreuses critiques de développeurs, pour la plupart positives et beaucoup pensent que c'est mieux pour la 2D
- Code de particules - Java + Eclipse, n'a trouvé aucun avis ou commentaire
- Moai - Lua, aucun avis / opinion sur celui-ci
- Moteur de singe - semble avoir trop peu de fonctionnalités
- Haxenme - c'est Flash, je ne l'ai jamais utilisé et je ne veux pas
- utiliser Unity3d mais avec des packages 2D comme 2D Toolkit
- ports de SDL vers Android (également ici ) et iOS - ne semble pas avoir beaucoup de support ou de développement actuel (?)
- GLBasic - Langage basique, je ne l'aime pas
- playN - semble être au début du développement (?)
- Gamvas - HTML5, ne ressemble pas à un moteur mature pour moi
- Ignifuga - Python, ne semble pas non plus mature
- ORX - je ne sais pas s'il est encore développé (?)
- Construct 2 - rappelle GameMaker, peut être acceptable pour les prototypes rapides mais certainement pas pour les jeux de niveau industriel
- XNA puis portez le jeu en utilisant ExEn (aurait besoin de Mono Touch pour porter sur iOS et Mono pour Android pour porter sur Android) - C #, et est probablement plus pensé pour les personnes venant de produits Microsoft comme xBox (je viens d'Android). De plus, ces outils mono coûtent 800 $ au total pour les petits développeurs
- Impact - JavaScript, utilise HTML5. Je ne suis pas beaucoup dans JavaScript (par exemple, C # préféré sur Unity3d), je ne suis pas sûr non plus de l'efficacité car il fonctionne dans le navigateur (?)
- GameMaker - propre langage de script GML et je me souviens en fait de celui-ci comme d'un outil pour les non-programmeurs. Est-il réellement devenu un véritable moteur, je veux dire pour un développement sérieux?
- AppGameKit - C ++, mais semble encore assez nouveau. Je n'ai trouvé aucun avis dessus
- utilisez Cocos2D et Objective C pour développer pour iOS uniquement, puis créez un APK pour Android à l'aide de Stella SDK . Quelqu'un a-t-il fait cela? Je suis sûr qu'il y aura des limitations, et que diriez-vous de la facturation dans l'application, de l'intégration d'AdMob et de Facebook sur Android?
- Moscrif - JavaScript, il semble que ce soit plus pour les anciens développeurs Web
- Starling - Flash 11, je n'aime pas beaucoup Flash
- ND2D - pas encore 1.0, a-t-il de nombreuses fonctionnalités?
Donc, je serais heureux si vous pouviez commenter vos expériences avec les moteurs et suggérer lequel dans la liste (ou tout autre élément que j'ai manqué) est le meilleur pour les exigences décrites. Je peux aussi me tromper avec mes premières impressions sur certains moteurs.
Je pense actuellement à Marmalade + IwGame comme la meilleure option, mais comme je n'ai pas beaucoup d'informations sur Cocos2d-x et le code des particules, je n'en suis pas vraiment sûr.
Je vous remercie!
EDIT (juin 2013): Jusqu'à présent, j'ai créé 2 jeux 2D multiplateformes et utilisé Unity3D avec le plugin 2D Toolkit pour les deux. Pour le jeu avec une interface graphique simple, j'ai utilisé un système GUI auto-conçu simple basé sur celui de Unity. Pour les plus complexes (par exemple où les éléments GUI peuvent se chevaucher), j'ai utilisé le plugin NGUI. Récemment, 2D Toolkit a ajouté quelques classes supplémentaires pour GUI, ce qui est très pratique car il fallait utiliser 2 systèmes différents pour les atlas de texture lors de la combinaison de NGUI avec 2D Toolkit. Je vais certainement essayer celui-ci dans le prochain jeu 2D. La principale raison pour laquelle j'ai choisi Unity3D pour les jeux 2D était que j'étais déjà profondément plongé dans Unity3D à la fois en termes d'expérience et de fragments de code accumulés à réutiliser. De plus, j'ai acheté Unity3D pro (avec Android Pro et iOS Pro) pour les jeux 3D et il était tout à fait logique de simplement payer 60 $ supplémentaires pour le 2D Toolkit pour que les jeux 2D soient également couverts. Jusqu'à présent, je ne le fais pas Je regrette ma décision, elle semble avoir été optimale pour mon cas. La seule chose qui m'a donné mal à la tête a été l'ajout de fonctionnalités sociales avec les plugins Prime31 (plugins sociaux Android et iOS) mais je suppose que leurs bugs ne sont pas la faute de Prime31 mais de Twitter / Facebook à la place, donc je verrais probablement les mêmes bugs sur tout autre moteur ou plugin.
EDIT (janvier 2014) : Je suppose qu'avec Unity 4.3, la réponse à ma question est maintenant assez évidente: le nouveau système de sprites de Unity et peut-être aussi 2DToolkit ont totalement battu tout le reste, en particulier pour les personnes qui (comme moi) ont été sur Unity pendant un certain temps et acheté la version Pro avec des modules complémentaires.
Réponses:
J'ai travaillé avec
Marmalade
et je l'ai trouvé satisfaisant. Bien que ce ne soit pas gratuit et que la communauté des développeurs ne soit pas assez grande, vous pouvez toujours gérer la plupart des tâches à l'aide de ses didacticiels. (J'écrirai mes tutoriels une fois que j'en aurai aussi quelques fois).IwGame
est un bon moteur, développé par l'un des utilisateurs de Marmalade. C'est bon pour un jeu de base, mais si vous recherchez des trucs de jeu avancés sérieux, vous pouvez également les utiliserCocos2D-x
avec Marmalade. Je n'ai jamais utilisé Cocos2D-x, mais il y a une extension sur MarmaladeGithub
.Une autre bonne chose à propos de Marmalade est qu'elle
EDK (Extension Development Kit)
vous permet de créer une extension pour toutes les fonctionnalités dont vous avez besoin, disponible en code natif, mais pas dans Marmalade. JE'Edit :
Marmalade a maintenant son propre outil RAD (Rapid Application Development) juste pour le développement 2D, nommé
Marmalade Quick
. Bien que le codage soit en Lua et non en C ++, mais comme il est construit au-dessus de C ++ Marmalade, vous pouvez facilement inclure une bibliothèque C ++ et toutes les autres extensions EDK. Les extensionsCocos-2Dx
etBox2D
sont également incluses dans le Quick. Ils ont récemment lancé sa version Release (elle était en version bêta pendant 3-4 mois). Je pense que nous recherchons vraiment uniquement du développement 2D, vous devriez l'essayer.Mise à jour:
Unity3D a récemment lancé la prise en charge des jeux 2D, ce qui semble meilleur que tout autre moteur de jeu 2D, en raison de son interface graphique et de l'éditeur. Le support physique, sprite, etc. est intégré. Vous pouvez y jeter un œil.
Mise à jour 2
Marmalade va bientôt abandonner son SDK au profit de sa production de jeux en interne. Ce ne sera donc pas une sage décision de s'appuyer sur cela.
la source
LibGDX est l'un des meilleurs moteurs que j'ai jamais utilisés, fonctionne sur presque toutes les plateformes et fonctionne deux fois plus vite que cocos2d-x dans la plupart des tests que j'ai effectués. Vous pouvez utiliser n'importe quel langage JVM que vous aimez. Voici un tutoriel en 13 parties en Java, et voici un tas utilisant jruby. Il existe un bon outil d'animation squelettique qui fonctionne avec ici , et il a également pris en charge les cartes TMX en mosaïque. Le cadre d'interface utilisateur est génial, et il a un graphique de scène et une API de style acteur similaire aux scènes, sprites et actions cocos2d. La communauté est géniale, les mises à jour sont fréquentes et la documentation est bonne. Ne laissez pas la partie java vous effrayer, c'est rapide, et vous pouvez utiliser jruby ou scala ou tout ce que vous voulez. Je le recommande vivement pour les travaux 2D ou 3D, il prend en charge les deux.
la source
Vous mentionnez Haxe / NME mais vous semblez détester instinctivement. Cependant, mon expérience avec elle 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é au ciblage de Flash, vous pouvez également compiler vers HTML5 ou des applications natives Windows, Mac, iOS et Android. Haxe est un langage agréable et moderne similaire à Java ou C #.
Si vous êtes intéressé, j'ai écrit un peu sur mon expérience avec Haxe / NME: lien
la source
V-Play (v-play.net) est un moteur de jeu multiplateforme basé sur Qt / QML avec de nombreux composants de jeu V-Play QML utiles pour gérer plusieurs résolutions d'affichage et proportions, animations, particules, physique, multi-touch, gestes, recherche de chemin et plus encore. Référence de l'API Le cœur du moteur est écrit en C ++ natif, combiné avec le rendu personnalisé, les jeux atteignent une solide performance de 60 ips sur tous les appareils.
V-Play est également livré avec des modèles de jeu prêts à l'emploi pour les genres de jeux les plus réussis comme la défense de tour, les jeux de plate-forme ou les jeux de puzzle.
Si vous êtes curieux de découvrir les jeux créés avec V-Play, en voici une sélection rapide:
(Avertissement: je suis l'un des gars derrière V-Play)
la source
Voici juste une réponse de Richard Pickup sur LinkedIn à une question similaire:
la source
Je trouve un moteur de jeu Wave agréable et bien rangé il y a quelques jours. Il utilise C # et possède également des convertisseurs Windows Phone et Windows Store, ce qui en fait un excellent remplacement de XNA pour moi
la source
et qu'en est-il de LibGDX de BadLogicGames?
la source
Découvrez Loom ( http://theengine.co ) est un nouveau moteur de jeu 2D multiplateforme proposant du code et des actifs d'échange à chaud sur les appareils. Cela signifie que vous pouvez travailler dans Photoshop sur vos actifs, vous pouvez mettre à jour votre code, modifier l'interface utilisateur de votre application / jeu, puis voir les modifications sur votre ou vos appareils pendant que l'application est en cours d'exécution.
En pensant aux autres moteurs de jeux multiplateformes dont j'ai entendu parler ou même avec lesquels j'ai joué, le moteur de jeu Loom est de loin le meilleur à mon avis avec beaucoup de fonctionnalités intéressantes. La plupart des autres moteurs de jeux similaires (Corona SDK, MOAI SDK, Gideros Mobile) sont basés sur Lua (avec une syntaxe étrange, du moins pour moi). Le moteur de jeu Loom utilise LoomScripts, un langage de script inspiré d'ActionScript 3, avec quelques fonctionnalités empruntées à C #. Si vous avez déjà développé en ActionScript 3, C # ou Java, LoomScript vous semblera familier (et je suis plus à l'aise avec cette syntaxe qu'avec la syntaxe de Lua).
La licence d'un an pour le moteur de jeu Loom coûte 500 $, et je pense que c'est un prix abordable pour tout développeur de jeux indépendants. Il y a quelques semaines, une licence gratuite d'un an a également été offerte. Après l'expiration de la licence, vous pouvez toujours utiliser Loom pour créer et déployer vos propres jeux, mais vous ne recevrez plus de mises à jour. Les créateurs de Loom sont très confiants et ils ont promis d'améliorer constamment leur bébé, ce qui vaut la peine d'acheter une autre licence.
Sans plus tarder, voici les grandes fonctionnalités de Loom:
Multiplateforme (iOS, Android, OS X, Windows, Linux / Ubuntu)
Le flux de travail inspiré de Rails vous permet de passer votre temps à travailler avec votre jeu (une commande pour créer un nouveau projet et une autre commande pour l'exécuter)
Compilateur rapide
Édition de code en direct et d'actifs
Possibilité d'intégrer des bibliothèques tierces
Utilise Cocos2DX pour le rendu
Prise en charge XML, JSON
LML (langage de balisage) et CSS pour styliser les éléments de l'interface utilisateur
Bibliothèque d'interface utilisateur
Injection de dépendance
Cadre de test unitaire
Physique des tamias
Voir vos changements en direct facilite le développement de plusieurs appareils
Petite taille de téléchargement
Conçu pour les équipes
Vous pouvez trouver plus de vidéos sur Loom ici: http://www.youtube.com/user/LoomEngine?feature=watch
Consultez également ce didacticiel détaillé en 4 parties: http://www.gamefromscratch.com/post/2013/02/28/A-closer-look-at-the-Loom-game-engine-Part-one-getting -started.aspx
la source
J'ai essayé AppGameKit, c'est à la fois c ++ et Basic. Il est très facile de coder des jeux 2D dans la variante de base, avec plus de physique, de collision et de tas. Il est également en développement actif et vraiment pas cher (65 $). Le problème principal est qu'il est vraiment difficile de compiler pour Android (vous devez télécharger des tas de fichiers et suivre des guides difficiles et des choses comme ça) Mon avis est qu'il n'est pas encore assez bon pour un usage commercial, mais est bon pour les programmeurs indépendants Il a une communauté de taille moyenne
la source
J'utilise actuellement Corona pour des applications commerciales avec beaucoup de succès. En ce qui concerne les jeux, j'ai l'impression qu'il ne fournit pas les performances de certains autres moteurs de développement multiplateforme. Il convient de noter que Carlos (fondateur d'Ansca Mobile / Corona SDK) a démarré une autre entreprise sur un moteur concurrent; Moteur Lanica Platino pour Appcelerator Titanium. Bien que je n'aie pas travaillé avec cela personnellement, cela semble prometteur. Gardez à l'esprit, cependant, qu'il est livré avec un prix de 999 $ / an.
Cela dit, je fais des recherches sur Moai depuis un petit moment (puisque je connais déjà la syntaxe Lua) et cela semble prometteur. Le fait qu'il puisse compiler pour plusieurs plates-formes, sans se limiter aux environnements mobiles, est attrayant.
Multimedia Fusion 2 est également un concurrent valable, compte tenu de la complexité des jeux produits et des performances qui en découlent. Vincere Totus Astrum ( http://gamesare.com ) me vient à l'esprit.
la source
Récemment, j'ai utilisé un moteur AS3: PushButton (maintenant mort, mais il est toujours fonctionnel et vous pourriez utiliser autre chose) pour faire ce travail. Pour le faire fonctionner avec Android et iOS, le projet a été compilé dans AIR pour les deux plates-formes et tout a fonctionné sans endommager les performances. Étant donné que Flash Builder est un peu cher (249 $), vous pouvez utiliser FlashDevelop (il existe des didacticiels à compiler dans AIR avec).
Le flash pourrait être une option car il est très facile à apprendre.
la source