Les différents postes de programmeur

Hello everybody,

Peut-être que certain-es d’entre vous ont décidés de poursuivre leur aventure dans le monde du GameDev de manière professionnelle dans les années à venir. Autant on retrouve souvent le cas du développeur seul qui remplit tous les rôles, autant dans une grosse entreprise on a plutôt tendance à bien séparer les tâches face à la complexité du projet. J’ai pu remarquer que les différents profils de développeur recherché n’était pas forcément connu par les jeunes développeurs, voici donc une liste (non exhaustive) des différents métiers de programmeurs au sein d’un grand studio de développement.

Pour la liste suivante, je me suis inspiré des différentes offres d’emplois trouvable sur le site de l’AFJV.

Vu que les termes anglais sont très utilisés même dans notre pays, j’ai tendance à les préférer aux termes français.

Gameplay Programmer

Rôle : Implémente le gameplay du jeu. C’est lui qui s’occupe d’ajouter les interactions avec le joueur et les différentes mécaniques de jeu. C’est en général à ce développeur que l’on pense lorsque l’on parle de programmeur de jeu.

Techno : C++ (+ Lua) / C# (avec ou sans moteur du style Unity/Unreal)

Skill : Programmeur polyvalent, il peut changer de moteur rapidement et a (de préférence) des connaissances en Game Design.

Engine Programmer

Rôle : Développe le moteur du jeu. Cela peut être un moteur fait à la main par l’entreprise ou un moteur connu comme Unity/Unreal dont le code source aurait été acquis par la société.

Techno : C/C++

Skill : Programmeur EXTRÊMEMENT polyvalent, avec des connaissances allant du Hardware des consoles de jeux jusqu’à de la conception logicielle très poussée, ce poste est souvent vu comme le plus complexe et c’est rare de voir des débutants l’occuper.

Graphics Programmer

Rôle : Spécialiste de la programmation GPU, il s’occupe de la création de shaders et du rendu visuel offert par le moteur développé par les Engine Programmer.

Techno : C++ (avec OpenGL/Direct3D et GLSL/HLSL)

Skill : Parfaite connaissance des GPU et des différentes API graphiques. Sait créer des shaders complexes. Excellent niveau en mathématiques.

Audio Programmer

Rôle : S’occupe de toutes les fonctionnalitées lié au son au sein du moteur développé par les Engine Programmer (comme la spacialisation du son au sein d’une scène 3D).

Techno : C++ (avec OpenAL ou équivalent)

Skill : Connaissance pointue en manipulation du son et en physique acoustique.

Network Programmer

Rôle : Responsable des fonctionnalités Online d’un jeu. Il intervient sur la partie réseau (client /serveur) des jeux multijoueurs ou possédant des fonctionnalités en ligne.

Techno : C++ / Linux / TCP-UDP

Skill : Connaissance approfondie en réseaux informatique et des différents protocoles qui vont avec. Souvent expert Linux.

AI Programmer

Rôle : Programmeur spécialisé en création d’intelligence artificielle.

Techno : C++ (+ Lua)

Skill : Expert dans divers domaines des mathématiques (Théorie des graphes, probas, réseaux neuronaux, …) et en optimisation algorithmique.

Tools Programmer

Rôle : Développe des outils pour les différents membres de la team. (Plugin Maya pour les Game Artist, Gestionnaire de dialogues pour les scénaristes, etc…)

Techno : C++ (Qt) / C# (WPF) / Python / Lua

Skill : Bonnes compétences en ingénierie logicielle de manière générale. Des compétences en UI/UX sont un plus.

Automation & Build Engineer

Rôle : Fait en sorte que les tests et les builds du jeu se passent sans problèmes.

Techno : C++ / C# / Python / Shell / Linux / DevOps (Docker, Consule, Selenium, Jenkins, etc…)

Skill : Comprend parfaitement comment automatiser les tâches redondantes et comment désigner un système de build performant.


Et il y en a encore d’autres qui peuvent apparaître au fur et à mesure des besoins selon les studios.

Personnellement, à l’époque où je désirais rejoindre le monde du jeu vidéo, j’étais plutôt orienté Tools/Automation/Build Engineer, car ma partie préférée reste quand même la possibilité de créer des outils pour aider les autres à produire quelque chose d’encore plus énorme. De plus, j’ai toujours trouvés l’ingénierie logicielle « classique » plutôt sympa.

Et vous ? Vers quoi vous orientez-vous ?

Participer à la discussion

Continuez à apprendre

Articles associés

Membre
21 mars 2022 Durée estimée : 19 min
Article

Le guide ultime pour créer un portfolio sur Itch.io

Itch.io est une plateforme indépendante de jeux vidéo sur laquelle de nombreux créateurs partagent les jeux, logiciels, assets, comics et OST qu’ils ont créés. De plus, Itch héberge de nombreuses game jams, permet à ses utilisateurs de vendre leur travail et de rédiger des devlogs. De nombreuses soldes sont présentes sur la plateforme à tout […]

Lire l’article
Membre
26 octobre 2016 Durée estimée : 26 min
Article

JE SUIS UNE MERDE ! 5 clés pour décomplexer…

Pourquoi passer à côté de votre passion à cause de votre mental ? Pouvez-vous vraiment apprendre à programmer, à créer des jeux vidéo ?? LES AUTRES SONT TELLEMENTS PLUS QUALIFIES… Bullshit ! Je vous donne des clés pour enfin en finir avec vos complexes. Vous allez réussir !

Lire l’article

Envie d’aller plus loin ?

Appliquez ces notions dans un projet complet.

Voir les formations