Je suis infographiste 3D, j’aime le game design, 3D mais aussi 2D ; créer des univers dans lesquels des joueurs vont s’immerger pendant des heures me passionne.

Mais évidemment créer un jeu ce n’est pas juste une histoire de graphisme. La plupart du temps un jeu est le fruit d’un travail d’équipe réunissant de multiples compétences complémentaires et très différentes. Le graphiste fait le visuel, le level designer définit les « règles » et les mécanismes, le programmeur code et développe pour donner vie aux graphismes en créant les interactions, le scénariste, le sound designer et bien d’autres profils encore viennent allonger la liste des métiers pouvant entrer dans la conception d’un jeu vidéo. Et je ne parle même pas des spécialistes de chaque corps de métier.

Le challenge lorsque l’on créé un jeu seul est de réunir toutes ces spécialités en une seule et même personne ; vous !

Difficile mais pas impossible, car heureusement des outils existent pour aider les créateurs solitaires ou les petites équipes à atteindre leurs objectifs en comblant leurs faiblesses. Le graphiste pourra coder, le codeur pourra créer des graphismes, le néophyte pourra créer du son, s’auto-distribuer, faire son marketing…

Evoquons aujourd’ hui le cas du graphiste qui veut coder :

En préambule je dirais qu’apprendre un langage de programmation est vivement conseillé lorsque l’on désire se lancer dans le développement de jeux-vidéos. Le C++, le javascript, le C# sont des langages très répandus dans ce monde étrange constitué de symboles et de mots incompréhensibles au néophyte.

Mais disons-le l’apprentissage du code est généralement long, exigeant et sera plus ou moins difficile selon votre profil. L’approche est plutôt austère pour un débutant et chaque langage de programmation comportent des spécificités propres. Personnellement écrire du code ce n’est pas ma tasse de thé, j’y ai passé beaucoup de temps pour peu de résultats, alors peut-être vous aussi faites-vous partie de ces personnes complétement réfractaires, pour qui l’écriture du code, sa ponctuation, sa syntaxe restent mystiques malgré tous vos efforts.

Et c’est là qu’intervient l’alternative ; le visual scripting !

Non exempt de défauts, j’en parlerai juste après, cette solution ouvre aux graphistes et autres designers des perspectives immenses dans le développement d’un jeu vidéo en solo ; c’est le début de l’autonomie ! Le principe est simple, s’affranchir de l’écriture du code dans sa ponctuation native, en clair fini d’écrire le code, il va « suffire » de comprendre le code et de le retranscrire sous forme graphique et visuelle.

écran utilsant l'outil de visual scripting
 

L’un des outils les plus utilisés pour apprendre la programmation informatique de manière ludique, notamment aux plus jeunes, est le logiciel SCRATCH. Dans ce soft on va créer un jeu en assemblant des « blocs » de couleur entre eux, chacun ayant une fonction spécifique ou définissant des variables. C’est du code, penser comme du code, mais pas écrit comme du code. Le logiciel se charge de retranscrire l’interface visuelle et l’assemblage des différents blocs, en code.

Screenshot de sctratch lors de la création d'un jeu vidéo
 

Evidemment le visual scripting a séduit beaucoup de monde et on trouve de plus en plus de solutions de ce type dans nos moteurs de jeux favoris (pas uniquement dans le jeu vidéo d’ailleurs). Ainsi Unity est compatible avec de nombreux assets tels que PlayMaker, FlowCanvas ou Bolt pour ne citer que les plus connus, et va se doter dès 2019 de son propre système de visual scripting natif. Godot Engine et le célèbre Unreal Engine (avec ses non moins célèbres BluePrint) proposent déjà nativement des outils de visual scripting très avancés. A tel point que certains développeurs préfèrent utiliser ces systèmes plutôt que de coder à la dure. La démocratisation de ces outils a également ouvert le monde de la création de jeux-vidéos à un nouveau public ; tous les artistes et designers désireux de s’essayer à la création vidéo ludique.

Avantages et inconvénients du visual scripting :

