ARTICLE
Interviews Kifékoi [Les Progs] : Clément, Tool Programmer chez Shiro Games
par TheCubicCat,
email
Plongez dans les coulisses du jeu vidéo avec notre série d'interviews de professionnels du milieu intitulée "Kifékoi?", révélant différents parcours, les compétences et les défis qui façonnent les différents métiers de cette industrie. Cette fois-ci, c'est Clément, programmeur outils chez Shiro Games qui nous fait découvrir son métier... Maintenant !
Tout d’abord, peux-tu te présenter en quelques lignes, de la manière que tu le souhaites ?
Hello, je m'appelle Clément, j'ai 28 ans et je suis actuellement programmeur outils à Shiro Games. Ça fait maintenant plus de six ans que je bosse dans les métiers du jeu vidéo. J'aime beaucoup les jeux vidéo et tout ce qui tourne autour de leur création, et du coup je suis très fan de toute la scène indépendante et de ceux qui partagent leur processus de création en ligne. J'aime bien aussi composer de la musique sur mon temps libre.Comment as-tu intégré le milieu du jeu vidéo ? Quel poste occupes-tu actuellement ?
Même si je savais déjà que je voulais faire du jeu vidéo au début de mes études, je ne suis pas passé par une école spécialisée. À la place, j'ai intégré une école d'ingénieur, l'INSA de Lyon, où j'ai ensuite rejoint le département informatique. J'ai réussi à décrocher un stage de fin d'études à Don't Nod Entertainment à Paris, où je suis resté quatre ans avant de rentrer chez Shiro.Au début de ma carrière, j'ai d'abord commencé en tant que Gameplay Programmer, puis je me suis rendu compte que je préférais concevoir des outils pour aider mes collègues dans leur travail. J'ai graduellement glissé jusqu'à arriver à faire 50/50 entre le gameplay et les outils, avant que je postule chez Shiro pour juste faire des outils.
Qu’est-ce qui t’as donné envie de travailler dans le milieu du jeu vidéo ? Et de faire ce métier, précisément ?
J'ai toujours été fan de jeux vidéo. Mes parents me racontent que tout petit je battais déjà l'ordinateur aux échecs sur le Windows 3.1 de la maison (j'en ai aucun souvenir [rires]). Au collège/lycée, j'ai commencé à bricoler des programmes sur la calculatrice que mon frère m'avait refilée, et c'est comme ça que j'ai appris la programmation. Du coup, j'ai fini par me dire que je pourrais en faire mon métier, et c'est là que mon frère m'a conseillé de rejoindre une école d'ingénieur plutôt que de passer par une école de jeux vidéo. L'idée était que si jamais le jeu vidéo ne me plaisait pas, je pourrais me reconvertir dans les métiers de l'informatique, mais au final je me dis aujourd'hui que si le jeu vidéo ne me plaît pas, je vais encore moins aimer le reste.Quel est ton métier actuel et comment le décrirais-tu à quelqu'un qui ne travaille pas dans le milieu ?
En tant que programmeur outils ou Tool Programmer, mon rôle est de créer et/ou améliorer les outils dédiées à la création d'un ou plusieurs jeux. Ça peut aller d'un éditeur de niveaux pour placer rapidement des obstacles à un éditeur d’effets spéciaux, des scripts pour automatiser les tâches répétitives et plein d'autres choses. Le but est de simplifier et de fluidifier au maximum le travail des autres postes du studio.Du coup, on est amené à discuter et collaborer avec tous les autres métiers. C'est un job passionnant qui n'est malheureusement pas très connu parce que notre travail n'est que rarement vu par le public, sauf dans les rares cas où les jeux fournissent les éditeurs utilisés pendant leur production, comme sur WarCraft 3, par exemple. C'est d’ailleurs en partie à cause du temps que j'ai passé adolescent sur l'éditeur de ce jeu que je fais ce métier aujourd'hui !
Qu'est-ce qui définit un Tool Programmer ? Quelles sont ses missions ?
Le rôle d'un Tool Programmer est de concevoir une partie des logiciels nécessaires à la réalisation d'un jeu. Ses missions peuvent être assez variées en fonction des besoins du titre ou du studio en général. Il peut concevoir des outils spécifiques à un jeu, ou au contraire qui seront utiles sur tous les titres du studio. C'est un métier qui requiert pas mal de connaissances sur la production des jeux vidéo en général pour prendre des bonnes décisions sur les outils qui feront gagner le plus de temps aux équipes.Il faut aussi avoir des sensibilités en User Experience (UX) pour créer des outils qui soient rapides, intuitifs et pratiques pour les utilisateurs. Cela peut passer par l'ajout de raccourcis clavier pour les fonctionnalités les plus utilisées, l'agencement des menus, le soin apporté à l'interface et ainsi de suite. Avoir de l'expérience sur les différents logiciels et éditeurs utilisés dans l'industrie (comme par exemple Unreal, Unity, Blender, Photoshop, etc) est aussi un grand plus car on peut s'inspirer de leur fonctionnement et de leur interface pour créer nos propres outils.
Quelles sont les particularités d'un Tool Programmer chez Shiro ?
Chez Shiro, on possède une très grande partie de la Stack de développement, c'est-à-dire de la pile des technologies que l'on utilise pour développer nos jeux. Là où certains studios utilisent des moteurs commerciaux comme Unity ou Unreal, Shiro utilise son propre moteur : Heaps. C'est une brique logicielle qui sert de base de code pour développer des jeux PC et consoles, et on a par dessus un éditeur nommé Hide, qui permet entre autre d'importer des assets, de concevoir des niveaux, d'éditer les données du jeu avec une base dédiée et de réaliser des effets spéciaux.(Image: l'interface de Hide)
En allant encore plus loin, Shiro utilise aussi son propre langage de programmation, Haxe, qui a été créé par l'un des fondateurs de la société. Cela demande donc généralement aux programmeurs qui arrivent chez Shiro d'apprendre un nouveau langage, mais on s'y fait vite. L'avantage de Haxe est de pouvoir générer du code qui tourne nativement sur PC et console, mais aussi pour le navigateur web, car Hide utilise les technologies du web pour son interface d'édition.
Le gros avantage d'avoir la main sur toutes ces technologies est que l'on peut facilement les modifier et les personnaliser pour convenir exactement au besoin de nos jeux. De plus, elles sont open source et n'importe qui peut les utiliser sur ses propres projets et apporter des améliorations à ces outils.
(Image: l'environnement technique de Shiro Games)
Dans quel(s) studio(s) et sur quel(s) projet(s) as-tu travaillé ? Est-ce qu'il y en a un qui t'a particulièrement marqué ou qui sort du lot et, si oui, pourquoi ?
J'ai principalement travaillé à Don't Nod Entertainment où j'ai participé au développement de Tell Me Why et ensuite de Jusant. C'était un chouette projet où j'ai vraiment commencé à me spécialiser sur le développement des outils. Maintenant que je suis chez Shiro, j'aide au développement d'un peu tous les projets du studio.Quels sont les outils (matériel, logiciels) dont tu as besoin pour travailler ?
Chez Shiro, on utilise principalement Visual Studio Code pour l'édition du code, et Git pour le versioning de tous les outils (Heaps, Hide, et les autres librairies qu'on utilise), mais le développement des jeux en lui-même se passe sur Subversion (car on gère à la fois les assets des jeux ainsi que le code, qui est fait en Haxe).Comment est-ce que tu t'insères dans le processus de création d'un jeu vidéo ?
Les programmeurs outils interviennent à tout moment dans la production d'un jeu, même si le meilleur moment pour développer des outils se passe durant la phase de pré-production. C'est à ce moment-là que l'on va décider de quelle direction va prendre le jeu. On a le temps d'expérimenter pour déterminer quels seront les meilleurs outils pour aider au développement, et d'avoir les retours des Game Designers sur ce qui leur convient pour leur travail d'édition. Idéalement, tous les outils nécessaires devraient être prêts à être utilisés à la fin de la pré-production, mais les aléas du développement sont tels que c'est rarement le cas.Travailles-tu de manière rapprochée avec d'autres corps de métier ? Et si oui, lesquels ?
En fonction des outils développés en interne, on va être amenés à travailler avec plus ou moins de corps de métiers différents. Par exemple, les Concept Artists ne travaillent jamais à ma connaissance sur un logiciel de dessin développé en interne, donc on n’aura pas beaucoup d'interactions. En revanche, les programmeurs outils seront le plus souvent amenés à travailler avec les Game Designers et les Level Designers car ce sont souvent les métiers où il y a le moins d'outils déjà adaptés aux besoins du jeu, et donc là où on va devoir créer le plus d'outils. Discuter avec ces corps de métiers permet de comprendre leurs besoins et de trouver les solutions adaptées, et aussi évidemment de remonter les bugs qu'ils rencontrent.A quoi ressemble une journée de travail pour toi ?
Généralement, je vais commencer la journée avec une tâche précise en tête. Ça peut être une petite tâche qui prendra un ou deux jours, comme ajouter une simple fonctionnalité à un outil existant, mais ça peut être des tâches plus longues qui prennent plusieurs semaines, comme créer un nouvel outil complet de zéro. Je regarde aussi régulièrement notre Slack pour voir si des collègues n'ont pas remonté des bugs dans les outils qu'on a, surtout après que l'on a apporté des changements importants au code des outils.En fonction de la gravité du bug (si on peut quand même continuer à travailler en faisant attention ou au contraire si on est complètement bloqué), je mets de côté la tâche en cours pour aller le résoudre. Une fois par semaine, on fait une réunion avec les autres membres de l'équipe cross project pour discuter de qui fait quoi à l'instant T et planifier la semaine. On participe aussi parfois aux réunions d'équipe des jeux si on travaille spécifiquement sur un outil qu'ils utilisent dans leur développement. Ça permet de se tenir au courant de l'avancement du projet et d'anticiper les besoins à venir.
(Image: L'intérieur des locaux de Shiro Games - ©Actu Bordeaux / Jonas Denis)
Qu'est-ce que tu aimes le plus dans ton boulot ?
J'aime beaucoup bosser avec des gens super chouettes qui partagent la même passion. Aussi, en tant que programmeur, ça peut être stimulant d'avoir des problèmes complexes à résoudre et de trouver une solution qui marche bien.Quel serait le projet ou le studio de tes rêves ?
J'aimerais beaucoup un jour bosser sur un RPG où l'on combat avec des cartes qu'on collectionne pour se constituer des decks. C'est un genre qui est beaucoup trop sous-exploité en dehors des rogue-likes.Quels sont tes jeux préférés, si tu en as ? Qu'est-ce qui t'intéresse ou te plaît le plus dans les jeux vidéo en tant que joueur ?
Mon jeu préféré de tous les temps est Undertale, et après ça doit être sans doute Disco Elysium et Outer Wilds. J'ai des goûts assez variés en terme de jeu vidéo mais j'ai tendance à privilégier les titres indépendants parce qu'ils font toujours preuve d'originalité.À quoi ressemble le jeu vidéo du futur du jeu vidéo, selon toi ?
J'ai l'impression que l'industrie a besoin de changer ses méthodes de production. Les besoins toujours plus grands de réalisme ont contribué à rendre toujours plus longs les temps de production, ce qui fait qu'il n'est pas rare de passer cinq ans sur un seul projet. J'aimerais voir un retour à des jeux plus travaillés stylistiquement, avec des moyens plus modestes, mais qui du coup peuvent plus se concentrer sur le gameplay et le contenu.As-tu une recommandation culturelle du moment (jeu vidéo, film, musique...) ?
En ce moment, je joue à Tactical Breach Wizards, un jeu de tactique/puzzle assez drôle où on joue une épique de magiciens qui font des assauts genre SWAT pour essayer d’empêcher le début de la cinquième guerre mondiale (rien que ça). C'est vraiment très sympa, je recommande !Est-ce qu’il y a quelque chose que tu souhaiterais ajouter ? Un conseil ? Un message pour nos lecteurs ?
Si vous débutez dans le jeu vidéo et que vous voulez faire carrière, n'hésitez pas à faire des Game Jams de temps en temps. C'est la meilleure manière de finir un projet et d'avoir des trucs à mettre dans son CV / portfolio. Mais faites attention à bien dormir quand même !Si ce type d'article vous intéresse et que vous avez envie d'en lire plus, vous pouvez retrouver la liste complète des interviews sur l'article général de la série "Kifékoi".