Interview programmeur moteur – Bruno Marcel

Vous souhaitez en savoir plus sur le métier de programmeur moteur à Kylotonn ? Bruno Marcel vous en dit plus.

Comment définirais-tu le métier de programmeur moteur chez KT ?  Peux-tu nous préciser ton rôle au sein de Kylotonn ? 

J’ai un profil “moteur outils”, je travaille surtout sur des outils utilisés par d’autres équipes au sein de KT. Par exemple, les Level Designers utilisent beaucoup mon travail puisque j’ai travaillé sur les Splines (Les courbes), les routes, les croisements, les murets, les lignes blanches…
Je m’occupe moins de l’optimisation, nous avons d’autres profils qui travaillent davantage sur la performance, l’optimisation, etc. Par exemple, en ce moment, un des programmeurs moteur essaye de gagner de l’espace mémoire. C’est un peu plus “ingrat” car c’est un rôle indispensable, mais moins visible.
L’un des gros avantages de travailler sur l’outil, c’est le fait de travailler pour des gens au sein de Kylotonn. Nous voyons les utilisateurs de notre travail, et c’est facile de savoir ce qui leur plaît ou non.

Les programmeurs moteurs à Kylotonn sont un peu le socle à partir duquel beaucoup de métiers travaillent. Disons que si l’on rate quelque chose, tout est chamboulé derrière !

 

Comment fait-on évoluer le moteur ?

On crée de nouveaux outils, de nouvelles fonctionnalités, de nouveaux effets visuels, on travaille aussi sur des fonctionnalités existantes pour améliorer certaines choses… Et c’est vraiment un travail d’équipe ! Par exemple, pour  la météo dynamique, une personne a codé les nuages, une autre le soleil, et moi je fais l’interface qui permet à nos graphistes de travailler.
On écrit beaucoup moins de lignes de code contrairement à ce qu’on pourrait penser. On en écrit, mais on en efface aussi. Nous passons beaucoup de temps à chercher des bugs, et à essayer de les reproduire.

À Kylotonn, on travaille en “intégration continue”, c’est-à-dire que lorsqu’on crée une fonctionnalité, il n’y a pas de phase de validation. Les utilisateurs travaillent directement avec ce que l’on vient de produire. Donc il ne faut jamais publier son code sur la base de données sans que quelqu’un d’autre ne l’ait révisé. C’est toujours bien d’avoir un œil externe pour voir ce qu’on ne voit pas forcément, pour ne pas envoyer sur la base de données une fonctionnalité qui va faire crasher tous les utilisateurs !

 

Que préfères-tu dans ton métier ?

Le côté social ! Comme j’ai dis tout à l’heure, lorsqu’on travaille sur les outils, les “clients” ce sont les gens à l’intérieur de Kylotonn. Et j’aime beaucoup le contact avec les autres métiers, voire l’utilité directe de mon travail. Certains aiment davantage le défi technique du métier. J’apprécie surtout me demander “Qu’est ce que je pourrais faire pour faciliter la vie des gens qui vont utiliser les outils que je crée ?”.  

 

Raconte-nous ta journée type

Ma journée commence toujours par la mise à jour de ma base, c’est-à-dire que je télécharge toutes les modifications effectuées depuis la veille. Et après…Je commence à travailler ! C’est assez difficile de donner une “journée type”. En règle générale j’avance sur ma tâche en cours, parfois je fais du “débug”, c’est-à-dire que, si quelqu’un a un souci avec un de mes outils, je cherche à corriger le problème. Et puis, j’ai quelques réunions. Une fois par semaine, on se réunit avec les 27 personnes de l’équipe moteur et on présente ce que l’on a réalisé dans la semaine.
On s’entraide aussi beaucoup entre les personnes de l’équipe moteur, ou d’autres corps de métier.
En résumé, on s’adapte selon les besoins et les tâches à accomplir. 

 

Peux-tu nous parler de ton parcours ?


