ZeDen.net

 
 
articles_004.jpgDans les colonnes de Zeden, il est souvent question des moteurs 3D qui animent les derniers FPS. Si nous pouvons, en tant que joueurs, constater la beauté des rendus réalisés par l'Unreal Engine ou le CryEngine, nous ne connaissons pas l'envers du décor. Que se passe-t-il dans les coulisses de la "fabrication d'un moteur 3D", peu importe le type de jeu l'employant ?

Nous sommes donc allés poser des questions à ce sujet à un développeur français, Bafman, 23 ans, développeur 3D dans un studio spécialisé dans les jeux de stratégie/gestion, au sens large du terme. Des notes explicatives émaillent ses réponses, afin d'apporter un éclairage ou un approfondissement au lecteur.

L'interview est découpée en 2 parties :



#1
Quel poste occupes-tu exactement ?


"Développeur 3D Recherche et Développement". Je m'occupe donc du développement de diverses parties du moteur 3D du jeu sur lequel nous travaillons.

#2
Tu occupes ce poste depuis longtemps ? Tu as participé de près ou de loin à combien de jeux ?

J'y travaille depuis un peu plus de 6 mois, et c'est mon premier boulot (et donc mon premier jeu commercial)

#3
As-tu une formation spécifique aux JV, ou bien es-tu simplement développeur à la base ?

Master Génie Logiciel, tout ce qu'il y a de plus classique. En fait, il y a très peu de personnes à avoir un diplôme orienté jeux vidéo chez nous.

#4
Comment en es-tu arrivé aux jeux vidéo ? Une volonté dès le départ ou un choix sur le tard ?

Dès que j'ai eu un clavier entre les mains, j'ai programmé des jeux. On peut donc dire que c'est un choix dans la continuité de ce que j'ai toujours fait.

#5
Joues-tu chez toi aux titres sur lesquels tu as travaillé ?


Non. En fait, je joue très peu chez moi. À la limite, je teste les démo des autres jeux pour voir, mais je n'ai pas vraiment le temps de jouer, malheureusement. Par contre, ceux qui travaillent sur le gameplay testent effectivement beaucoup de jeux de tout les genres.

#6
Quel(s) diplôme(s) spécifique(s) au développement de jeux existe-t-il ?

Il existe quelques trucs en France, comme l'ENJMIN ou encore Supinfo Game, mais le principal intérêt de ces formations est la partie game design. Pour être programmeur, n'importe quelle école peut faire l'affaire. Après, c'est plus une question de volonté qu'autre chose.

Note du Rédacteur
L'ENJMIN est l'Ecole Nationale du Jeu et des Medias Interactifs Numériques. Tout comme SupInfoGame, elle est effectivement orientée game design.

Concernant la programmation, BTS, DUT, école d'ingénieur ou autre, du moment que cela soit orienté informatique, on retrouvera l'enseignement de 2 matières importantes : l'algorithmique d'une part, et d'autre part, un ou plusieurs langages de programmation répandus. Les algorithmes sont la description sur papier des traitements réalisés par un programme : cela est nécessaire en programmation pour les parties compliquées à réaliser, et en moteur 3D, nul doute qu'il y en ait. Concernant l'apprentissage des langages, il est d'usage de commencer par le C et/ou le C++. Une fois maîtrisés les concepts de ces langages, on peut programmer en quasiment n'importe quoi, d'où leur intérêt pédagogique.


#7
Décris-moi une journée type du développeur de jeux vidéo.

