Développer des jeux n’a jamais été aussi facile. Les plates-formes de développement de jeux comme Unity permettent de tout créer, des simples jeux de plateforme 2D aux jeux de tir à la première personne 3D entièrement détaillés. Unity est gratuit pour les petits développeurs, et il existe une multitude de tutoriels sur la meilleure façon d’utiliser l’éditeur pour prototyper vos idées.
Apprendre à utiliser le programme Unity ne vous mènera que jusqu’à présent. Le cœur de votre jeu sera le code qui détermine son comportement., Déterminer quelle langue apprendre pour le développement de jeux peut être difficile – – – mais dans le cas de Unity, c’est simple.
1. Le meilleur choix: C#
Pour toute personne commençant par Unity, ou toute personne ayant une connaissance préalable de la programmation orientée objet, C# est le bon langage à apprendre pour Unity. En fait, C# est la seule langue à apprendre pour la plate-forme, et avec raison.
Unity utilise Mono, qui est une implémentation multiplateforme du.NET framework de Microsoft. C# est le langage principal de. NET, et toutes les bibliothèques de Unity sont construites en utilisant du code C#., Dire que C# est le langage de l’unité ne serait pas exagéré. Unity a clairement indiqué qu’ils considéraient C# comme le seul langage à utiliser avec le moteur à l’avenir.
C’est une bonne nouvelle, car C# est un langage puissant et facile à apprendre. Unity n’est qu’une des nombreuses bonnes raisons d’apprendre le C#, et si vous êtes débutant, vous pouvez même le trouver plus accessible. Développer des jeux donne une structure à l’apprentissage, et les objectifs basés sur des projets conduisent à une meilleure compréhension de nouveaux sujets.,
Il existe de nombreux langages de programmation, alors lequel devriez-vous choisir pour apprendre? Voici plusieurs raisons d’apprendre le C#.
Avec l’introduction du système de travail C# et de l’ECS, Unity pousse de plus en plus ce qui peut être fait avec C#, et le nouveau compilateur Burst le rend plus rapide que jamais.
2. L’alternative actuelle: JavaScript
Unity prend également en charge JavaScript—connu sous le nom UnityScript., Depuis sa sortie, JavaScript s’est assis côte à côte avec C# en tant que langage de développement Unity complet. La référence de script Unity avait un exemple de code en C# et JavaScript pour la plupart des éléments de la bibliothèque.
Cela était utile pour les développeurs venant d’un arrière-plan JavaScript car malgré les différences dans la façon dont le code était structuré, ils pouvaient utiliser une syntaxe familière. Toutefois, il y avait un problème.
Alors que UnityScript semble similaire à JavaScript—ce n’est pas le cas. UnityScript a des classes, ce qui n’est pas le cas de JavaScript., Les fonctionnalités de JavaScript telles que la déclaration de plusieurs variables et les demi-deux-points facultatifs ne sont pas disponibles dans UnityScript.
Peut-être crucial, la recherche d’aide JavaScript sur les projets Unity a toujours causé de la confusion car la plupart des gens l’appelaient JavaScript plutôt qu’UnityScript. Les résultats pour la conception Web et le développement de jeux se sont brouillés ensemble, et la différence entre les langues était un point de discorde pour les développeurs JavaScript purs.,
Peut-être sans surprise, Unity a annoncé qu’il allait retirer le support de UnityScript, et il y a maintenant un calendrier en place pour le désactiver. Vous pouvez toujours utiliser JavaScript avec Unity, mais sachant que cela va prendre fin, pourquoi le feriez-vous?
3. L’ancien Troisième choix: Boo
Dans les premiers jours de Unity, il y avait la possibilité d’utiliser Boo—un langage de type Python. Ce n’est peut-être pas surprenant car Rodrigo B. De Oliveira, le concepteur de Boo, a travaillé pour Unity. Le langage est compatible avec. NET et Mono et serait entièrement implémenté avec le moteur de jeu. Quel est le problème?,
Pas assez de gens l’ont utilisé, supposant probablement qu’il essayait simplement d’imiter Python. Au fil du temps, Unity a abandonné le support de Boo, et les modifications à venir à UnityScript rendront tous les anciens scripts Boo inutiles dans Unity. Certains pourraient voir cela comme une occasion manquée, car Boo était une grande tentative de syntaxe de type Python pour la programmation. NET.
Les amateurs de Python ont cependant une autre option.
4. Le choix étrange: IronPython
Si vous voulez développer des jeux, Python n’est probablement pas le langage pour vous, mais c’est possible., Dans son blog de la communauté des développeurs Microsoft, Charlie Calvert explique comment exécuter Python à partir de C # – – – mais ce n’est pas pour les timides. Près de dix ans plus tard, IronPython est toujours en développement actif.
En bref, vous devrez télécharger les bibliothèques IronPython depuis GitHub et les référencer dans votre projet C#. Cela vous permettra d’appeler des scripts Python à partir de scripts C# comme vous le feriez pour toute autre bibliothèque. IronPython permet également d’appeler des bibliothèques. NET à partir de Python. Aussi utile que cela puisse paraître, puisque Unity s’appuie sur C# , cette fonctionnalité n’aide pas.,
IronPython—et IronRuby, son projet sœur reliant C# au langage de programmation Ruby—sont des projets fantastiques, mais ils ne sont pas pratiques pour une utilisation avec Unity.
5. Le choix intéressant: Lua
L’une des meilleures implémentations d’un langage externe pour Unity est MoonSharp—un interpréteur Lua. Ce projet n’est pas conçu pour remplacer C# en tant que langage, plus agir comme un pont. Le cas d’utilisation parfait pour MoonSharp serait d’ajouter d’une manière pour les joueurs de votre jeu pour créer des mods de jeu dans la langue Lua.,
Vous pouvez également l’utiliser pour décrire les objets et les niveaux de conception séparément de votre code de jeu principal.
Si vous codez déjà en C# et que vous cherchez un moyen intéressant d’interfacer avec votre code, MoonSharp vaut la peine d’être considéré. Comme il est disponible gratuitement sur le magasin d’actifs de Unity, vous pouvez l’importer directement dans vos projets.
6. Meilleur langage pour les plugins: C/C++
Malgré la bibliothèque Unity robuste et tous les outils disponibles C# donne, parfois vous pouvez vouloir vos propres plugins., Les principales raisons pour lesquelles les gens optent pour les plugins incluent la vitesse, ou l’accès à une base de code déjà écrite dans une autre langue. La construction de ces scripts dans des plugins DLL permet d’économiser le code de refonte et peut améliorer les performances dans certains cas.
Dans la plupart des cas, C++ sera le langage utilisé pour la création de plugin, mais C fonctionnerait tout aussi bien. Tant que le code est intégré dans une DLL, il peut être placé dans le dossier plugin de Unity et référencé dans le code. La probabilité est, cependant, si vous êtes déjà à l’aise de coder en C/C++, que l’apprentissage de C# serait une tâche relativement simple!
7., Nouveau langage pour les plugins: Rust
Rust est un langage avec beaucoup de buzz autour d’elle. Les programmeurs expérimentés l’aiment pour l’incroyable quantité de contrôle qu’il donne tout en évitant les pièges de l’écriture dans des langages moins sûrs comme C++. Rust a été créé par Mozilla en 2009, comme un moyen pour les développeurs de développer rapidement des logiciels hautes performances.
Bien qu’il ne soit pas possible d’écrire directement Rust dans Unity, vous pouvez accéder aux fonctions et méthodes écrites dans Rust à partir de votre code Unity. Jim Fleming explique comment le faire en détail dans son post sur Medium.,
Si cela semble familier, c’est parce que c’est une autre façon de créer des plugins natifs. En tirant parti de la capacité de Rust à s’interfacer avec d’autres langages, vous pouvez appeler les fonctions Rust directement à partir du code C# à l’aide de l’attribut DllImport de Unity. Naturellement, il y a plusieurs étapes entre les deux, et il est conseillé de lire le post de suivi de Jim tout en acquérant une bonne compréhension des FFI (foreign function interfaces)!
Un choix simple
L’attitude de Unity envers tout langage qui n’est pas C# est claire, et les améliorations constantes de Unity reposent sur cette singularité., Ajoutez à cela l’amélioration continue du C# en tant que langage par Microsoft, et l’apprentissage du C# pour le développement de jeux Unity est une évidence. Et assurez-vous de consulter Unity Learn pour un moyen plus facile d’apprendre le développement de jeux.
Ce n’est cependant pas votre seule option, Unity n’est qu’un moteur, et il existe de nombreuses options de logiciels de développement de jeux parmi lesquelles choisir.
- Programmation
- JavaScript
- le Développement d’un Jeu
- C
- Unité
a Propos de L’Auteur
Ian Buckley est un journaliste freelance, musicien, interprète et producteur de vidéos vivant à Berlin, en Allemagne. Quand il n’écrit pas ou sur scène, il bricole de l’électronique DIY ou du code dans l’espoir de devenir un savant fou.
Plus De Ian Buckley