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

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?

logos Unity et Cocos2D developpement 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).

Ebook 3 Juego Descarga

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.

logo android devant icones android

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.

Proyecto Juego

[easy-social-share]