Appuyez sur Entrée pour voir vos résultats ou Echap pour annuler.

Yassine Lahlou dans Entretiens

Unity ou Cocos2D pour le développement de jeux 2D?

L’équipe de Casual Arena est spécialiste dans le développement de jeux. Elle a créé, depuis 2008, des jeux flash pour navigateur. Pendant un an ils se sont spécialisés dans le développement de jeux multiplateformes pour mobiles et tablettes, en étudiant les différentes technologies et en se spécialisant dans Cocos 2D et Unity 3D. Nous leur avons demandé une comparaison entre ces 2 environnements de développement de jeux en nous expliquant leurs différences respectives et voilà le résultat :

Le développement de jeux sur la plateforme 2D

La plupart des développeurs de jeux pour mobiles et tablettes veulent que leurs jeux soient disponibles pour une multitude de plates-formes, ou au moins disponible pour iOS et Android. Bien sûr, il est toujours possible de faire 2 ou plusieurs développements en parallèle à l’aide du code natif (Objective-C pour iOS, Java pour Android …), mais cela est déconseillé. L’option la plus efficace est d’utiliser un environnement de développement de jeux qui permet de cibler une multitude de plates-formes à partir d’un seul développement. Ici se pose la première grande question: Quelle technologie utiliser?

Unity ou Cocos2D pour le développement de jeux 2D
Développement de jeux 2d

Il existe différents cadres ou différentes technologies disponibles pour l’utilisateur: Unity3D, Cocos2d, Marmalade ou Adobe Flash, entre autres. Adobe Flash n’est utilisé que lorsque votre application est déjà développé en Flash par le navigateur et que vous souhaitez passer rapidement vers le mobile. Si vous avez une application très simple (un jeu de société, bingo), il est possible d’utiliser cette technologie, cependant, si votre application nécessite plus de puissance de traitement de données (par exemple, jeux de billard, jeux de physique ou avec des animations lourdes, etc.) flash cesse d’être une solution viable. Cocos2D est un framework très complet, en open source et complètement gratuit. C’est pour cette raison que cette technologie est la plus utilisée, dépassant Marmalade ou Unity qui ne sont pas complètement gratuits. Unity3D a été et reste la plate-forme de développement de jeux la plus utilisée pour développer des jeux 3D. Avec les nouvelles versions d’Unity, qui comprennent des fonctionnalités spécifiques pour le développement de jeux 2D. Unity se positionne également comme une option très solide pour ce type de jeu. Cocos et Unity sont donc les deux options les plus utilisées actuellement pour le développement de jeux 2D. D’après notre expérience, nous vous recommandons de choisir l’une de ces 2 technologies pour le développement de jeux 2D. Mais la grande question demeure :

Quelle est la meilleure technologie pour le développement de jeux 2D: Unity 3D ou 2D Cocos?

Sur Internet, vous pouvez trouver de nombreuses comparaisons entre ces deux technologies. Quand nous avons commencé le développement de jeux, nous avons lu toutes les données et les informations disponibles pour prendre notre décision. Le problème avec ces comparaisons c’est qu’elles étaient presque toutes très subjectives. Ainsi les développeurs qui étaient spécialisés dans Cocos défendaient Cocos et ceux qui étaient spécialisés dans Unity, défendaient Unity. Il y avait vraiment très peu de comparaison de développeurs experts dans les deux plates-formes. Nous avons étudié et développé pour les 2 environnements ainsi nous avons pu nous forger une opinion objective: Unity3D est clairement une meilleur plate forme. En fait, une réponse plus précise serait: « Si vous pouvez vous le permettre opter pour Unity, sinon opter pour Cocos ». Unity3D est beaucoup plus avancée que la technologie de Cocos2D bien que Cocos2D soit gratuit et en open source. Tenez compte des différences entre eux. A tout moment, quand on parle de Cocos2D (ou simplement Cocos), nous nous référons à Cocos2D-x, qui est l’extension de la plate-forme Cocos2D (initialement orientée pour iPhone).

Unity ou Cocos2D pour le développement de jeux 2D?
Casual Arena: spécialiste des jeux 2d

Avantages Cocos2d contre Unity3D

Cocos2D est gratuit, en open source et le plus utilisé à ce jour. Unity est quand à lui coûteux. Il dispose d’une licence gratuite, mais qui est insuffisante pour les développeurs professionnels. Le coût de la licence varie entre $ 1,500 à plus de $ 4,500 par personne (plus les taxes), ce qui est un obstacle important pour les nouveaux développeurs. Cocos2D++ utilise la programmation en langage C et une petite cyberlibrairie, le rendant ainsi plus simple que le processeur Unity. Vous pouvez voir le code complet de Cocos2D, le modifier ou l’adapter selon vos besoins. Si vous êtes expert en C ++ et vous ne voulez pas payer pour la licence onéreuse de Unity, Cocos2D est le meilleur choix. Il possède des caractéristiques très positives, mais n’a pas de réels avantages, par rapport à Unity. Il dispose d’un bon moteur physique, une grande communauté de développeurs qui le soutienne et l’améliore chaque jour, etc. Mais tout cela Unity le fait également.

Avantages Unity3D contre Cocos2D

Tout le reste. Bien sûr, nous parlons toujours de 2D, comme Coco ne supporte pas les logiciels 3D.

Environnement de conception

