Guide des métiers 2020 : Programmeur de jeux vidéo
Il est avant tout un ingénieur informaticien
Programmeur est un mot qui recouvre divers champs d'activités. Programmeur de jeu vidéo, programmeur moteur, programmeur réseau... les variantes sont nombreuses. Mais il y a une chose qui ne change pas, le programmeur est avant tout un ingénieur informaticien. Un programmeur de jeux vidéo est un ingénieur logiciel qui crée le code qui permet de faire fonctionner un jeu vidéo. Il est celui qui rend possible ce que le game designer a conçu, et celui qui doit corriger les bugs relevés par les testeurs. En raison de la complexité des jeux vidéo actuels, la plupart des programmeurs se spécialisent dans un domaine de la programmation de jeux, tel que l'audio ou les graphiques, car chaque domaine nécessite un codage spécifique. Une solide formation en mathématiques et en sciences et une compréhension du jeu peuvent contribuer au succès d'un programmeur de jeux.
Le programmeur moteur est, comme son nom l'indique, un ingénieur qui va en permanence optimiser le moteur du jeu (Unity, Unreal, etc.) pour le titre en développement. Sa tâche est de permettre aux " designers " de se concentrer sur la création en leur fournissant des outils intégrés au moteur et faciles à utiliser. De nombreux jeux utilisant le même moteur à la base, c'est dans les améliorations apportées au cas par cas que se fera souvent la différence dans la fluidité, la qualité de l'image, le gameplay. Dans les productions les plus importantes, les équipes de programmeurs moteurs se composent d'ingénieurs encore plus spécialisés, par exemple, sur la partie graphique.
Informations métier
Niveau d'études Bac +3 à bac +5
Salaire mensuel brut De 2 500 € à 4 200 €
Un programmeur réseau intervient, lui, sur le développement d'un jeu en ligne. Il développe le code à l'origine des jeux multijoueurs en ligne afin que tout ce qui se passe dans un jeu soit transmis d'une machine à une autre. Cela signifie que les mêmes choses sont affichées sur chaque machine plus ou moins au même moment, ce qui permet de jouer à un jeu avec des personnes sur d'autres consoles et appareils. C'est l'un des domaines les plus complexes de la planification de jeu, car le programmeur réseau doit non seulement posséder une excellente compréhension de la programmation de jeu, mais également des protocoles réseau et de l'ingénierie client/serveur.
Le programmeur UI, pour sa part, a la charge de développer " l'interface utilisateur " (UI), c'est-à-dire tous les menus et autres fenêtres de dialogue qui apparaissent dans le jeu et, bien sûr, de leur arborescence. Pour cela, il doit travailler en collaboration avec les équipes de game design. Une bonne interface utilisateur ne se remarque pas, tandis qu'une mauvaise peut rendre un très bon jeu pénible à utiliser.
Qualités requises
- Très fort intérêt pour l'informatique
- Bonnes connaissances mathématiques
- Rigueur
- Sens de l'analyse
Acquis de fin d'études
- Connaissance de toute la chaîne de production d'un jeu vidéo
- Connaissance des logiciels de création
- Maîtrise des langages de programmation
- Maîtrise de l'architecture des moteurs de jeu
- Fortes notions d'IA, d'effets spéciaux, de programmation Web…
Paroles de professionnels : Elias Farhan
Il dirige l'enseignement de la programmation au SAE Institute de Genève. Il est titulaire d'un Master of Arts in Game Design. Il est également cofondateur du studio de jeu suisse Team KwaKwa où il participe à la programmation et au game design de jeu.
Comment définiriez-vous le rôle du programmeur ?
Le lead programmeur est le chef d'une petite équipe dans une grosse production qui fait interface entre les programmeurs et le management. Il est généralement responsable de l'architecture générale du logiciel. C'est aussi lui qui distribue les tâches et qui est responsable de leur réalisation dans les temps. Le lead programmeur est un job plutôt senior, mais sur des plus petites productions, il va aussi participer activement à la production en comblant les trous dans les tâches techniques, ou simplement accomplir les tâches les plus urgentes.
Pour exercer ce métier, faut-il maîtriser la programmation du moteur, du gameplay, du développement du réseau ?
Le lead programmeur peut se spécialiser en lead engine, lead gameplay, lead network selon l'équipe dont il est lead. Des compétences dans chacun des domaines seront ainsi demandées, car le lead programmeur fait souvent office de mentor pour les nouvelles recrues et doit pouvoir faire des choix techniques motivés par l'ingénierie.
Comment se déroule la collaboration avec les " artists " ?
Selon la taille des boîtes, la collaboration peut être directe ou indirecte. Plus les boîtes de jeu vidéo sont grandes, plus les différents métiers sont spécialisés. Le pipeline de production est influencé par les contraintes techniques, mais des rôles particuliers comme technical artist font le pont entre l'art et la technique.
En dehors des connaissances intrinsèquement liées à la programmation, quelles sont les qualités nécessaires pour exercer ce métier ?
Les compétences sociales (souvent nommés " soft skills ") sont extrêmement importantes dans la gestion d'équipe, savoir présenter une problématique, évaluer les solutions, communiquer avec les autres équipes.
Hors du jeu vidéo, quels sont les débouchés professionnels pour un lead programmeur ?
Généralement, les lead programmeurs ont un background en informatique et on voit assez souvent ce genre de profil se déplacer dans le monde de la tech, en logiciel comme en hardware.
Guide 2020 des métiers et des écoles du numérique
Cette fiche est extraite du hors série "Guide 2020 des métiers et des écoles du numérique" édité par Jeux Vidéo Magazine disponible chez votre marchand de journaux au prix de 6,50 €. Ci-contre cliquez pour découvrir des extraits des autres métiers.
Les offres d'emploi de programmeur
Fiches métiers disponibles
- Animateur 3D
- Character designer
- Chef de produit
- Concept artist
- Data Analyst
- Développeur Web
- Directeur artistique
- Environment artist
- Game artist
- Game designer
- Infographiste 3D
- Level designer
- Lighting artist
- Modeleur 3D
- Motion designer
- Producteur
- Programmeur
- Réalisateur numérique
- UX designer
- VFX artist