Ok

En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Ces derniers assurent le bon fonctionnement de nos services. En savoir plus.

01/03/2009

Experience driven games, Exception driven production

Evidemment, je ne suis pas game designer, donc ce qui suis n’est qu’une interprétation personnelle. La grande majorité des jeux sur lesquelles j’ai eu la chance de travailler peuvent se ranger dans la catégories des jeux orientés « expérience », c'est-à-dire centré sur une ou des expériences que l’on souhaite faire partager au joueur.


C’est peut être dut au hasard ou a une quelconque affinité avec ce genre. Toujours est-il que lorsque l’on parle d’expérience, on parle surtout d’émotions : qu’est ce que cela fait de voler dans le ciel, d’essayer de survivre sur un champ de bataille à 1 contre 100, de découvrir un monde différent avec des coutumes et une population qui n’existe pas dans le monde réelle, qu’est ce que ça fait d’être un super héros avec des super pouvoirs et des supers problèmes, qu’est ce que cela fait de débarquer à Liberty City en provenance d’un pays d’Europe de l’est, etc etc…


Les jeux orientés expérience sont donc en principe centré sur le joueur et sa vision de l’espace ludique, ainsi que – en général – un principe narratif fort. Ils diffèrent en cela aux jeux orientés mécaniques que dans ces derniers, la mécanique prime et est ensuite habillée pour « cacher » les cordes du système.


Par exemple, il y a de multiples variations sur le thème de « Tower Defence », allant du simple jeu flash à Pixel Junk Monster. Ces jeux reposent sur une mécanique précise, et la narration (quand il y en a une) est asservie à la mécanique.


Dans les jeux expériences, c’est la mécanique qui est asservi à l’expérience. C’est pourquoi on trouve peut être plus de mécaniques dans un de ces jeux, aucune n’étant particulièrement centrale, mais parfois aucune n’étant particulièrement brillante. Dans GTA 4, la liste des mécaniques est particulièrement impressionnante, puisqu’elle englobe la conduite des véhicule, le déplacement à pied, la capacité de « streamer » toute la ville sans temps de chargement, sans compter touts les mini jeux, les cinématiques…


Evidemment, tous les jeux expériences ne sont pas comme ça. Un FPS repose en principe sur une ou deux mécaniques qui se doivent d’être impérativement bien conçu, sous peine de ne pas être compétitif. Mais la plupart des FPS prétendent aussi offrir une expérience émotionnelle forte, du type grand huit.


A produire, les jeux expériences sont donc particulièrement couteux. Au mieux, ils peuvent être produit comme une série de mécaniques plus ou moins indépendante qui peuvent s’imbriquer les unes dans les autres, à condition d’être vigilant sur l’intégration de toutes ces briques ensemble.


Au pire, ces productions peuvent devenir « exception driven », c'est-à-dire le cas où tout est une exception, et où chaque niveau, chaque élément de gameplay, est unique et doit être produite à un coup prohibitif.


Qu’un jeu nécessite des exceptions pour être produit efficacement, c’est la moindre des choses. Il suffit d’imaginer ce que ça serait que de produire des cinématiques si le scripteur n’avait pas le droit de passer outre les collisions ou de téléporter les entités.


Mais certains jeux poussent le raisonnement trop loin. Ce n’est d’ailleurs pas tant que le jeu est sera forcément moins bons, mais surtout que la production, elle, sera plus chaotique.


Au cours d’une production, Il y a une sorte d’entropie innée qui s’applique naturellement au code, aux assets, et par extension aux features. Pour faire simple, disons que le code qui reste hors des yeux à tendance à être naturellement de plus en plus mauvais, et de plus en plus difficile à maintenir.


Ce principe s’applique aussi bien au code bas niveau qu’aux scripts et aux assets. Une feature qui aura été développé un an plus tôt et non maintenu à peu de chance de continuer à fonctionner. De même, avec le temps et la maitrise grandissante qu’acquièrent les artistes, il y a peu de chance que des assets produites un an auparavant soit aussi belle ou optimale que les dernières produites.


Gardons ce principe à l’esprit. Une production exception driven est souvent géré de façon linéaire, un niveau après l’autre (de façon plus réaliste, les niveaux sont produits dans un pipeline plus ou moins parallèle).


Ce mode de production pose le problème de la maintenance, puisqu’au fur et à mesure que les nouvelles exceptions sont ajoutées au code pour produire le niveau en cours, il faut en permanence s’assurer que les niveaux précédents continuent de fonctionner.


Au-delà d’un certain seuil, la problématique devient donc ingérable, à moins de pouvoir produire touts les niveaux de front, ce qui semble encore plus irréaliste.


Il n’y a donc pas de mal à produire des jeux basé expérience, mais pour réussir, il faut je crois avoir une conscience très clair de ce qui est exceptionnel (le layout de chaque niveau peut être unique par exemple) de ce qui devrait être invariant au cours du jeu (la mécanique de shoot par exemple).


De même, il n’y a pas de raisons de ne pas produire de mécanique unique à un niveau de jeu (un mini jeu par exemple), mais dans ces cas là, il faut traiter l’exception comme tel, et ne pas forcément essayer d’appliquer à la lettre tout les grands principes de la programmation moderne.


Par exemple, si vous avez une machine a état qui gère le shoot, il est peut être tendant que la grandir pour gérer le shoot dans un véhicule. Mais chaque surdéveloppement fragilise le code, complexifie la maintenance, et menace toute la feature du jeu. Ca fait cher payé pour un seul niveau avec un véhicule dans le jeu.

En conclusion, il vaut mieux produire les invariants les plus tôt possible (l’une des raisons d’être de la préproduction peut être), et considérer ensuite toute la production comme étant au mieux une collection d’assemblage unique des ces invarants, au pire comme une série de digression exceptionnelle autour de ces même invariants.

Dans tout les cas, soyez prêt pour l’exception, car au cours d’une production, l’exception est souvent la norme.

Les commentaires sont fermés.