Les Indices sur les langages

L'indice Tiobe   

tiobe index

L'indice PYPL   pypl
The RedMonk Programming Language Rankings   redmonk

Ressources de développement

Le portail developper.com 

L'incontournable des étudiants OpenClassroom

Point d'entrée de la MSDN Library

Centre de développement Microsoft

Le portail de code codeproject

Le portail codeguru

Dans le cadre de mes études, je me suis intéressé au logiciel Unity 3D. C’est lors de mon stage de fin d’étude que j’ai perfectionné mes connaissances sur ce moteur de jeu et que j’ai décidé de l’étudier.
Vous trouverez dans la suite de cette synthèse une présentation rapide de Unity 3D, ses forces et ses faiblesses ainsi que son implantation sur le marché.

Présentation

Unity 3D est un moteur de jeu 3D et 2D qui centralise la gestion des images, des sons, de la physique … et permet surtout le réalisation de jeux compatibles avec la plupart des appareils dont voici la liste:

  • Windows/Mac/Linux
  • iOS/Android/Windows Phone 8
  • Playstation 3/4/Vita
  • Xbox 360/Xbox One
  • Wii/Wii U
  • Navigateur internet, avec ou sans plugin

Ce logiciel se présente sous la forme d’un IDE (une interface graphique) et d’un éditeur de script compatible C#, Unity Script (un dérivé du Javascript) et Boo. Son IDE donne une approche orientée asset qui simplifie la création et lui permet d’être très apprécié des développeurs amateurs et indépendants.

 

Unity3D 1L’entreprise derrière ce moteur est Unity Technologies, fondée en 2004 par David Helgason, Nicholas Francis et Joachim Ante à Copenhague au Danemark. C’est dans l’échec de leur premier jeu vidéo que l’entreprise telle que nous la connaissons aujourd’hui prend forme. Leur jeu, GooBall, ne rencontra pas le succès escompté. Néanmoins, c’est grâce à cette expérience que les trois fondateurs se sont rendu compte de l’importance d’un moteur de jeu. Ils décidèrent donc de créer leur propre moteur, Unity 3D. La philosophie est déjà, à ce moment, d’aider les développeurs. La première version du logiciel sort en 2005. Aujourd’hui, nous en sommes à la version 5. Ce logiciel est disponible en 2 versions: l’une gratuite et l’autre payante.

Le Logiciel

Unity3D 2L’interface, assez intuitive, permet de manipuler les GameObjects via de simples drag and drop.
Avec cela, Unity dispose d’outils de création d’atlas et d’animations simples d’utilisation

Quelques notion de base :

  • Scène: elle contient tous les GameObjects, c’est-à-dire tout ce qui est affiché à l’écran, tous les scripts, etc.
  • GameObject: ce sont les objets élémentaires du moteur. Ils sont vus comme des conteneurs, et peuvent contenir plusieurs éléments en même temps (scripts, shader, image). Dés qu’un élément est présent dans le monde de notre scène, il prendra place dans un GameObject.
  • Prefab: une fois un GameObject crée dans une scène, il est possible de le sauvegarder en tant que fichier. Très utile lorsque l’on a besoin de plusieurs instances d’un GameObject dans notre scène.

L'éditeur de scriptMonoDevelop permet l’utilisation des points d’arrêt afin de debugger son code. De plus, il est possible de changer l’éditeur de script par défaut de Unity dans les options et de choisir Visual studio.

Unity en quelques chiffres:

[1], [2], [3], [4], [5]
Selon une étude datant de 2012, Unity est le moteur le plus utilisé dans la création d’application mobile. Voici les pourcentages de 2014:

Unity3D 3


Nous pouvons voir en bleu, les pourcentages de développeurs pour lesquels il s’agit de leur première réalisation.
Par rapport à ses concurrents directs Unity est le moteur de jeu le plus utilisé :

Unity3D 4


Ainsi, il est estimé que Unity touche environ 600 millions de joueurs grâce aux quelques 4 millions de développeurs inscrits sur le site et surtout aux 300 000 d’entre eux qui sont actifs.

