Publicité

Développer des jeux n'a jamais été aussi simple. Les plateformes de développement de jeux comme Unity permettent de tout créer, des simples jeux de plateforme 2D aux jeux de tir 3D à la première personne. 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 véritable cœur de votre jeu sera le code qui détermine son comportement. Il peut être difficile de déterminer la langue à apprendre pour le développement de jeux, mais dans le cas d'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 le seul langage à apprendre pour la plate-forme, et pour cause.

Unity utilise Mono, qui est une implémentation multiplateforme du framework .NET de Microsoft. C # est le langage principal de .NET, et toutes les bibliothèques d'Unity sont construites à l'aide du code C #. Dire que C # est le langage de l'Unité ne serait pas une exagération. Unity a clairement indiqué qu'ils considéraient C # comme le seul langage à utiliser avec le moteur à l'avenir.

instagram viewer

C'est une bonne nouvelle, car C # est un langage puissant et facile à apprendre. L'unité n'est que l'un des nombreux bonnes raisons d'apprendre le C # 7 raisons pratiques d'apprendre la programmation C #Il existe de nombreux langages de programmation, alors lequel choisir pour apprendre? Voici plusieurs raisons d'apprendre le C #. Lire la suite , et si vous êtes débutant, vous pouvez même le trouver plus accessible. Le développement de jeux donne une structure à l'apprentissage et les objectifs basés sur des projets conduisent à une meilleure compréhension des nouveaux sujets.

Avec l'introduction du Système de travail C # et 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, appelé UnityScript. Depuis sa sortie, JavaScript a côtoyé C # en tant que langage de développement Unity complet. La référence de script Unity contenait un exemple de code en C # et JavaScript pour la plupart des éléments de la bibliothèque.

Cela a été utile pour les développeurs issus d'un arrière-plan JavaScript car, malgré les différences dans la structure du code, ils pouvaient utiliser une syntaxe familière. Il y avait cependant un problème.

Bien qu'UnityScript semble similaire à JavaScript, ce n'est pas le cas. UnityScript a des classes, ce que JavaScript n’a pas. Les fonctionnalités de JavaScript comme la déclaration de variables multiples et les points-virgules facultatifs ne sont pas disponibles dans UnityScript.

Peut-être d'une manière cruciale, la recherche d'aide JavaScript sur les projets Unity a toujours causé de la confusion car la plupart des gens l'ont appelé JavaScript plutôt qu'UnityScript. Les résultats pour la conception Web et le développement de jeux se sont estompés, et la différence entre les langues était un point de discorde pour les développeurs JavaScript purs.

Sans surprise, Unity a annoncé qu’ils allaient retirer la prise en charge d’UnityScript, et il existe désormais un calendrier en place pour le mettre hors service. Vous pouvez toujours utiliser JavaScript avec Unity, mais sachant que cela va prendre fin, pourquoi le feriez-vous?

3. Le vieux troisième choix: Boo

Au début de Unity, il y avait la possibilité d'utiliser Boo, un langage de type Python. Ce n'est peut-être pas surprenant que Rodrigo B. De Oliveira, Créateur 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. Qu'est ce qui ne s'est pas bien passé?

Pas assez de gens l'ont utilisé, supposant probablement qu'il essayait simplement d'imiter Python. Au fil du temps, Unity a abandonné la prise en charge de Boo, et les modifications à venir à UnityScript rendront tous les anciens scripts Boo inutiles dans Unity. Certains pourraient voir cela comme une opportunité 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 souhaitez développer des jeux, Python n'est probablement pas la langue pour vous 4 raisons pour lesquelles Python n'est pas le langage de programmation pour vousLe langage de programmation Python est extrêmement populaire, mais voici quelques raisons pour lesquelles vous voudrez peut-être éviter Python. Lire la suite , mais c'est possible. Dans son blog Microsoft Developer Community, Charlie Calvert décrit 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 le Bibliothèques IronPython de GitHub et référencez-les dans votre projet C #. Cela vous permettra d'appeler des scripts Python à partir de scripts C # comme vous le feriez pour n'importe quelle autre bibliothèque. IronPython permet également appel 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, c'est le projet frère reliant C # au langage de programmation Ruby — sont des projets fantastiques, mais ils ne sont pas pratiques à utiliser avec Unity.

5. Le choix intéressant: Lua

L'une des meilleures implémentations d'un langage externe pour Unity est MoonSharp- un interprète Lua. Ce projet n'est pas conçu pour remplacer C # en tant que langage, mais plutôt comme un pont. Le cas d'utilisation parfait pour MoonSharp serait d'ajouter d'une manière permettant aux joueurs de votre jeu de créer des mods de jeu en langage Lua.

Vous pouvez également l'utiliser pour décrire des objets et des niveaux de conception séparément de votre code de jeu principal.

Si vous codez déjà en C # et cherchez un moyen intéressant d'interfacer avec votre code, MoonSharp vaut la peine d'être considéré. Puisqu'il est disponible gratuitement sur Magasin d'actifs d'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 fournis par C #, vous pouvez parfois vouloir vos propres plugins. Les principales raisons pour lesquelles les gens optent pour des plugins sont 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 du code et peut améliorer les performances dans certains cas.

Dans la plupart des cas, C ++ sera le langage utilisé pour la création de plugins, mais C fonctionnerait tout aussi bien. Tant que le code est intégré dans une DLL, il peut être placé dans le dossier du plug-in Unity et référencé dans le code. Cependant, si vous maîtrisez déjà le codage en C / C ++, il est probable que l'apprentissage de C # serait une tâche relativement simple!

7. Nouveau langage pour les plugins: Rust

La rouille est une langue avec beaucoup de buzz autour d'elle. Les programmeurs expérimentés l'adorent pour l'incroyable 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, pour permettre aux développeurs de développer rapidement des logiciels hautes performances.

Bien qu'il ne soit pas possible d'écrire directement dans 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 vous 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 Unity. DllImport attribut. Naturellement, il y a plusieurs étapes entre les deux, et lire le post de suivi de Jim en plus d'acquérir une bonne compréhension des FFI (interfaces de fonctions étrangères) est conseillé!

Un choix simple

L'attitude d'Unity envers tout langage qui n'est pas C # est claire, et les améliorations constantes apportées à Unity reposent sur cette détermination. Ajoutez à cela l'amélioration continue du langage C # par Microsoft, et apprendre le développement de jeux C # for Unity est une évidence. Et n'oubliez pas de vérifier Unity Learn pour apprendre plus facilement le développement de jeux Unity Learn est le moyen le plus simple de maîtriser le développement de jeuxVous voulez commencer à développer vos propres jeux? Unity Learn est la meilleure et la plus simple façon d'apprendre et de maîtriser ce que vous devez savoir. Lire la suite .

Ce n’est cependant pas votre seule option, Unity n’est qu’un seul moteur et il options de logiciel de développement de jeux 5 outils logiciels de développement de jeux gratuits pour créer vos propres jeuxUn logiciel de développement de jeux gratuit est un excellent moyen de commencer à créer des jeux vidéo. Nous avons compilé le meilleur logiciel de jeu sur le marché. Lire la suite à choisir.

Ian Buckley est un journaliste indépendant, 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 ou du code DIY dans l'espoir de devenir un savant fou.