Cocos2D n’a pas d’environnement de conception intégrée. La conception d’écrans ou interfaces doit être faite avec la programmation, en chargeant les images et en les positionnant avec C ++. Vous pouvez, cependant, utiliser des éditeurs graphiques externes comme Cocos Studio (également gratuit), pour vous aider à positionner des éléments sur l’écran et configurer certains objets. Mais cet éditeur est beaucoup moins puissant que celui d’Unity. L’éditeur d’Unity est entièrement intégré alors que celui de Cocos studio ne l’est pas. Son fonctionnement est basé sur un fichier XML et une série d’images que Cocos importe depuis la bibliothèque. Il a quelques défauts et cela ne fonctionne pas sur tous les ordinateurs. L’éditeur graphique d’Unity permet de dessiner et de concevoir les maquettes avec beaucoup de facilité, on peut y insérer des objets, des scripts, des effets de lumière, des effets physiques, etc. il suffit de faire glisser des composants et de modifier des paramètres. Par conséquent, cela réduit considérablement le temps de développement de jeux par rapport à la conception de Cocos2D ou Cocos Studio.

Langage de programmation

Cocos2D utilise le langage C ++, tandis que Unity3D vous permet d’utiliser le C # ou Javascript. Le langage C # et Javascript sont beaucoup plus puissants que le langage C ++, ce qui vous permet de programmer des actions et des algorithmes avec beaucoup moins d’effort que le langage C ++. De plus, pour ceux qui ne sont pas experts en langage C ++, l’apprentissage peut être très fastidieux et difficile. Vous avez également à vous soucier des problèmes tels que la gestion des pointeurs ou des fuites de mémoire. Toutes ces questions disparaissent avec Unity, vous laissant vous concentrer uniquement sur les caractéristiques de votre jeu, ce qui est encore un gain de temps énorme. En outre, les éditeurs de code unity soit MonoDevelop ou VisualStudio, sont beaucoup plus stables, simple et complets que ceux de Cocos (principalement XCode). En résumé, nous pouvons dire que C # / Javascript (unity) est un langage plus simple que C ++ (Cocos) car il vous permet de gagner du temps pour faire votre travail de manière plus efficaces.

Je veux créer un jeu mobile

Multiplateforme

Les deux technologies sont multiplateformes, mais Unity l’est davantage. Cocos2D permet le développement de différentes technologies mobiles, y compris iOS et Android. Unity complète le reste: console, bureau et le navigateur. Si vous voulez que votre développement de jeux soit compatible avec Facebook, Cocos2D est insuffisant. Utiliser Cocos supposerait que vous devrez faire un second développement pour un navigateur, par exemple sur Adobe Flash, c’est le cas pour la plupart des jeux disponibles pour mobile et navigateur sur le marché. Avec Unity cela n’est pas nécessaire, ce qui permet l’exportation au navigateur facilement. Unity est capable de s’exporter à presque toutes les technologies de jeux sur le marché: mobile et tablettes (iOS, Android, Windows Phone et BlackBerry), au navigateur (avec Unity Web Player et bientôt avec HTML 5) console (Xbox, PlayStation et Wii) et bureau (PC, Mac et Linux). En outre, Unity permet de faire des ajustements spécifiques pour les différents appareils de manière beaucoup plus simple que Cocos2D (par exemple, pour adapter un jeu pour Android et iOS)

Documentation et temps d’apprentissage

La documentation sur Unity est abondante. Ses tutoriels vidéo et ses textes sont clairs et certains sont même traduits en espagnol. Le support est relativement rapide et concis. En revanche, la documentation sur Cocos, est rare et de mauvaise qualité. Uniquement disponible en anglais et parfois seulement en chinois. Le support est mauvais, le forum est plein de questions sans réponse et obtenir des réponses est très difficile. Le temps d’apprentissage d’Unity est beaucoup plus rapide que celui de Cocos: l’éditeur graphique, C # / Javascript, sa documentation abondante rendent son apprentissage très agréable. Le contraire peut être dit à propos de Cocos2D, sauf si vous êtes un expert en C ++ et XCode et que vous voulez étudier les bibliothèques de Cocos2D à fond.

Communauté et extras

Unity3D est déjà un outil de développement de jeux très puissant. Sa puissance est davantage renforcée par les contributions de tierces personnes, par le biais de son magasin d’actifs. Des centaines de développeurs vendent leurs plugins, ressources et améliorent la boutique. Certains de ces plugins sont si puissants qu’ils sont un achat indispensable: modèles 3D, textures 2D, des animations, des applications, des extensions de l’éditeur, sont quelques-uns des extras que vous pouvez acheter ou télécharger gratuitement au magasin officiel d’Unity. Parmi eux, NGUI, qui est une extension pour l’éditeur graphique, et permet de réduire encore plus le temps de développement. NGUI est (presque) à Unity ce que jQuery est à Javascript. Il manque à Cocos ces extras fondamentaux.

Conclusion

Unity est cher mais vaut la peine. Le temps de développement de jeux est réduit et rentabilisera très vite les coûts de la licence. Unity dispose de beaucoup plus de prestations que Cocos2D et il est compatible avec plus d’appareils que Cocos2D. Ainsi, Unity3D est plus performant que Cocos2D.

Je veux créer un jeu mobile

Commentaires

Les commentaires ont été désactivés pour cet article