Quelles sont les tâches quotidiennes typiques d'un programmeur de jeux de niveau débutant? [fermé]

64

Ce que j'aimerais savoir, c’est: Quelles sont les tâches quotidiennes d’un programmeur diplômé dans l’industrie du jeu vidéo? S'agit-il principalement de codage, d'analyse, de conception ou quoi?

Je vous remercie.

PS En ce moment, je suis en deuxième année universitaire et je me spécialise dans la programmation de jeux, en particulier de gameplay, d’outils ou de programmation d’interface utilisateur.

kymully
la source

Réponses:

103

Sur la base de mon expérience (aux États-Unis, embauché à l’université sur un projet qui venait de sortir du prototypage et qui comptait environ 50 personnes, a ensuite été annulé, puis nous avons créé deux autres jeux au cours de la période de quatre ans. était là avec une base totale de développeurs d’environ 200),

  • Vous passerez probablement environ 50 à 70% de votre temps à programmer. À ce moment-là, j'inclus les «trucs amusants» comme faire une fonction très intelligente, ainsi que les moments où vous regardez un dump de mémoire pendant 8 heures d'affilée pour essayer de comprendre ce qui s'est écrasé. Peut-être que 25 à 50% de cela représente de la programmation longue forme avec clavier et entrée dans la zone.
  • 15-25% supplémentaires dans les réunions et les tâches administratives, telles que le tri des bogues, les réunions sur le tri des bogues, la planification, la documentation de haut niveau pour les autres programmeurs et producteurs, la messagerie électronique, les mises à jour complètes du statut du projet / de la société, etc. Cela dépend de votre degré d'autonomie - si vous n'en avez pas, vous passerez plus de temps à programmer, car vous passerez moins de temps à définir votre propre horaire. Si vous contrôlez mieux votre emploi du temps, vous pourrez peut-être travailler sur des choses plus intéressantes, mais vous devrez alors passer du temps à faire ce genre de choses.
  • De plus, 15 à 25% aident les concepteurs / artistes, assistent à des réunions de création sur le jeu, se tiennent au courant des documents de conception de jeu, etc.

Au fur et à mesure que vous montez dans la classe salariale, le temps que vous passez à programmer va probablement diminuer . Vous allez devoir prendre plus de décisions administratives, être appelé à aider des membres moins expérimentés de l'équipe et passer plus de temps à la documentation et à la révision de code / architecture. Sur le plan positif, la qualité de la programmation va probablement augmenter; vous travaillerez sur des fonctionnalités plus intéressantes (et des bugs plus frustrants).

Que le temps que vous passiez à aider les créateurs et les artistes augmente, diminue ou ne change pas vraiment, cela dépend de la zone dans laquelle vous souhaitez travailler. Si vous souhaitez travailler sur l'interface utilisateur, les outils et le gameplay, attendez-vous à ce que ce temps augmente. 50% à mesure que vous gagnez de l'expérience. Vous rencontrerez des concepteurs de haut niveau pour planifier et faire la démonstration de nouveaux outils et voir comment ils utilisent les outils existants. Malheureusement, cette heure vient aussi de votre calendrier de programmation.


la source
Ce n'est pas tout à fait comme je m'en souvienne, mais ça aide quand votre partenaire d'entraînement vous enseigne des choses ;-)
coderanger
@coderanger: Je pense qu'aucun de nous n'a reçu beaucoup d'aide de notre partenaire d'entraînement. ;)
26

