Les ficelles du métier #1 – Unity3D
Chez GSM Productions, nous aimons bien expérimenter. Du coup, depuis nos premières expériences vidéoludiques jusqu’à Get Well Soon!, nous n’avons jamais cessé d’essayer de nouveaux outils et de nouvelles méthodes. Cela dit, il semblerait que dernièrement, cette recherche tous azimuts laisse tout doucement place à une consolidation de notre “boite à outils”. C’est pourquoi nous avons décidé d’écrire une petite série d’articles vous présentant nos différents outils. Que vous soyez vous-même dévelopeur de jeux vidéos ou que vous soyez simplement curieux d’apprendre ce que lesdits dévelopeurs utilisent, suivez le guide !
Le choix le plus fondamental est sans conteste celui du “moteur de jeu”. De nos jours, il devient de plus en plus rare d’entreprendre de coder l’entiereté du jeu de A à Z. Bien qu’il s’agisse d’une solution permettant un contrôle total, la complexité du matériel présent dans les ordinateurs d’aujourd’hui, ainsi que celle des jeux actuels, rend cette tâche bien plus périlleuse qu’elle ne l’était auparavant. Parmi la myriade de moteurs et de librairies simplifiant le dévelopement, nous avons jeté notre dévolu sur Unity3D, un choix très populaire, surtout parmis les dévelopeurs indépendants.
L’un des avantages de Unity3D est qu’il offre une version gratuite aux limitations bien pensées qui laissent au dévelopeur un très vaste panel de possibilités. De plus, Unity3D est un moteur proposant de nombreuses options d’export du produit fini : PC (Windows, MacOS, Linux), navigateur Web, Android, iOS… Et avec les licenses appropriées, il est même possible d’adapter son jeu pour les consoles de salon ! Le seul bémol est que l’éditeur de Unity3D n’est disponible que sous Windows et MacOS. Linux en plus aurait été le paradis, mais on ne peut pas tout avoir…
Outre l’aspect coût et multi-plateformes, Unity3D fonctionne avec un paradigme qui nous facilite vraiment la vie: chaque objet du jeu est un type générique (GameObject) auquel sont attachés différents “composants”. Ces composants peuvent aussi bien être un modèle 3D représentant l’objet qu’un script décrivant la logique le gouvernant.
Cette approche extrêmement modulaire encourage la création de composants réutilisables et effectuant une fonction bien particulière et découplée au maximum du reste. C’est une bonne pratique en général, mais c’est encore mieux si le logiciel de dévelopement est construit autour de cette idée.
Depuis que nous avons adoptés Unity3D, le processus de dévelopement a pris une nouvelle ampleur au sein de notre équipe. Le passage d’une série d’outils nécessitant un important travail “manuel” avant de pouvoir être utilisés à un moteur intégrant toutes les étapes pour nous, y compris l’import natif des modèles 3D, images et autres textures, a changé pas mal de choses.
Nous restons toujours à l’affut des nouveaux outils de dévelopement, mais à l’heure actuelle, Unity3D est sans conteste le meilleur environnement pour le type de jeux que nous sommes occupés à concevoir. Nous aurons mis un certain temps à trouver chaussure à notre pied, mais maintenant que c’est fait, qu’est-ce que c’est comfortable !
Pour en apprendre plus sur Unity3D : http://unity3D.com
1 comment » | 3D, Tools