Unity est donc très prisé et de nombreux développeurs font le pari d’utiliser ce logiciel. La question logique est donc “pourquoi ?”.

Forces et faiblesses du logiciel :

[9], [10]

Intérêts, forces

  • Unity dispose d’une interface graphique simplifiant la manipulation des éléments notamment pour les non-initiés aux joies du code.
  • Il est possible de manipuler les objets via cette interface lorsque votre programme est en cours d’exécution.
  • Il existe un Unity store dans lequel il est possible d’acheter des plugins et des assets graphiques, sonore, etc. Ce store est alimenté par des développeurs indépendants qui vendent leur outils de développement.
  • Ces plugins peuvent être installés de manière totalement transparente, les options s’ajoutant tout simplement dans la barre des menus.
  • Les GameObjects que l’on manipule dans l’interface peuvent être remaniés via le code, assurant ainsi une grande possibilité de personnalisation des éléments.
  • Unity3D 5Le plus gros avantage de Unity est la possibilité de builder votre jeu pour n’importe quelle plateforme, sans avoir à modifier le code source.
  • Unity étant très connu, il existe une forte communauté s’entre-aidant.
  • La version gratuite dispose d’assez d’élément pour créer un jeu de A à Z.
  • Unity permet d’importer les assets graphiques de quasiment tous les logiciels 3D (3ds Max et Maya en tête)
  • Unity Technologies offre des clés pour accéder à Unity pro lors de certains évènements. Comme les Game Jam par exemple. Ce sont des concours de création de jeu vidéo en temps limité (48h ou 72h) avec des thèmes imposés.

Faiblesses:

  • Nous n’avons jamais accès au code source du moteur. Ce qui implique qu’en cas de bug, nous ne pouvons qu’attendre la prochaine version du soft.
  • Les outils de versioning externe tels que mercurial ou github, peuvent engendrer des erreurs dans le projet. Certains variables initialisées par drag and drop dans l’interface de Unity peuvent parfois être perdues.
  • Unity est plus facile à prendre en main lorsque l’on vient du monde du développement, alors que les personnes ayant une formation de graphiste auront plus de mal.
  • Malgré les changements de tarif récent de Unity, avec un abonnement mensuel à 75$ pour la version pro. Son offre n’est pas la plus attrayante, surtout depuis les changements  récents de ses concurrents. D’autant plus lorsque l’on sait que les abonnements pour la version pro, la version android pro et la version iOS pro sont des abonnements séparés.

État du marché du travail:

[13], [14], [21], [23], [24], [25], [26], [27], [28], [29]

Nous avons vu qu’en termes de pourcentage, Unity était fortement utilisé par les développeurs. Mais que peut bien représenter ces pourcentages en unité concrète ? Avant de nous interresser à ce que peut apporter Unity dans l’enseignement, il est légitime de se demander s’il est utilisé dans le monde professionnel.

Le nombre de personnes employées dans entreprises liés aux jeux vidéo en France est  estimé à 23 000. Leur chiffre d’affaires est estimé à 4.9 milliards d’euros (en 2013). Ce qui fait du marché des jeux vidéo une industrie très attrayante. Il est ainsi logique d’apprendre que la moitié de ces entreprises ont moins de 5 ans d’existence.  Le marché du jeu vidéo est donc jeune et dynamique. Avec 56% de ces entreprises qui annoncent une augmentation de leur effectif dans l’année à venir.

Aux États-Unis, le nombre d’employés liés de près ou de loin aux jeux vidéo est de 140 000 personnes, pour un chiffre d’affaire de 21 milliards de dollars. Si l’on ne s’intéresse qu’aux entreprises liées directement au jeu vidéo (création, développement et autres services directement liés à la création), ces dernières employaient 33 140 personnes en 2009. Ce chiffre est passé à 43 000 en 2012. La croissance de ces chiffres au cours du temps semble se confirmer dans les principaux pays occidentaux. Du côté du Canada, le nombre de personnes employées dans des entreprises directement liées aux jeux vidéos est passé de 15 700 en 2011, à 16 500 en 2012.