Outre les points de discussion de haut niveau évoqués par Joe, vous devez être conscient de quelques autres points.

  • Vous utiliserez généralement une sorte de suivi des bogues ou un outil de suivi des tâches que votre responsable utilisera pour vous attribuer des tâches. Parfois, ils sont identiques (c.-à-d. FogBugz). Parfois, votre liste de bogues passera par un éditeur et votre liste de tâches sur un wiki interne. Vous ne restez pas assis juste en bas et commencer à faire ce que , vos tâches vont être dirigées.
  • Parfois, il vous sera demandé d'estimer vos tâches. Ceci est implicite lorsque vous utilisez des systèmes tels que FogBugz. Une partie de vos responsabilités consistera / devrait / pourrait consister à décomposer une fonction de niveau supérieur en parties que vous pourrez utiliser pour estimer correctement le temps qu'il faudrait pour voir si vous êtes sur la bonne voie pour atteindre vos objectifs, etc.
  • Beaucoup de studios ont adopté des méthodologies plus agiles / scrumm. La mise à jour des graphiques de réduction d'activité (en indiquant par exemple que vous avez consacré X heures à la tâche Y et que vous vous attendez à le faire en temps Z) est assez courante. Les réunions journalières sont probablement un peu plus courantes. De toute façon, vous aurez une certaine visibilité sur ce sur quoi vous travaillez.
  • Vous utiliserez le contrôle de version / source. Plus le studio est grand, plus ils sont susceptibles d'utiliser Perforce. Vous devez connaître les bases (extraction de fichiers, validation de fichiers, résolution de vos conflits de fusion locaux). Vous pourriez également être appelé à comprendre les branches et les branches fusionnées. Certains studios fonctionnent là où tous les développeurs obtiennent leur branche locale et vous pouvez enregistrer autant que vous le souhaitez et fusionner lorsque vous le créez. D'autres studios (les nôtres) ont juste une politique "ne cassez pas la vie principale", vous devez donc vous assurer de mettre à jour, faire un test rapide pour vous assurer de ne rien casser, puis vous enregistrer. Certains studios n'ont pas cette politique et les gens font tout le temps de la merde et c'est super énervant et il faut apprendre à contourner ce problème.
  • Les revues de code sont assez courantes. Parfois, ils sont codés à l'échelle du département. Notre équipe utilise une approche de copain de code où il est plus personnel de passer en revue les archivages. Dans les deux cas, vous devriez vous attendre à devoir fournir une analyse critique du code des autres personnes.
Tetrad
la source
11

Je viens de terminer un stage de 4 mois sur un très gros jeu. Le projet en était à un stade très avancé lorsque je suis arrivé là-bas. La plupart de ce que j’ai fait était donc la résolution de bugs. De toute façon, cela aurait probablement été une partie décente de mon temps ... utiliser mon expérience du codage pour corriger des bugs plutôt que de mon manque d'expérience avec le développement de jeux pour concevoir ou développer des fonctionnalités.

Une grande partie de ce que j'ai fait était également liée à l'informatique. Développer des outils internes était un gros problème - certains pour aider directement avec le développeur de jeu, d'autres pour automatiser des choses qui étaient faites manuellement auparavant. Et bien sûr, des corrections de bugs pour d'autres outils, y compris le programme d'installation de Jeux pour Windows Live de Microsoft.

Le test de jeu était une autre partie assez importante, et j'étais également responsable de la création de certaines des versions qui ont été poussées à devenir des testeurs. Les bugs dans le monde du jeu sont assez difficiles à détecter et nécessitent beaucoup de travail pour en déterminer la cause.

Je ne me spécialisais pas dans les jeux ou les graphismes, donc tout travail que vous avez effectué serait davantage lié à votre expertise que cela. Mais j'espère que cela vous donne une idée.

Matthew Read
la source
4

Mon projet de fin d’année porte sur l’élément de structure HTML5. Je travaille actuellement sur un stage depuis deux mois au cours duquel je dois porter un jeu flash existant sur la toile HMTL5.

D'après ce que je peux vous dire de ma vie ici, c'est difficile. L'équipe des exigences a des exigences très spécifiques. Quel clic de souris est censé faire quoi, comment les effets devraient s’appliquer au jeu. Peu importe la difficulté que cela rencontre pour le programmeur, même pour les requêtes les plus stupides, il faut y répondre, et après avoir mis en œuvre toutes les exigences. Le rapport de bogue commence. Dieu est si agaçant. Cela commence vraiment à vous énerver. Un décalage de 1px pour un clic peut rendre votre vie plus difficile, croyez-moi! Cela peut signifier une nouvelle structuration de l'ensemble de votre espace de positionnement et d'interaction pour que vous puissiez répondre à leurs caprices et à leurs fantaisies.

Mais c'est aussi amusant! :) La pure joie d'écrire cette fonction vraiment intelligente, en interaction avec la communauté pour savoir comment recréer une fonction automatiquement créée par Flash. Tout. C'est comme ça que vous ne regrettez pas d'avoir eu ce travail. Cela donne l'impression que c'est le meilleur travail au monde et pour mes neveux le plus cool du monde.

Donc, une journée de travail régulière viendrait au travail pour mettre en place une fonction. Rechercher et rechercher cette fonction qui rend une fonctionnalité possible. Obtenir le test de ce code. Correction de ce code. Discuter avec la communauté de la façon dont ce code pourrait être optimisé. Puis écrire ce que je ressens est le meilleur programme sur terre: P

À la fin de la journée, je suis surtout satisfait de ce que j’ai accompli, parfois encore sous tension au sujet des endroits où j’aurais pu mieux faire et de ce que j’aurais pu faire différemment et améliorer cela. Je viens juste de commencer et donc je ne pourrai peut-être pas vous dire comment ça se passera dans le futur, mais à partir de maintenant ... je pense que je dois faire le job le plus cool :)

Shouvik
la source