L’univers des jeux vidéo a énormément évolué depuis ses débuts. Dans les années 80 les jeux se réalisaient seuls ou en très petit comité. Puis les technologies ont évolué, les demandes des joueurs sont devenues de plus en plus exigeantes, et aujourd’hui l’industrie du jeu vidéo fait appel à des métiers de plus en plus divers et ciblés. Avant on avait un développeur et un graphiste, puis avec l’apparition de la 3D il y a eu le modélisateur 3D, une personne pour les textures des modèles, une pour l’animation. Aujourd’hui pour les gros jeux vidéos il y a des scénaristes, écrivains, réalisateurs, chorégraphes, créateurs de mode, décorateurs… Les reconversions sont fréquentes, j’ai déjà vu un archéologue qui a participé au développement d’un jeu pour apporter un détail historique, et qui finalement est resté dans le secteur de la 3D dans les jeux par la suite. Le développement, c’est pareil. Les premiers sites étaient réalisés par une personne, et aujourd’hui on sépare facilement les tâches entre les graphistes, les développeurs back, front… Et avec le web qui devient de plus en plus interactif, il faut faire évoluer les étapes de conception.
Dans les jeux vidéos
La conception
C’est là le travail principal du game designer. Avoir une idée, c’est à la portée de tout le monde. Bien sûr certains game designer ont un petit plus et apportent de vraies nouveautés (la scène « indépendante » étant généralement novatrice en terme de gameplay ou direction artistique), mais souvent pour réaliser un nouveau jeu on mélange juste des idées qui fonctionnent, en complétant et ajoutant quelques éléments novateurs. Le véritable travail du game designer sera de mettre en forme ces idées dans différents documents.
La préproduction
Avant de lancer la production, voire même de présenter son concept à un éditeur, il faut passer par une longue étape de conception, qui couvrent souvent 1/3 du temps du projet. On teste séparément les éléments de gameplay, pour voir s’ils sont réalisables techniquement, afin de trouver la bonne manière de faire. On réalise des prototypes. Peu importe que ça soit joli, on utilise des placeholder: des éléments simples qui représentent ce qu’on veut sans avoir besoin de graphiste. L’essentiel étant de voir si l’idée est réalisable. Le but est d’arriver à la FPP: First Playable Prototype, combinant les différents prototypes pour procurer une expérience de ce à quoi ressemblera le jeu final. La préproduction se fait généralement en comité restreint, les besoins techniques étant souvent plus limités.
La production
C’est là que le nombre de personnes sur le projet augmente. On y consacre 50% du temps du projet. La majorité des contraintes techniques sont déjà éludées grâce aux recherches faites en pré-production, ce qui facilite le travail en équipe puisque tout le monde utilise les mêmes outils qui ont été définis en amont. On créé les animations, les modèles 3D, les textures… C’est aussi là que les complications surviennent. C’est là que le game designer imagine des niveaux avec de nouveaux décors que le graphiste n’avait pas prévu de réaliser; que le graphiste a réalisé des modèles 3D gourmands en ressource que le programmeur n’arrive pas à intégrer sans perdre en performances; qu’on va détecter qu’un élément de gameplay doit être revu, obligeant le game designer à imaginer de nouveaux niveaux… et ainsi de suite.
Une fois qu’on arrive à tout valider, le jeu passe en version alpha. Dans cette version il y a tous les éléments de gameplay, le jeu fonctionne si on suit la trame principale, mais il reste de nombreux bugs, éléments à caler, et performances à améliorer. Une fois ces calages terminés le jeu passe en bêta: une version avec tous les éléments et calages, dans laquelle on cherche et on corrige les bugs. Et quand tous les bugs sont corrigés, le jeu passe en version gold, prête au pressage et à la distribution.
Sur le web
Pour le développement d’un site traditionnel, on a longtemps utilisé un modèle en V.
Ce mode de conception présente un gros soucis: la conception est très liée à la réalisation. De plus en plus on utilise le TDD: Test Driving Development, où on écrit les tests unitaires puis le code. Mais c’est aussi souvent pendant la phase de codage qu’on se rend compte que les spécifications sont incomplètes, ne pourront pas être réalisées pour certains navigateurs. Avec un web qui évolue et devient animé, il faut procéder comme dans l’industrie du jeu vidéo: prototyper. Pour ça on utilise plus un modèle de conception en spirale:
Pour une demande donnée on analyse le besoin, on cherche à voir comment il est possible de le réaliser, on le développe, on teste, et on voit si ça fonctionne. Avec la vitesse d’évolution de web aujourd’hui, des tonnes de développeurs talentueux ont certainement déjà réalisé une librairie permettant de faire ce dont on a besoin pour un projet. Un des grand avantage du développement aujourd’hui étant le partage, avec des outils comme GitHub. On utilise une librairie développée par quelqu’un, on prototype notre demande avec, on l’améliore, on le debug un peu pour faire ce qu’on a besoin de faire, et soumet les améliorations qu’on a apporté à la communauté. Quelle belle époque nous vivons! C’est certainement pour ça que le web peut évoluer aussi vite aussi! mais là n’est pas le sujet. Les avantages de cette méthode de développement?
- elle permet d’impliquer le client tout au long de l’avancement de notre site.
- elle permet de se rendre compte plus rapidement de ce qu’il manque dans la conception.
Dans les jeux comme dans toutes applications ou site, il faut séparer le plus possible chaque brique de code et de gameplay pour simplifier au maximum son code et facilement le faire évoluer, et facilement modifier les paramètres. Dans les jeux les développeurs font ça très tôt pour savoir à quelle vitesse le personnage va se déplacer, ils affinent, modifient, afin de proposer la meilleure expérience de jeu, et surtout la plus adaptée à ce qu’ils veulent créer. Avec les animations qu’on peut faire sur les sites, c’est pareil: quand on fait apparaître un menu, qu’on fait défiler la page jusqu’à un autre bloc… il faut adapter la vitesse suivant le besoin. Il faut valider chaque étape d’avancement avec le client, montrer très tôt l’avancement pour valider ce qui va et qui ne va pas, pour anticiper les retours et être sûr d’offrir la meilleure expérience dès les premières étapes de conception et de production.