On arrive au boulot, on lance le PC. On va faire un tour à la machine à café en attendant que le PC se lance, puis, une fois le café pris, on essaye de se souvenir de ce qu'on était en train de faire la veille pour s'y remettre. Avec un peu de chance, on a pas à mettre à jour, donc on peut commencer à travailler immédiatement. Sinon, il faut mettre à jour plusieurs gigaoctets de données, recompiler le projet, vérifier que tout fonctionne, et la on peut bosser. Ensuite, le reste de la journée se résume à
  • Coder
  • Récupérer les spec' du boulot à faire auprès
    des clients (game designer, graphistes, voir même d'autres programmeurs)
  • Corriger des bugs
  • Boire du café
Bref, en tant que développeur 3D, mon travail ne change pas beaucoup de n'importe quel programmeur standard.

Note du rédacteur
Je confirme. En tant que développeur, je reconnais ici la description de mes journées et de celles de mes collègues. Peu importe ce qu'on programme, on a toujours besoin d'une description de ce qu'il y a coder, et on rencontre toujours des problèmes : programme qui plante, qui ne produit pas le résultat escompté, etc.
Concernant le café : on a souvent l'impression que si la machine à café s'arrête de fonctionner, la productivité de l'entreprise complète est amputée de moitié...


#8
Vous développez sur quel type de bécane (mono / bi processeurs, combien de mega de ram, carte graphique , etc) ?

En gros, on développe sur des grosses bécanes. Ca va du dual core au quad core avec de 3 à 4 Go de ram. Pour les cartes graphiques, c'est plus hétéroclite. On pourrait penser qu'on développe sur des bécanes trop grosses et qu'on risque donc de sortir un moteur 3D pas suffisamment optimisé car fait sur des monstres, mais il faut bien voir qu'on a en permanence une multitude d'outils lancés qui prennent à eux seuls plusieurs giga de RAM, et en plus, on développe le tout en debug. Il nous faut donc des bécanes qui permettent un niveau de productivité suffisant...


#9
Quels sont les aspects que tu préfères dans ton job ? Et qu'est-ce que tu apprécies moins ?

Ce que je préfère, c'est faire toute la journée ce que je faisais pendant mes loisirs avant (et être payé pour ça). Ce que j'apprécie le moins... ce sont les journées où je dois releaser quelque chose mais que je ne peux pas car tout le monde le fait en même temps que moi. On a une impression d'improductivité dans ces cas-là...

Note du Rédacteur
Dans le développement, les jours où un logiciel doit être livré (= releasé) aux clients offrent aux programmeurs les mêmes sensations qu'on avait quand la fin d'un examen approchait et qu'on avait pas fini... Plus le projet est gros, plus l'équipe est nombreuse, et plus les releases semblent relever du parcours du combattant. Mais cela fait partie du métier, comme on dit.

#10
Combien d'heures par semaine en moyenne travailles-tu ? Est ce que ça varie selon le stade du projet ?

On est à 39h par semaine. Après, selon les besoins, ça peut varier, mais l'entreprise ne pousse pas à faire des heures supplémentaires. On préfère faire notre boulot à notre rythme, quitte à repousser la sortie plutôt que de travailler comme des fous pour sortir un produit bâclé.

#11
Et niveau du salaire, est-ce intéressant ?

Non. À formation et localisation géographique égales, je suis payé un tiers de moins que certains qui sont sortis de l'école en même temps que moi... Et les programmeurs sont sans doute les mieux payé du milieu. En fait, entre un graphiste, un game designer et un programmeur, à nombre d'années d'expérience égale, c'est souvent le programmeur le mieux payé. Une étude faite récemment aux Etats unis a montré que de ces 3 boulots, c'était le programmeur le mieux payé, ensuite le graphiste, et finalement le game designer. Je ne sais pas si c'est la même chose en France, mais ça me semble probable

#12
Comment s'organise le développement d'un jeu vidéo ?


Dans un premier temps, il y a toute une partie recherche pour déterminer ce qu'on souhaite faire, ce qu'on peut faire... Ensuite, on fait une démo pour aller démarcher des éditeurs. Si le projet plaît, alors on signe le contrat et le boulot sérieux commence. Pour certains, ça se passe différemment, c'est l'éditeur qui a un projet et qui le propose à la boîte, s'il n'a pas de studio interne pour le faire.

Une fois qu'on a signé le projet, on commence à bosser sur les éléments finaux du jeu (règles de gameplay, moteur 3D...)
Pendant le développement, tout s'organise autour de livrables réguliers. En gros, à des intervalles plus ou moins réguliers, on donne à l'éditeur une version du jeu qui doit répondre à un certain nombre d'objectifs (intégration de tel effet graphique, de telle règle de gameplay...). Ceci permet d'avoir une meilleure visibilité de la progression du projet tout en ayant des objectifs clairs. Ensuite, sur la fin du développement, on rentre dans la phase de tests intensifs. Les tests se font tout au long du développement, mais sur la fin du projet, ils s'intensifient.

#13
On semble très loin de "l'esprit startup" que certains imaginent encore dans les studios ?

Ça existe sans doute toujours dans certaines boîtes, mais un jour ou l'autre, il faut bien organiser le développement, sinon, on fait fuir les investisseurs. Et un jeu sans éditeur, c'est un jeu mort.

#14
Considérant le risque associé à un gros projet comme le développement d'un jeu vidéo, est ce que tu considères que les éditeurs et développeurs se partagent ce risque ?

Les deux partagent. Avant d'avoir un éditeur, c'est le développeur qui prend des risques, mais une fois le contrat signé, c'est l'éditeur qui a le plus de risques. Le développeur, une fois le contrat signé n'a plus qu'à développer le jeu avec l'argent de l'éditeur en quelque sorte. En fait, à un instant donné, celui qui prend des risques, c'est celui qui débourse de l'argent

#15
Sur un domaine donné, dans votre cas plutôt les RTS, comment suivez-vous la concurrence ?

Par voie de presse principalement. Quand ils sortent, on les teste, on les analyse et on essaye d'en tirer toutes les conclusions possibles.

#16
Quand un titre majeur sort, comme Supreme Commander, est-ce que vous l'achetez pour "savoir ce qu'il a dans le ventre" ?

Oui, bien sûr. Ca nous permet de savoir où en est la concurrence.

#17
Pensez-vous faire des FPS un jour ?


A priori non.

#18
Est-ce que le marketing a un impact sur les développements, à quelque niveau que ce soit ?

Oui, ça a un impact. Par exemple, le marketing peut nous demander d'ajouter un effet "Next Gen" alors qu'il n'était pas prévu à l'origine. Sinon, au niveau du jeu en lui-même, nous sommes relativement libres. En gros, le marketing va nous donner des orientations, mais pour les détails, c'est toujours nous qui choisissons.
Après, selon le niveau d'indépendance du studio, l'influence du marketing est plus ou moins importante...

#19
Comment sont définies les recommandations machines qu'on trouve sur les boîtes des jeux ? Par les developpeurs ou par le marketing ?

Par les deux. En gros, on estime une plateforme cible, on estime une liste de fonctionnalités à faire tourner sur cette plateforme, et on fait tout ce qu'on peut pour que ça marche sur cette plateforme. Si elle ne suffit pas, on a que deux choix possibles : augmenter la plateforme cible, ou supprimer des fonctionnalités (au sens graphique du terme bien entendu)


Et maintenant, passons aux questions plus techniques dans la 2 eme partie de l'interview.
par Xpierrot 10 commentaires, dernier par Bafman
Partager

Commentaires

Nasake

Membre
Nb msg : 125
(#1) 18 novembre 2007 à 11h10
Bonjour, je voudrais votre avis sur l'avenir de l'ambiant occlusion temps réel (ssao) j'ai tester dans crysis et l'effet est une mini révolution, dommage qu'ils n'est pas utilisé sont potentielle dans crysis, je me demandez si la disparition de l'effet selon la distance était du a un sampling de 4x4 ?
Xpierrot

Responsable Hardware de Zeden
Nb msg : 1500
(#2) 18 novembre 2007 à 11h58
Nasake> je poserai la question à l'interessé !
Marchez doucement car vous marchez sur mes rêves
Bafman

Nouveau
Nb msg : 3
(#3) 18 novembre 2007 à 15h54
en fait, à l'heure actuelle, toutes les solution d'ambient occlusion en temps réel sont juste des hack permettant de simuler des solution d'illumination globale.
Concernant la technique utilisé dans crysis, on a pas trop d'info, donc je ne peut pas particulièrement savoir comment il le font. Par contre, etant donné que ce sont des effets très couteux, il est fort probable que la disparition de l'effet à une certaine distance serve pour les perfs. C'est d'ailleurs une particularité du moteur de crysis : il peuvent avoir un clipping et une gestion du level of detail très agressive, car la jungle à des propriétées de recouvrance très importantes (en claire : comme les premiers arbres/buissons recouvrent une grande partie de l'ecran, par la peine d'afficher les autres avec le max de détails)
Xpierrot

Responsable Hardware de Zeden
Nb msg : 1500
(#4) 18 novembre 2007 à 16h43
Merci Bafman pour cette réponse, j'espere que Nasake appréciera
Marchez doucement car vous marchez sur mes rêves
Nasake

Membre
Nb msg : 125
(#5) 18 novembre 2007 à 19h05
Merci en effet cela simule le GI, même si il n'est pas parfait je trouve qu'il est déjà satisfesant car les joueurs lambda n'y voient que du feu. pour la technique utilisé j'ai trouvé ça :

"The entire scene does a z-pre-pass, and the depth information is used for computing the AO (nothing is baked). As a 2d image process (post effect), each depth pixel samples on a "sphere" around itself. (A sphere isn't actually created - that is just the distribution of the offsets; they lie on the surface of a sphere). Each sample is depth tested. A failed depth test means that a sample is inside of some other geom (so, like a ray intersection). A passed depth test means that a sample is in the clear. Similar to offline, the final value (still stored in 2d screen space) is a ratio of pixels that pass over pixels that fail. This is an approximation of how much a given pixel can "see" of the world around it. No, it isn't correct AO - but ray-casting AO isn't correct either. Both just attempt to approximate how much light reaches a point - and assume the environment is a large area light. So, anyway, at runtime, each shader projects it's world position to screen-space, samples the AO map and modulates the ambient light with the sampled value. This entire process is done every frame. Realtime Ambient Maps."

ça a l'air astucieux et je me demande si les pixel shader 4ne pourront pas booster ce genre de méthodes.
bosam

Nouveau
Nb msg : 8
(#6) 18 novembre 2007 à 19h23
Interview super intéressante
Vivement la partie #2 !
Xpierrot

Responsable Hardware de Zeden
Nb msg : 1500
(#7) 18 novembre 2007 à 19h50
Bosam > patiente jusqu'a la semaine prochaine
Marchez doucement car vous marchez sur mes rêves
Zork

Webmaster
Nb msg : 1847
(#8) 18 novembre 2007 à 21h21
Sympa cette entrevue. Quand on voit la complexité des jeux d'aujourd'hui, ça fait un peu peur de penser que les gens qui s'arrachent les cheveux là-dessus ne sont pas si bien payés que ça finalement.

Bafman, saurais-tu dire si, à ton avis, les revenus finaux d'un projet sont séparés à part égales ? Comment ça se négocie exactement ?

[Édité par Zork le 18/11/2007 à 21h44.]
Webmaster et fanboy id Software.
Lord W

Nouveau
Nb msg : 9
(#9) 27 novembre 2007 à 16h14
Très bonne interview !

Questions à Bafman : tu as un diplôme de développeur classique (comme moi), quelles sont les matières à connaitre, les outils à maitriser, les théories à avaler, les choses pour lequelles il faut être un expert, afin de développer un moteur 3D ?
Je pense à Direct X, à des théories mathématiques diverses et variées, etc..., mais peux-tu nous en dire plus ?
De plus, quel est l'avantage, selon toi, d'avoir un diplôme tel que celui que délivre SupInfoGame, lorsque tu veux devenir développeur de jeux vidéo (codage & design) ?
Que faut-il faire, connaitre, savoir, pour entrer plus facilement dans un studio de JV, dans un tel poste ?
Et finalement, quelle est ta part d'implication dans le développement des jeux sur lesquels tu bosses ? As-tu ton mot à dire quant aux choix de design, aux orientations de développement, aux technologies adoptées, dans ton studio ? Est-ce assez ouvert, ou es-tu limité à ton boulot de codeur ?

Merci !

Un (je l'espère) futur collègue
Bafman

Nouveau
Nb msg : 3
(#10) 28 novembre 2007 à 09h22
je suis effectivement un developpeur tout ce qu'il y a de plus classique. J'ai fair un master génie logiciel, ce qui, en théorie, aurais du me lancer dans le monde fantastique du JEE et autre web dynamique (beuark).
En fait, l'ensemble de connaissances 3D, que j'ai, je les ai apprises par moi même.
au niveau de outils à maitriser, c'est principalement le C++, et connaitres quelques API lié au JV (OpenGL, SDL et autres sont des bases très suffisantes).
Pour SupInfoGame, perso, le seul interet que j'y vois est la partie design. Pour faire du code, n'importe quelle ecole fera l'affaire.
sinon, pour rentrer dans un studio de JV, la marche à suivre, c'est... bah j'en sais rien en faite. y'a pas de shema pré établie, et ca depend beaucoup de la politique de recrutement du studio...
[!] Commentaires fermés pour cette nouvelle.