•  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Les coulisses du jeu vidéo : le programmeur

Tommy regarde la caméra en souriant avec son équipe en arrière-plan.
Tommy travaille pour Norsfell aux Execution Labs, rue Saint-Alexandre, où se côtoient de multiples compagnies de jeux vidéo indépendantes Photo: Radio-Canada / Maxence Matteau
Radio-Canada

Chaque semaine, nous vous présenterons l'un des multiples métiers au sein de l'industrie du jeu vidéo afin de démontrer l'importance de chacun des artisans au sein d'une équipe de production. Aujourd'hui, c'est celui de programmeur qui retient l'attention.

Un texte de Maxence Matteau

Sous les rayons du soleil glacial d’un matin de février, les gens pressent le pas. Même le petit bataillon d’employés de Norsfell, au logo inspiré de la mythologie viking, s’est réfugié à l’intérieur. À l’ombre de l’église unie St. James, au sein des Execution Labs, cafés fumants au coin des tables et sourires fatigués du vendredi témoignent de l’ambiance décontractée de ce haut lieu de création vidéoludique.

Il est 10 h lorsque la petite équipe de Norsfell se réunit. Chacun de ses sept membres décrit ses tâches afin que l’ensemble du groupe puisse savoir à quoi s’en tenir pour le travail à effectuer dans la journée. C’est ici qu’entre en scène Tommy, le programmeur.

Natif de Forestville, Tommy a étudié la programmation de jeux vidéo à l’Université du Québec à Chicoutimi, avant de chercher d’un emploi dans son domaine à Montréal. Il travaille avec Norsfell depuis plus d’un an.

Les artisans de Norsfell travaillent à leurs ordinateurs.L’équipe de Norsfell, à l’oeuvre aux Executive Labs, à Montréal Photo : Radio-Canada / Maxence Matteau

Le métier de programmeur

La mission de Tommy est clairement définie : faire en sorte que les jeux fonctionnent. Simple, n’est-ce pas? Seulement si l’on maîtrise les langages nécessaires à l’exécution de cette tâche. Java, Python, C++, C# (prononcé C sharp) sont tous des langages qu’utilisent les programmeurs. Il en existe plus de 7000.

À l’image des langues que nous utilisons tous les jours, les langages de programmation permettent de communiquer. Or, pour un programmeur, son interlocuteur n’est pas un humain, mais un ordinateur. Il doit donc établir la liaison entre le joueur et la machine.

On pourrait comparer son travail à celui d’un boulanger. Lorsque ce dernier veut fabriquer un pain, il sait qu’il a besoin de farine et d’eau. Il sait comment les mélanger et quoi y ajouter pour obtenir un résultat final digeste. Le programmeur sait quoi dire à l’ordinateur pour que celui-ci affiche et offre les fonctionnalités dont il a besoin.

Quelques lignes de codes sont écrites, celles-ci ayant pour effet d'afficher « Hello, World! » sur un écran d’ordinateurQuelques lignes de codes en C# servant à afficher « Hello, World! » sur un écran d’ordinateur Photo : Microsoft

Chaque langage a ses spécificités, ses forces et ses faiblesses. À Norsfell, l’équipe travaille avec C#, un langage très utilisé par les compagnies de jeux indépendants, tant pour sa simplicité que pour sa puissance. Pour être compris universellement, les programmeurs du monde entier codent en anglais.

Moi, je viens de Forestville. Là-bas, personne ne parle anglais. Je ne le parle pas encore très bien, mais pour coder, c’est essentiel, parce que si tout le monde se met à coder dans sa langue, le travail en équipe devient rapidement compliqué.

Tommy Sirois, programmeur pour Norsfell

Tommy explique ensuite que l’expérience de travail est la clé du succès. Les premiers projets d’un programmeur progressent souvent par essais et erreurs, ces dernières diminuant au fil des réalisations. Alors, comment est-ce possible pour un finissant de se trouver un emploi?

« Il peut participer à des marathons de programmation (aussi connus sous le nom de game jams), réaliser des projets chez lui pour se pratiquer, etc. J’en ai fait plusieurs et je pense avoir plus appris là qu’à l’école! »

L’importance du travail en équipe

Tommy explique que pour ne pas créer de confusion, il est très important d’écrire le code « proprement ». Chaque fois qu’il travaille sur un jeu déjà entamé, il doit prendre le temps de lire une bonne partie du code pour en saisir la structure.

« Il n’y a pas deux personnes qui codent de la même façon. Ça arrive parfois que j’aie à travailler sur un jeu et que le code soit tellement pas clean que j’ai de la difficulté à le comprendre. Non seulement ce n’est pas pratique pour le travail en équipe, mais c’est aussi souvent l’origine de plusieurs bogues », m’explique Tommy.

Cette éthique de travail est donc essentielle pour le travail en équipe que nécessite la production d’un jeu vidéo.

Une installation de tours de protection est installée pour se défendre de la vague d'ennemis qui approche.Ragna Cycle, un jeu de défense de tours, est en conception actuellement Photo : Norsfell

Tommy et les autres membres de l’équipe de Norsfell travaillent actuellement sur Ragna Cycle, un jeu de défense de tours (tower defence). L’équipe a également gagné le concours Série indie Ubisoft en janvier avec un autre de ses jeux, Tribes of Midgard, empochant au passage 50 000 $ et des séances de mentorat.

Jeux vidéo

Techno