lundi 11 novembre 2013

Maps infinies

Je travaille depuis quelques temps sur un système, en Inform7, pour avoir une map démesurément grande, voire "infinie", du point de vue de l'expérience du joueur, en tous cas ; par exemple une map qu'il serait impossible d'explorer entièrement avant que, d'un point de vue réaliste, le personnage ne meure de vieillesse, tant cela prendrait de temps.

J'aime les jeux comme Daggerfall ou Elite qui sont infinis, pris dans ce sens-là ; des jeux inépuisables et inexplorables, et qui plus est, dotés d'un contenu généré procéduralement à chaque nouvelle partie, ce qui rend l'expérience de jeu unique et toujours renouvelée. Mais qui sont, malheureusement aussi, des jeux monotones, répétitifs, et finalement pauvres en contenu, qu'il soit procédural ou pas ; avouons-le.

Je me cogne exactement à ce problème : j'essaie de créer une map dont il faudrait, par exemple, un mois (ingame) pour la parcourir ; on pourrait se déplacer dans toutes les directions, où que l'on soit (supposant que l'on soit en extérieur), il n'y aurait qu'une seule room dans le jeu (soit le monde entier), avec un système de coordonnées verticales et horizontales qui indiquent au joueur où il se trouve sur la carte. Et selon les coordonnées spatiales du joueur, la description des lieux et leur contenu en terme d'objets changerait. En -1 ; 15 on lirait "Vous vous trouvez dans des marais putrides", alors qu'en -1 ; 16 on sortirait des marais pour lire "Vous êtes dans une plaine à l'herbe bien grasse" - et le programme se chargerait de faire apparaître une ferme, un chien, un rocher, que sais-je, qui disparaitraient à nouveau au prochain déplacement. Tout ceci est rodé et fonctionne.

Du moins, ça fonctionne techniquement ; en terme de gameplay, pas du tout. Il est naturellement impossible d'écrire une description "à la main" pour chaque position possible sur la carte (admettons qu'elle aille de 1 ; 1 à 100 ; 100 - cela ferait déjà 10 000 localisations possibles) ; peut-être est-il possible d'écrire des description générées procéduralement, selon le type de terrain où le joueur se trouve, l'heure, la météo, les objets présents, et divers critères aléatoires qui donneraient des descriptions un peu moins répétitives et monotones, mais malgré ça, ça ne fonctionne pas.

Parce que contrairement à un jeu en 3D (au hasard : Morrowind ou GTA), une fiction interactive (basique) n'a que des mots à offrir.

Et qu'aller quinze fois vers le nord pour lire "Vous êtes dans une plaine. Vous voyez un sapin" , "Vous êtes dans une plaine. Vous voyez trois rochers et deux champignons", "Vous êtes dans une plaine. Vous voyez une vieille ruine et un ruisseau qui coule avec un bruit joyeux", etc, c'est parfaitement assommant.

Que le monde soit très réduit en terme de rooms, ou gigantesque, il faut que les lieux aient un sens – dans tous les sens du terme, c'est à dire une raison d'être, un contenu, et une articulation réelle, cohérente, avec le reste de l'espace. Du coup il est plus facile de placer un jeu dans un contexte urbain : les lieux ont déjà une signification en eux-même et une articulation logique. Dans la nature, par contre, tout est plus répétitif et vide ; si on peut être charmé par les couleurs d'une forêt ou un reflet de lumière particulier sur l'eau dans un jeu à graphismes, dans une fiction interactive, c'est beaucoup plus compliqué à mettre en œuvre...

J'avais envisagé par exemple – en dehors des descriptions et autres messages d'ambiance procéduraux faisant varier automatiquement et aléatoirement les messages du jeu – d'inclure après les descriptions de lieux, des citations de faux auteurs, ou faussement encyclopédiques, pour ancrer les lieux du jeu (les lieux chiants : forêts, plaine, marais, etc). Et / ou des indications plus techniques comme la température extérieure, pour un côté plus roguelike. Ça aurait pu donner quelque chose du genre : 

"Vous êtes dans la forêt au nord de Marithza. Tout autour de vous, de hauts sapins, majestueux, aux branches lourdement chargés d'aiguilles d'un bleu profond. Le ciel est d'un bleu intense, sans nuages. Au loin on distingue les monts enneigés du Grand Sanctuaire.
"Tous marchaient en silence, tête baissée, ignorant la faim et le froid sur la route du Grand Sanctuaire " (Evgueni Korsan) 
Vous pouvez voir : deux girolles, un grand rocher, une ruche.
Température extérieure : 25 °. Position : 35 ° nord, 23 ° ouest"

J'ai mis en rouge ce qui pourrait être une partie de la description générée aléatoirement (prise au hasard dans un ensemble de phrases d'ambiance liées à la forêt par exemple) – en bleu, un message lié aux conditions météo dans le jeu, que l'on aurait où qu'on soit (en extérieur, tout au moins). En fuchsia, une citation prise au hasard dans un ensemble de citations liés au lieu du Grand Sanctuaire.

Tout ceci est sympathique et plus parlant que "Vous êtes dans une forêt, y a des arbres" deux cent fois de suite quand le joueur avance deux cent fois dans la forêt, mais ça ne suffit quand même pas.

Et puis, dans la vraie vie, on ne peut jamais vraiment aller dans TOUTES les directions, en permanence. Dans l'absolu, si ; mais en pratique, non. L'espace est organisé, il y a des routes, des parcelles privées, des lieux sans intérêt, aussi.

Comment faire alors pour concilier "map gigantesque" et "map qui a du sens" ?

Note du 19 mars 2018 :

Je n'ai toujours pas trouvé la réponse à cette question...  et même en ayant plusieurs fois, au fil des années, tenté de reprendre ce système de map à coordonnées, et en l'améliorant, je n'ai jamais trouvé comment l'exploiter de manière pertinente dans une fiction interactive, c'est-à-dire, malgré tout, un jeu fondamentalement fondé sur une histoire.

1 commentaire:

  1. Je pense toujours à « The Lords of Midnight », à ce sujet, qui avait réussi à créer un monde cohérent en assemblant justement divers éléments graphiques (montagne, tours, monstres) en fonction de l'endoit, et permettant de regarder dans 8 directions différentes au cours du jeu. Azthath et Aslavie semblent avoir pris une direction similaire, et pour donner du sens, tu peux mixer un peu des centres d'intérêts (clairières machin, temple truc, place bidule), bien détaillés, riches en événements et en « quêtes », et facilement atteignables, par exemple via des moyens de transports accélérés.
    Ce qui permettra à ceux qui veulent s'immerger dans les 1000 pièces de le faire, et ceux qui veulent plus de narration d'y aller directement.

    RépondreSupprimer