Qu'est-ce qu'un "Gameplay Programmer"?

Réponses:

44

Quand les entreprises parlent d'embaucher un programmeur de gameplay , elles parlent d'un programmeur qui sera responsable du code qui touche directement à l'expérience de jeu. Autrement dit, le programmeur sera responsable de la construction des jeux, plutôt que du moteur ou des systèmes de jeu plus grands. Mais au-delà, les choses varient beaucoup:

Certaines entreprises attendent des programmeurs de gameplay qu'ils implémentent l'interface utilisateur. Certains non. Certaines entreprises s'attendent à ce qu'elles mettent en œuvre du code AI, d'autres non. Certains s'attendent à ce qu'ils implémentent du code audio, d'autres non. Pour être honnête, le "gameplay" dans le programmeur de gameplay est un raccourci de l'industrie pour "tout ce que nous n'avons pas embauché de spécialiste pour faire". Ces programmeurs doivent donc être très polyvalents et doivent pouvoir apprendre rapidement de nouvelles disciplines.

J'ai passé près de quinze ans en tant que programmeur de gameplay dans l'industrie commerciale, dans cinq sociétés différentes.

D'après mon expérience, dans certaines entreprises, un programmeur de gameplay est considéré comme un poste junior ou d'entrée de gamme; les programmeurs qui travaillent uniquement sur un jeu individuel, après tout, n'ont pas besoin d'être aussi sophistiqués que ceux qui travaillent sur des systèmes qui doivent prendre en charge de nombreux jeux différents simultanément, comme les programmeurs de moteurs doivent le faire. Dans ce type d'entreprise, si un programmeur de gameplay réussit très bien, il pourrait un jour être promu dans l'équipe du moteur, s'il peut prouver sa valeur. Ou il pourrait devenir un spécialiste, s'il montre une aptitude pour un domaine particulier.

Dans d'autres entreprises, un programmeur de gameplay est considéré comme un poste de niveau moyen; les programmeurs travaillant sur un jeu individuel doivent avoir une expérience utile et être fiables. Les programmeurs inexpérimentés pourraient se voir confier des tâches indésirables à couper le souffle (pipelines de données, outils, etc.), et éventuellement être autorisés à passer à une tâche de "programmeur de gameplay". Dans ce type de système, un programmeur de gameplay qui continue à bien se débrouiller pourrait passer à un rôle de chef de projet, ou bien à l'équipe du moteur.

Dans d'autres sociétés encore, un programmeur de gameplay est considéré comme un poste senior, et comme un poste de demi-conception également; On s'attend à ce que ces programmeurs soient d'excellents programmeurs éprouvés, mais aussi qu'ils aient une sensibilité et des qualifications de conception solides, car ils touchent directement le code qui affecte le plus fortement l'expérience du joueur avec le jeu. Dans ce type de système, un très bon programmeur de gameplay restera probablement un programmeur de gameplay pour toujours - c'est considéré comme le poste le plus précieux qu'il puisse occuper.

En règle générale, plus les jeux de l'entreprise sont bons, plus ils considèrent que le poste de programmeur de jeu est senior (et donc, plus il sera difficile de décrocher un tel emploi).

Trevor Powell
la source
18

Je trouve toujours utile d'illustrer par l'exemple.

  • Un programmeur de gameplay se verrait confier des tâches telles que: implémenter le système de combat en mêlée, implémenter le mécanisme de régénération de la santé ou implémenter les commandes de saut des joueurs.

  • Un programmeur de moteur (ce que vous appelleriez quelqu'un qui n'était pas spécifiquement un programmeur de gameplay) se verrait confier des tâches telles que: mettre en œuvre un éclairage différé, ou un système d'animation, ou une couche de mise en réseau.

La principale distinction est celle de savoir qui est le «client». Pour les programmeurs de gameplay, c'est l'équipe de conception - leur tâche est de faire de la conception une réalité. Pour les programmeurs de moteurs, il s'agit généralement d' autres programmeurs . Les programmeurs de moteurs créent des technologies et des systèmes que les programmeurs de gameplay et les créateurs de contenu peuvent ensuite utiliser pour réaliser la conception.

Les programmeurs du moteur écrivent du code qui est largement indépendant du jeu - la même technologie peut souvent être utilisée dans plusieurs jeux. Les programmeurs de gameplay ont tendance à écrire du code très spécifique au jeu créé. Et il y a toujours des chevauchements - parfois, pour implémenter le gameplay, vous avez besoin d'un nouveau code moteur.

Le codage de gameplay n'est pas plus difficile ou plus facile que le codage moteur. Il s'agit cependant définitivement d'un ensemble de compétences légèrement différent; vous devez souvent être plus créatif et être capable de trouver des solutions. Votre objectif n'est pas de créer le système réutilisable parfait (l'idéal pour les programmeurs de moteurs), mais de créer la meilleure implémentation de jeu. Donc, ce qui peut être un atout dans la programmation des moteurs (attention aux détails et structures bien conçues) peut être un obstacle dans la programmation du gameplay (où l'adaptabilité et le temps d'itération sont plus importants). Un bon programmeur de gameplay sait quand le faire correctement (lorsque la conception est solide et que le code sera utilisé dans de nombreux endroits) et quand le faire rapidement (lorsque la conception est encore en cours d'élaboration et que votre code a de bonnes chances d'être jeté une fois testé).

Surtout, les programmeurs de gameplay doivent pouvoir collaborer avec l'équipe de conception à un niveau qui n'est pas le cas pour les programmeurs de moteurs. Mis à part les compétences de communication évidentes, cela signifie que vous devez vous familiariser avec les autres conceptions de jeux bien plus que les programmeurs de moteurs, de sorte que lorsqu'un concepteur dit "faites-le fonctionner comme Zelda", vous savez de quoi ils parlent.

Pour apprendre à être un programmeur de moteur, vous devez approfondir une technologie et apprendre comment elle fonctionne, et peut-être en implémenter votre propre version; le jeu serait juste une arène où montrer la technologie.

Pour apprendre à être un programmeur de gameplay, vous devez prendre le moteur de quelqu'un d'autre et l'utiliser de différentes manières. En d'autres termes, si vous voulez être un programmeur de gameplay, faites des jeux, pas de la technologie .

MrCranky
la source