Suivez la procédure
Je roule ma bosse depuis des années dans les fosses des serpents et les cryptes. Le serveur principal de Dungeon Crawl Stone Soup me compte un petit millier de parties. Pourtant, l’autre jour, je suis mort au niveau un, quand mon mage a fui une meute de chacals et s’est retrouvé dans une impasse. Le hasard, sous le nom de génération procédurale, a encore frappé.
« Génération procédurale » est le nom adopté par les développeurs pour désigner de façon générale un algorithme, un sous-programme, qui fournit du contenu de façon aléatoire — ou plutôt pseudo-aléatoire, parce que le hasard n’existe pas chez nos amis les ordinateurs. Il intervient dès qu’il y a trop de données afin de les rendre moins répétitives, pour leur donner un côté organique. Sa forme silencieuse permet aux développeurs de remplir un niveau, en simulant des différences sans réelle complexité à peu cher : l’algorithme se contente de créer le liant entre les zones jouables, construites à la main. Dans Skyrim ou Just Cause, la topographie entre les points importants est crachée par un ordinateur, avant d’être retouchée (c’est donc de la génération statique, qui est la même pour chaque joueur).
- Noctis, parcourir la nuit
A l’opposé de ce contenu intersticiel, certaines formes de génération procédurale prennent toute la place au point que le jeu n’est rien d’autre qu’une visite du résultat, une ode à la gloire de l’algorithme. On y trouve quelques adaptations extrêmes de l’Elite-like [1], comme Infinity et plus encore l’hallucinant Noctis qui invite le joueur à visiter-créer la galaxie dans les moindres détails de chaque planète, les systèmes « découverts » étant notés sur le catalogue du serveur. On retrouve également ici Dwarf Fortress, où les mondes construits servent certes de support aux deux modes principaux (forteresse et aventurier, ce dernier consistant déjà en une sorte de visite), mais dont une grande partie n’est là que pour être lue dans le mode Legends. Les vies de milliers de personnages y sont notées ; on peut y parcourir les détails de chaque bataille pour apprendre qu’à l’hiver 423, le nain Shedim Bonescavern a perdu une oreille face à la kobold Axmu Oxdukutsmob, mais a pu s’enfuir. Mais qu’est-ce que l’exploration pure dans un monde qui ne préexiste pas au joueur ?
Situations réutilisables après lavage
Entre ces extrêmes, l’utilisation la plus courante du terme renvoie au rogue-like et hack’n’slash, inspirés des auto-donjons des jeux de rôle sur table. L’objectif est principalement la rejouabilité : pour chaque nouvelle partie et chaque niveau, l’algorithme produit un ensemble de données jouables en soi (pièces, monstres, trésors), c’est-à-dire une configuration. Celle-ci peut se développer en s’appuyant le contenu déjà engendré. Le joueur va reculer, revenir deux niveaux plus tôt où il a caché son stock, voire retraverser tout le donjon à l’envers (fin habituelle des rogue-like). Le procédural n’intervient pas pendant ces phases ; l’objet produit n’est pas intéressant en soi (ce kobold est le même que tous les autres kobolds) mais la situation qu’elle induit et ses développements le sont.
En même temps, les développeurs se dédouanent virtuellement de la difficulté. Pourquoi y a-t-il un mode hardcore dans la série Diablo, obligatoire dans tous les rogue-like, mais impensable dans Mass Effect ? Plusieurs facteurs l’expliquent, en premier lieu la rejouabilité, puisque tout recommencer n’implique plus une répétition stricte des niveaux. Mais il y a également un consentement de la part du joueur dont le personnage meurt. Prenons l’exemple d’un piège qui téléporte le personnage dans un nid de monstres et une mort certaine. Si ce niveau est « fait main », le joueur en veut au level designer : soit on connaît le piège, soit non, et l’intérêt du jeu est nul dans les deux cas. Dans un niveau procédural, on ne peut pas en vouloir au hasard ; les chances que cette situation prenne place étaient minces, ce qui rend finalement cette fin assez épique — et peut-être que l’équipement également aléatoire va permettre de s’en sortir. D’où le fait que les rogue-like font partie des jeux considérés comme les plus difficiles actuellement.
Au fond de ce couloir, une porte entrouverte
Les algorithmes eux-mêmes se rangent dans plusieurs classes. Le plus simple dispose d’un ensemble de tuiles qu’il recolle [2] ; le plus avancé dessine des périmètres détaillés. Le plus souvent, les décors suivent une version mixte, produisant une carte assez fine avec par endroits des éléments prédéfinis. L’univers fournissant plusieurs atmosphères, donc plusieurs algorithmes (un pour la jungle, un pour la caverne aux araignées, etc.), il n’est pas interdit de mélanger les genres. Le cas de Diablo, premier du nom, est caractéristique. Le village est un niveau fixe ; la régularité de l’église vient d’un système qui est pratiquement fait de tuiles ; les catacombes sont moins régulières, mais plusieurs quêtes y fixent de larges morceaux ; les cavernes, enfin, sont définitivement chaotiques. Il est amusant de voir que la fin du jeu opère un retournement, puisque l’enfer retrouve la régularité de l’église, et s’achève par deux niveaux fixés à l’avance. Trop de chaos contrasterait avec cette fin préétablie : il faut donc entourer le contenu fixe d’une certaine régularité.
Généralisées avec succès dans Diablo 2, ces méthodes font apparaître un symptôme chez le joueur. A force d’exploration, celui-ci est amené à analyser et comprendre la boîte noire qu’est l’algorithme. Au final, un joueur expérimenté a plus de chances de trouver le chemin optimal entre le début du niveau et sa sortie. C’est-à-dire que l’algorithme procédural induit en creux un nouvel algorithme dans le cerveau du joueur, cette fois-ci avec un objectif d’optimalité [3]. Ce nouvel algorithme comporte également une partie aléatoire : par exemple, le Sanctuaire des Arcanes est constitué de quatre branches dont une seule mène au niveau suivant.
Que dire alors du gameplay de Dungeon Crawl Stone Soup, qui implémente directement cette contre-mesure comme outil principal de déplacement, l’auto-explore ? La touche o déplace le personnage automatiquement en explorant toute la zone, rendant la main au joueur lorsqu’une réelle interaction est possible. N’est-ce pas donner deux outils qui se contredisent, l’un construisant le niveau, l’autre annulant son exploration par le joueur ? En réalité, cette mécanisation confirme le but de la génération procédurale : amener le joueur devant une situation, et non pas un objet. L’auto-explore est donc un raffinement : si l’algorithme fait du remplissage, nous n’avons qu’à le zapper. On ne peut que rêver de son application plus générale : dans Skyrim, plutôt qu’un fast-travel polémique, aurait-il été possible d’implémenter un voyage en mode accéléré quand il ne se passe rien, à la façon du MATS de X³ ?
Pour finir ce tour, des cas comme la série The Elder Scrolls proposent une autre définition d’un renouvellement procédural des décors. Dans Daggerfall, les quelque 15000 villages et donjons sont bel et bien aléatoires. Dans la suite de la série, leur nombre est réduit pour permettre leur design manuel. Mais ils sont toujours composés d’un nombre fini de tuiles — trop petit dans Oblivion, ce qui en fait un cas d’école de donjons répétitifs. La disponibilité de ce modèle dans le Construction Set (Creation Kit dans Skyrim) permet à chacun d’utiliser ces tuiles pour créer ses propres lieux, et au joueur d’essayer les mille et un donjons ainsi produits. En quelque sorte, la procédure ne serait plus informatique mais émergerait de la production globale de l’ensemble des joueurs.
Notes
[1] Voir aussi cet article sur le procédural abandonné dans l’Elite original.
[2] En particulier, la génération des artefacts est ainsi modélisée, comme dans le système de Diablo qui colle un objet à un préfixe et suffixe (ruby — amulet — of the stars).
[3] On a donc ici un cas particulier du joueur comme programme optimal que décrit Mathieu Triclot, dans Philosophie des jeux vidéo (2011).
Vos commentaires
Anthony Jauneaud # Le 23 avril 2012 à 11:04
Très bon article, j’aime surtout ton paragraphe sur l’auto-exploration. Je me faisais cette remarque en jouant à la beta de Diablo III où quelques zones sont fixes et d’autres aléatoires. J’aime être surpris par ces zones aléatoires — je les visite mécaniquement, les yeux fixés sur l’écran, sans voir le détail mais plus en appréciant le hasard, le changement de l’ensemble.
Laisser un commentaire :
Suivre les commentaires : |