Le monde du jeu est donc en pleine expansion. Elle est la première industrie du divertissement au monde avec un chiffre d’affaire de 70 milliards de dollars. Et les attentes sont à la hausse pour les années à venir.

Une nouvelle génération de console de salon a vu le jour en 2013. Les consoles de jeux de 8ème génération, composées de la Wii U, de la Xbox One et surtout de la Playstation 4 ont eu un taux d’acceptation par les “early adopter” extrêmement grand. Il nous est possible de comparer les ventes de ces consoles avec leur prédécesseurs: la Wii, la Xbox 360 et la Playstation 3. On peut approximer les vente da la nouvelle génération de console à environ 17,5 millions d’unités. Contre 14,5 millions d’unités pour l’ancienne génération. De la même manière, la vente des smartphones ne fait qu’augmenter.

 Unity3D 6    Unity3D 7

Chiffres de vente des consoles lors de leurs

7 premiers mois d’existence respectifs 

 

Chiffre de vente des smartphone 2012 - 2014 

Ce que prouve l’augmentation constante des ventes de support de jeu, c’est que la demande est toujours plus accrue et donc que les besoins des entreprises en développement vont aller en grandissant.

Et Unity 3D dans tout ça ? Je n’ai malheureusement trouvé aucun chiffre avancé par aucune étude sérieuse me permettant de me faire une idée de l'implantation de ce logiciel dans l’industrie. Tout du moins, je n’ai pas trouvé d’autre chiffre que ceux avancés dans la partie “Unity en quelques chiffres”. Néanmoins, de mon ressenti personnel, je peux assurer qu’il existe une demande de développeurs Unity. Surtout dans les petites entreprises.

J’ai pu remarquer lors de mes recherches de stage un fort besoin dans des entreprises travaillant dans des domaines annexes au jeu vidéo. Comme par exemple, Formalab, spécialisé dans le serious gaming. Marbotic, l’entreprise pour laquelle j’ai réalisé “Jusqu’à 100”, est spécialisée dans l’éducation pour enfant. J’ai aussi pu voir les besoins des entreprises en matière de visite virtuelle. Certains cabinets d’architecture font en effet appel à des ddéveloppeurs Unity pour réaliser la visite de leurs futures réalisations. J’ai aussi approché, lors de ma recherche de stage, des chercheurs réalisant des expériences virtuelles afin de sensibiliser les gens à différents handicaps. Pour mon cas, il s’agissait d’une balade en ville où l’utilisateur est mis dans la peau d’un déficient visuel. J’ajouterai à cela, mon embauche en CDD à la fin de mon stage dans l’entreprise Marbotic, pour exposer mon expérience en matière de possibilité de travail.

Ainsi, mon ressenti est qu’il existe une demande de développeurs Unity 3D. Cette demande correspond à des petits studios de jeu vidéo, pas assez grands pour réaliser leur propre moteur de jeu, ou à des entreprises annexes au domaine vidéo-ludique et qui ont besoin de simplicité de réalisation pour leurs travaux.

Ce qui est sûr dans tous les cas, c’est que les besoins de l’industrie vont aller en grandissant. Les chiffres montrent une augmentation des ventes de jeux et des supports de jeux. Si Unity 3D est utilisé par un certain pourcentage de développeurs et que le nombre total de développeurs augmente, alors mathématiquement, l’industrie va avoir besoin de plus en plus d’experts Unity.

Conclusion