J’ai commencé à programmer à 8 ans, avec brique programmable LEGO. C’est un langage de programmation très visuel. La dessus j’ai fait pas mal de trucs “de base”, comme un détecteur de bonbons qui permet de trier les bonbons en fonction de leur couleur avec un petit capteur optique. Ou un petit tank télécommandé… mais il n’a tiré qu’une seule fois car j’ai fait un trou dans un mur en le testant ! Et puis plein d’autres choses, des robots qui suivent des lignes, un trombone à coulisse, j’ai fait en sorte que mon tank suive les gens avec un détecteur de mouvement… J’imprimais mes feuilles de code et je faisais ça sur papier.


Ensuite j’ai commencé à utiliser Excel. Je ne jouais pas beaucoup aux jeux vidéo quand j’étais petit, mais mon père utilisait beaucoup Excel et s’intéressait à l’informatique. Du coup je me suis intéressé à ce qu’il faisait, et de fil en aiguille j’ai créé plusieurs petits jeux sur ce logiciel : J’ai commencé par un jeu de belote, ou j’ai codé le tirage des cartes avec une mini intelligence artificielle. Et puis j’ai fait d’autres jeux de cartes type yugi-ho en scannant les cartes pour les intégrer.
Finalement, mes parents m’ont acheté mon premier logiciel qui permettait de développer des jeux en 3D: 3D game creator. Et c’est ce qui m’a permis de vraiment plonger dans la programmation. J’ai fait un jeu de Quidditch par exemple, on pouvait jouer tous les rôles. Mais le poste de gardien n’était pas très amusant car mes IA étaient nulles (rire).
Lorsque la wii est sorti j’ai travaillé sur l’intégration de la Wiimote et du Nunchuk…

En troisième j’ai commencé à jouer a un petit jeu en ligne, “Landes Éternelles”. Je me suis beaucoup intéressé à ce jeu, je voulais savoir comment c’était fait, comment je pouvais intégrer l’équipe aussi. Comme je touchais un peu au graphisme, j’ai réussi à intégrer l’équipe comme graphiste 3D. Je n’étais pas très bon mais ça m’a permis de toucher à tout, c’était très enrichissant.

Finalement, J’ai concrétisé avec des diplômes toutes ces connaissances glanées pendant toutes ces années : J’ai été au Lycée pilote innovant international, ensuite j’étais à L’EPITA pendant 2 ans, et j’ai terminé à L’UTC. En tout cas, je pense que mon parcours a pas mal aidé pour trouver du travail !

 

Les qualités que tu estimes indispensables pour ton métier ?  

Avoir de la logique, surtout ! Et être bon en maths et en physique. Car le code, c’est décrire le monde sur papier de manière logique finalement. Avoir de bonnes qualités relationnelles, c’est important, pour bien communiquer avec les collègues et les autres métiers. Arriver à comprendre le monde c’est bien, mais il faut aussi arriver à comprendre les utilisateurs. 

 

Quel est le projet sur lequel tu as préféré travailler ? 

J’ai beaucoup aimé travailler sur le Livery editor de V-rally 4.  Parce que ça a été fait dans l’urgence, et que nous partions de rien. J’ai eu beaucoup de liberté sur ce projet et j’ai dû faire beaucoup de choses tout seul : Les shaders, la logique du moteur, l’implémentation gameplay, le design utilisateur, la création des menus, la gestion des sauvegardes…c’était un sujet très transversal qui m’a permis de travailler sur de nombreuses fonctionnalités.

 

Une anecdote à partager ?

Vu que j’ai travaillé sur le Livery editor, j’ai beaucoup travaillé avec les Vehicle Artists. Et si tu tournes la caméra et que tu regardes le lecteur radio tu as des noms qui défilent : ceux des Vehicle artists…Et le mien !
J’en ai une autre : J’ai codé un pop-up qui invitait nos équipes à rapporter des bugs lorsqu’ils en avaient. Et…J’ai mis des cœurs partout, car je voulais témoigner de l’amour à nos artistes. Notre lead n’était pas très emballé mais je l’ai fait quand même. Et bien, on ne nous a jamais autant remonté de bug que grâce à ce pop-up ! Conclusion : Mettez des cœurs, et aimez vos artistes.

WRC 10 est disponible depuis 2 septembre 2021 sur PlayStation®4, PlayStation®5, Xbox One, Xbox Series X|S, Steam PC et ultérieurement sur Nintendo Switch™.

Suivez nous sur nos réseaux sociaux !