Les avantages sont nombreux ; plus rapide, plus facile et accessibles pour les débutants, idéal pour prototyper et tester rapidement des concepts de jeu ; tout ce qui est possible avec du code est théoriquement possible avec du scripting visuel, si on prend un minimum de temps pour comprendre son fonctionnement.
Mais il y a évidemment un revers à la médaille, un petit revers je dirais. Dans le visual scripting les fonctions sont prédéfinies et assemblées entre elles pour créer les mécanismes de jeu, et forcément cette solution est moins souple que du code pur écrit que l’on peut totalement optimisé et créé sur mesure en fonction des besoins très précis. De plus il est parfois plus délicat de modifier du visual scripting lorsque les mécanismes deviennent complexes. Le visual scripting ne se prête donc pas vraiment à la conception d’ un gros blockbuster.

inconvénient du visual scripting : la lisibilité à l'écran
 

J’entends aussi souvent des reproches partiellement faux à l’égard du visual scripting ; il ralentirait excessivement la vitesse d’exécution du jeu, et oui comme l’ordinateur doit interpréter les « blocs » pour comprendre le code qu’ils représentent cela nous ferait perdre quelques précieuses nano secondes. C’était peut-être vrai avant, quand nos machines étaient plus faibles, mais cela ne l’est plus vraiment aujourd’hui ou alors de manière très infime et complètement négligeable. La plupart des systèmes de visual scripting d’aujourd’hui peuvent générer du code et la puissance de calcul de nos consoles et ordinateurs actuels permet de gérer ces tâches facilement. Mon avis est qu’il existe beaucoup de moyens pour optimiser un jeu de manière plus efficace que de se passer du visual scripting lorsque l’on en a besoin. Et rien n’empêche de mixer les deux si l’optimisation le nécessite.

L’autre remarque récurrente c’est : « pourquoi perdre son temps à apprendre le visual scripting au lieu d’apprendre le code directement ? » accompagné de « apprendre le code est à la portée de tous ». Et bien non je ne suis pas d’accord, apprendre le code n’est pas à la portée de tous, cela nécessite une certaine logique, une rigueur et un goût pour l’abstraction ce qui n’est clairement pas à la portée de tout le monde. De même que passer des heures à peaufiner un modèle 3D ennuierait plus d’un programmeur alors que moi, j’adore ça ! Bref il faut avoir la passion du code et ça, ça ne se décrète pas.

Conclusion sur le visual scripting lors de la création d'un jeu vidéo

Pour conclure on peut donc dire que le visual scriting s’adresse idéalement aux débutants car il est simple d’accès, aux graphistes car ils ouvrent les portes de la programmation et aux codeurs voulant tester et prototyper rapidement leurs idées. Il vous permettra de concevoir vos propres jeux-vidéos , de prendre plaisir à la création de mécanismes de jeu, bref de réaliser ce que vous avez en tête sans vous la prendre, la tête. Mais ne vous attendez pas à réaliser le prochain jeu AAA à succès, un tel jeu est forcément la conjugaison de tous les talents des différents spécialistes d’une équipe de développement.

Enfin, afin d’illustrer mon discours j’aimerais citer quelques jeux représentatifs, tous créés tout ou partie grâce à du visual scripting sur Unity, certains confidentiels et d’autres très connus :

Liste complètement non exhaustive
- Flashing Lights
- Hearthstones
- INSIDE
- The Forest

 

Concernant l'auteur de ce tuto sur le visual scripting :

Sylvain DAUTELLE, Généraliste 3D et enseignant/formateur 3D ( UNITY, 3DS Max et VRAY)

Chaine YOUTUBE : Créer son jeu vidéo facilement !


formation cpf jeux vidéo

Job Spotlight

Caster Esport

The Caster Esport is a little bit the host of the "internet"! Agile of his words, great analyst, the caster, or commentator, is there to animate the actions of the players during an esport dispute, to...

See +

Tindalos Interactive est un studio de développement de jeux vidéos indépendant situé à Paris et créé en mai 2010. Nous sommes spécialisés dans la réalisation de jeux sur PC. Notre...

See +

Don't hesitate to check one of our others tutorials