Suite à l’étude des intérêts de Unity 3D et à l’analyse du marché du travail, nous pouvons affirmer que ce logiciel est très utilisé et qu’il comptera encore plus à l’avenir.Son apprentissage est rendu légitime par son utilisation dans le monde du travail. Plus qu’un éventuel outil d’apprentissage, Unity est un logiciel professionnel utilisé dans de nombreux studios de jeux vidéo. Et pas seulement ! Unity est très utilisé dans des domaines annexes, comme les visites virtuelles, l’éducation, le serious gaming, etc.
Enfin, j’ajouterais dans cette conclusion, mon opinion personnelle, qui est celle d’une personne ayant déjà fait son choix. Je désire en effet utiliser ce moteur de jeu dans ma vie professionnelle, ainsi que pour mes réalisations personnelles (notamment pour les game jam auxquelles je participe régulièrement). Et mon ressenti est qu’il est regrettable de n’avoir pu découvrir ce logiciel seulement lors de ma dernière année d’étude. Et qu’il m’ait fallu aller dans un pays étranger pour cela. Il y a de nombreuses choses que j’aurais aimé apprendre en cours (les shaders en tête), plutôt que sur le tard en entreprise, avec des délais à respecter. Compte tenu des bienfaits pédagogiques du jeu vidéo, je pense qu’il devrait être relayé au premier plan, même dans des formations généralistes. Et non une spécialisation pour école peu voir pas reconnues par l’état. Et je pense que Unity 3D est un bon moyen pour commencer.

 

Mathias Musset, Responsable Technique chez Marbotic, ancien élève 3iL.

 

Références :
 
[1]: http://www.gamasutra.com/view/news/169846/Mobile_game_developer_survey_leans_heavily_toward_iOS_Unity.php#.UFze0I1lTAE
[2]: http://www.visionmobile.com/product/developer-economics-q3-2014/
[3]: http://unity3diy.blogspot.fr/2014/10/what-is-unity-company-facts-you-should.html
[4]: http://unity3d.com/public-relations
[5]: http://www.informit.com/articles/article.aspx?p=2031153
[6]: https://fr.yeeply.com/blog/unity-et-cocos2d-developpement-de-jeux-2d/
[7]: http://www.developereconomics.com/top-game-development-tools-pros-cons/
[8]: http://blog.digitaltutors.com/unity-udk-cryengine-game-engine-choose/
[9]: http://openclassrooms.com/forum/sujet/unreal-engine-unity-ogre-irrlicht
[10]: http://giacomovaccari.tumblr.com/post/18380022743/what-game-engine-to-use-a-beginner-game-developer
[11]: http://en.wikipedia.org/wiki/CryEngine#Games_using_CryEngine
[12]: http://en.wikipedia.org/wiki/List_of_Unreal_Engine_games
[13]: http://emploi.afjv.com/emploi_offres.php
[14]: http://www.snjv.org/wp-content/uploads/2014/10/SNJV_barometre2014_05_BD_email.pdf
[15]: https://store.unity3d.com/education
[16]: http://unity3d.com/learn/tutorials/modules/
[17]: http://globalgamejam.org/
[18]: http://ludumdare.com/compo/
[19]: http://wizardfu.com/blog/cocos2d-best-iphone-game-engine/
[20]: http://www.jeuxvideo.com/news/2014/00073924-problemes-financiers-chez-crytek-ryse-2-un-jour-sur-ps4.htm
[21]: http://www.theesa.com/about-esa/industry-facts/
[22]: http://www.theesa.com/wp-content/uploads/2014/11/Games_Improving_Education-11.4.pdf
[23]: http://www.theesa.com/wp-content/uploads/2014/11/VideoGames21stCentury_2014.pdf
[24]: http://theesa.ca/wp-content/uploads/2013/10/ESAC-Video-Games-Profile-2013-FINAL-2013-10-21-CIRC.pdf
[25]: http://www.bigfishgames.com/blog/2014-global-gaming-stats-whos-playing-what-and-why/
[26]: http://www.lesnumeriques.com/jeux-video/jeu-video-conforte-sa-place-premiere-industrie-culturelle-n31902.html
[27]: http://www.01net.com/editorial/622562/wii-ps3-wii-u-ps4-xbox-one-quelle-console-a-connu-le-meilleur-depart/
[28]: http://www.zdnet.fr/actualites/chiffres-cles-les-ventes-de-mobiles-et-de-smartphones-39789928.htm
[29]: http://www.letudiant.fr/etudes/ecoles-specialisees/ecole-de-jeux-video-le-banc-dessai-de-toutes-les-formations-16627.html