lundi 6 mars 2017

NPC, Lore, Open World : quelques pistes de design

Vous entrez dans l’épicerie de Belethor, à Blancherive, dans Skyrim.

Celui-ci s’exclame : « Tout est à vendre ! Absolument tout ! ». Ceux qui y ont vendu régulièrement le fruit de leurs pillages se souviennent à la lecture de ces mots du ton frénétique de Belethor (s’il savait que c’est vous qui venez pour vendre !)


Cette phrase « Tout est à vendre… » a été écrite par un auteur humain puis jouée par un acteur humain. C’est évident, pourriez-vous dire.

Et bien non, ce n’est pas une information si évidente à une époque où l’on sous-traite des pans d’univers par de la génération procédurale et où l’on essaye même d’y intégrer des IA conversationnelles.

À quoi ressemblera notre Belethor des années à venir ? C’est une question que nous allons explorer dans cet article.


Des punchlines combinatoires

Toutes les phrases de Skyrim ne sont pas strictement écrites et ne répondent pas à des schémas linéaires. Un garde méfiant pourra vous dire :

« J’ai un œil sur vous, l’orc. »

Si vous étiez Breton, il vous aurait dit de même « J’ai un œil sur vous, Breton. »

La phrase codée est donc « J’ai un œil sur vous, [Dénomination Raciale]. »

Plus précisément, le début de la phrase est contextuel. Si votre personnage est compétent en alchimie, ce même garde pourrait vous dire « Vous pourriez me fabriquer une potion, l’orc ? »

Le vrai système à l’œuvre est quelque chose comme « [Exclamation contextuelle], [Dénomination Raciale Optionnelle]. »




Mais cela reste un élément de décor. Imaginons désormais que la trame narrative fonctionne sur un système combinatoire généré procéduralement.


Wow ! Des quêtes combinatoires !

Le héros entre dans un village. On génère à la volée un personnage critique qui sera labellé « Donneur de quête. ». L’identité de ce personnage est cohérente avec sa position et sa fonction. Un orc sera un mercenaire endurci attendant à la taverne, un Khajiit attendra en lisière de la ville.


On génère ensuite le McGuffin procédural :

  • Quel est le problème ? « Un associé m’a trahi et a volé X », « Mes ancêtres ne trouvent pas le repos parce que X », « On m’accuse injustement d’avoir fait X », ...

  • Résolution intermédiaire optionnelle : Pour avancer il faut d’abord « Trouver les mots sacrés qui se trouvent à Y », « Voler la carte de l’emplacement de Z », « Convaincre Y de vous accompagner »...

  • Résolution finale : Se rendre dans un donjon et récupérer X

  • Twist optionnel : Le donneur de quête est un méchant qui vous a manipulé, vous êtes maudit par l’objet récupéré et il va falloir aller à Z pour vous en libérer, le donneur de quête a été assassiné...etc

On voit qu’il est très simple de créer un système combinatoire de génération de background de quêtes et de quêtes.


Mais ça existe déjà les quêtes procédurales :-(

Dans le cas précis des Elder Scrolls, ce n’est pas une option envisageable, car le lore est sacré et immuable. À l’instar du personnage de Jiub, des quêtes anodines et linéaires ou bien complexes, mais toujours écrites, fondent le socle d’une mythologie qui fait de Tamriel un univers familier à tous.

Cependant, il y a des quêtes procédurales dans Skyrim (et Fallout 4) : les fameuses Radiant Quest. Elles fonctionnent sur le système ci-dessus mais dans leur plus simple expression : « Tel endroit a été envahi par des méchants, tue tout le monde et reviens ».


Avantages pour Bethesda : on ne joue pas les apprentis sorciers avec le lore, ce sera pas trop buggé, c’est finalement pas si différent du reste.

Désavantages pour le joueur : C’est pas très excitant.

Pourquoi ce n’est pas très excitant ? Non pas parce que c’est ultra basique, mais parce que dans le jeu, tout le monde s’en tape.

Vous finissez la quête et vous avez votre paiement, et on passe à la prochaine. Vous ne l’auriez pas faite, aucune différence. A vrai dire, vous savez très bien qu’une seconde avant qu’on vous la donne, les donjons en question étaient vides. Vous êtes pour le jeu un gamin hyperactif qu’on occupe sans imagination à faire une tâche répétitive en lui donnant l’aspect d’un jeu.



La question à 100 millions de dollars (soit le crowdfunding de Star Citizen)

Posons donc une question fondamentale : est-ce qu’une histoire, un background, une quête générés procéduralement sont intéressants ? Le sont-ils plus qu’un travail fait par un humain ?

Il y a plus derrière cette question que l’on ne pourrait croire, mais nous y reviendrons par la suite.

Je parle des Elders Scrolls depuis le début pour une bonne raison : Arena et Daggerfall étaient générés procéduralement, sauf pour quelques points et quêtes clefs (tout comme Frontier Elite et Elite Dangerous), puis, à partir de Morrowind, Bethesda a fait appel à des level designers pour concevoir l’ensemble des niveaux.

Il y a des montagnes par millions dans Daggerfall mais celles-ci sont le produit d’une équation mathématique, tandis que dans Morrowind, beaucoup plus modeste en taille, la moindre pièce d’or posée par terre a été le choix d’un concepteur.

C’est dans l’histoire industrielle un événement remarquable : une tâche qui était faite par un robot, qui, quand l’entreprise a suffisamment de fonds, est attribuée à un humain : d’habitude, c’est l’inverse qui se produit !

Le fait est que la génération procédurale est une direction artistique perceptible : les motifs se répètent à l’infini : les mondes sont grands, mais vides de la présence créative humaine. Visitez 5 villages d’une région de Daggerfall : vous les avez tous vus.


Ceux qui se posaient la question de la pertinence de la génération procédurale ont retenu leur souffle l’été dernier à la sortie de No Man’s Sky : ce jeu serait-il l’élu, celui qui allait démontrer que la génération procédurale pouvait être plus pertinente qu’un level designer ? Bon, ben, le jeu est sorti et on s’y fait bien chier, l’élu ce sera donc pour plus tard.


La génération procédurale et les systèmes combinatoires sont des outils utiles pour le développeur fauché (=qui ne peut se payer des artistes capables d’écrire et d’implémenter un lore et une architecture de quêtes), mais il est difficile aujourd’hui de les contempler comme des approches idéales.


Les IA ou « I am sorry Dave, I am afraid I can’t do that »

C’est là qu’intervient une toute nouvelle technologie qui pèse ses millions de dollars et pour laquelle le gouvernement français lui-même a lancé en début d’année une initiative industrielle : les IA.

Dans notre cas, une IA par réseau neuronal est un outil mathématique qui est capable de générer ex-nihilo du texte en français (ou dans n’importe quelle langue). Ce n’est pas du texte combiné ou préécrit. Le texte est produit « on ne sait comment », mais ça marche, c’est la fameuse boîte noire des IA.  

Théoriquement, vous lui dites « raconte moi l’histoire d’un pays » et elle va fournir du texte sans fin sur le sujet. Ça fonctionne…plus ou moins, nous en avons même créé une petite dans le cadre du podcast Trajectoires et elle répond aux questions des auditeurs.

La promesse de gameplay que cela représente est la suivante : quand vous arrivez dans le village de Bordeciel précédemment évoqué, les personnages vont vous interpeller avec des répliques générées par ces IA.

Ce n’est pas de la science-fiction, j’ai actuellement des discussions très stimulantes avec des professionnels du machine learning qui ont cette ambition. Il est donc tout à fait possible que cela soit une technologie existante dans les années à venir.

Les deux avantages sont stupéfiants et quasiment des killer features :

  1. Tout peut-être écrit et tout est imprévisible. Vous êtes certain de vivre une expérience radicalement nouvelle, surprenante, et même déstabilisante.

  1. Chaque expérience que vous vivrez à un certain instant sera propre à vous et à votre partie, les autres joueurs vivant au même moment et avec les mêmes personnages d’autres textes générés par les IA.

Intéressant non ?

Mais pour être honnête, il y a des obstacles fondamentaux à l’implémentation d’un tel dispositif (et je passe sur « l’éducation » de l’IA à générer un texte spécifique, à rattacher des points d’ancrage à ces textes spécifiques pour les plaquer sur des schémas de quête, etc…)

  1. Il faut nourrir l’IA avec un ensemble de textes de base (un corpus) très important (l’IA existe aujourd’hui parce que la Big Data existe). Notre petite IA maison fonctionne avec 4 ou 5 milliards de caractères et elle s’exprime pas tout à fait efficacement. Cela veut dire que pour avoir un tel dispositif qui fonctionne, il faut produire à la base un nombre très très important de textes spécifiques (à l’univers de Tamriel, par exemple) qui représentent un coût très important.

  1. Une IA qui s’exprime en français ne pourra pas s’exprimer en anglais. Donc un tel dispositif PAR langue.





L’expérience collective du JV du 3e millénaire

Mais admettons néanmoins que la technique fonctionne comme dans nos rêves les plus fous.

Vous arrivez au village de Bordeciel et un haut elfe vous invite à boire et vous parle de sa vie et de sa famille, et vous invite à aller chasser avec lui, avant de se retourner contre vous, car c’était un voyou. Dans la partie que jouera un de vos amis, ce même Altmer est un paria de la guilde des sorciers, prêt à vous vendre une carte au trésor.

Je soutiens que cette expérience de jeu reste décevante car elle occulte la nature sociale du jeu. Un jeu vidéo, même solo, est une activité de groupe : une partie du plaisir consiste à partager ses histoires avec ses amis, à avoir vécu la même expérience, et que cette expérience soit le produit intentionnel d’un humain.

Pour prendre une métaphore, on a du mal à se sentir chez soi et à inviter ses amis quand la maison change tout le temps de forme et d’adresse.

La question est quasi philosophique, mais une œuvre est un pont entre l’histoire personnelle de l’auteur et du spectateur. Si demain les IA produisent des œuvres d’art de premier plan, elles auront moins à nous transmettre que des œuvres produites par des humains dirigés par des intentions et traînant une vie à laquelle on peut se mesurer. Si le contraire se produisait, cela veut dire que le produit de matrices mathématiques que sont les réseaux neuronaux sont équivalents à nous, et donc que nous sommes, sans le savoir, des produits de matrices mathématiques.

Tout n’est pas à jeter dans l’intégration IA, tant que l’on garde à l’esprit cette dimension sociale devenue nécessaire à l’époque d’internet. On peut imaginer que dans le cadre d’un MMO, une aventure éphémère générée à la volée mais partagée par quelques amis est un moment pertinent.


La fin du marqueur de quête ?

Si on doit écarter l’IA comme générateur de backgrounds, quels systèmes d’avenir envisager ? Je pense en fait à l’effacement progressif du NPC pour laisser la part belle à l’action du joueur.

Dans un premier temps, je me demande si le temps du « marqueur de quête » est révolu. Les plus belles expériences étant de nature émergente, moins on demandera au joueur de faire des choses, plus il prendra des initiatives susceptibles de créer des situations émergentes.


Un Grise-Barbe pourra dire au Dovakhiin d’aller dans un mystérieux tumulus perdu dans la neige pour aller chercher un mot de pouvoir.  (1)
Dans la situation émergente, le joueur crapahute dans la neige et découvre un mystérieux tumulus. Épée au clair, il se lance dans son exploration sans savoir les dangers et les récompenses qu’il y rencontrera. (2)

La situation (1) s’apparente à un travail. On fast travel vers la destination, on a sans cesse un curseur qui nous dit comment optimiser notre chemin. On sait déjà quelle sera notre récompense, comme un salaire à la fin du mois.

Dans la situation (2) ne serait-ce que parce que sans marqueur de quête, le joueur doit se faire une carte mentale du lieu, cela lui permet de se l’approprier. Les donjons de Skyrim vont dans ce sens avec des marqueurs architecturaux qui donnent un dynamisme à l’exploration (en général, par exemple, s’il y a un ruisseau, il vaut mieux le suivre).


Une trame dramatique crowdsourcée

Dans un second temps, il serait intéressant de systèmiser la relation joueur avec la règle générale « une action du joueur entraîne une conséquence chez un autre joueur. »

Exemple de système totalement caché : Les variables habituellement aléatoires dans un jeu (météo, spawn, loot...) dans votre partie dépendent des actions d’un autre joueur. Cas concret : dans sa partie, un joueur a un comportement généreux. La conséquence de cet acte est que dans une autre partie, un autre joueur trouve un loot plus important que d’habitude. (a)

Exemple de système semi-caché : dans Elite, si tout le monde achète la ressource d’un système, cette ressource prend de la valeur et gagne en rareté.

Exemple de système non caché : lier le système de housing et de vol. Quand vous achetez un magnifique chandelier gothique pour mettre dans votre demeure Douce Brise, une quête « vol de chandelier » apparaît dans la guilde des voleurs d’un autre joueur. Si cette quête est réussie, le chandelier aura été volé et placé dans la guilde des voleurs. (b)


N’imaginez pas forcément des systèmes online très performants pour ces actions. Elles peuvent être réalisées de façon asynchrone sans que les joueurs ne se croisent jamais ni aient même connaissance de l’activité online.

Concernant le cas (a), quelle pertinence de passer d’un processus invisible à un autre ? L’idée est de mettre un lien spirituel entre les joueurs de parties différentes. On touche à un concept presque religieux : quand est frappé d’un coup de malchance, on se dit parfois « qu’ai-je fait pour mériter cela ? ». Etymologiquement, la religion est le fait de relier « magiquement » les choses.

Ainsi, quand vous jouez de malchance dans votre loot, quand les adversaires sont injustement forts, quand les pires tempêtes éclatent et déchirent un ciel paisible, c’est qu’au même moment, dans la partie qui est reliée, une personne est en train de commettre de mauvaises choses.


La notion de moralité a été souvent introduite comme facteur éducatif, comme les variables invisibles de karma dans les Ultima, comme système de réputation, dans les Fallout, voire dans un but pas très réussi de moralisation du joueur dans les Bioshock. Mais si vos comportements moraux influençaient les parties des autres joueurs ? Se créeraient-ils des chaînes de bienveillance ou de malfaisance de parties ainsi reliées ? Ne seriez vous finalement, jamais vraiment seul dans la peinture de votre propre aventure ?

Le cas (b) a des conséquences psychologiques tout à fait intéressantes. Votre chandelier gothique que vous avez placé là façon Valérie Damidot et que vous n’aimiez pas plus que ça vous a été volé, et cet acte a été commis - même dans un jeu asynchrone parallèle - par un autre joueur. C’est la guerre ! Il prend tout de suite une valeur importante. De la même façon, si vous avez un attachement particulier avec un personnage, il pourrait être la cible d’une guilde d’assassins. Votre revendeur préféré Belethor qui doit fermer car des gens détournent ses approvisionnements.

J’ai mis des exemples compétitifs, mais des cas coopératifs (pas encore narrativement développés) sont tout à fait envisageables et déjà largements entrepris, comme le fait d’affaiblir des boss par l’action combinée de nombreux joueurs dans Dragon’s Dogma.


Une quête du sens

Allons encore plus loin. Si à chaque fois qu’on décore sa maison avec un chandelier il est susceptible d’être volé, peut-être que le joueur prudent va mettre des pièges à loups tout autour du chandelier. Peut-être même qu’il va s’installer, si le jeu lui permet, tout au fond d’une tortueuse grotte blindée de pièges et attendre avec 2 gardes du corps. Vous voyez où je veux en venir ? On se retrouve avec un systeme de level design itératif crowdsourcé.

Pour conclure, j’aimerais aller plus loin et vous proposer d’imaginer une méthode de création du lore d’un open world qui serait crowdsourcé par le gameplay.

Prenez une surface de jeu générée procéduralement ou avec des level designers, avec des rochers, de la végétation, des animaux.

Des joueurs-pionniers parcourent ces espaces non civilisés en leur attribuant des noms (Ex : la plaine du vent, le fleuve bleu...), mais aussi en nommant les essences des arbres, leurs fruits, les animaux.. Il y a au final un simple travail de « nommage », mais aussi de détermination de la qualité avec une gamification de l’équilibre. Si une essence d’arbre est extraordinaire, il faudra que les prochains fruits désignés soient empoisonnés pour équilibrer, par exemple.

Une fois ce travail de jeu-encyclopédie fait, les level designers peuvent donner vie à la civilisation en implantant des villes et en les érigeant. Le lore se construit ensuite de lui-même sur le principe de la localisation : une auberge sera faite en bois local et servira de la nourriture locale, un médecin utilisera les herbes et fruits à sa portée. Si les essences des bois sont médiocres, les maisons seront en pierre, et vice-versa. Des niveaux de vie et dynamiques de besoin (et donc autant de quêtes) apparaîtront naturellement.

Savoir que cette vieille auberge est en orme bleu de la vallée du vent, et qu’ils y servent des pintades tachetées du lac horizon ne change pas grand chose à votre expérience de jeu, à votre build, à votre cursus hororum de points d’experience, pas vrai ? J’aime à croire que si, surtout si un jour vous vous reposez au pied d’un véritable orme bleu et que tout est cohérent, tout fait vrai.

Une telle démarche me semble créer non pas un design élégant comme le voudrait un level designer ni une fonctionnalité précise comme le voudrait un simulationniste, mais un peu des deux, dilué dans l’élément essentiel qui transforme une expérience de jeu en aventure mémorable : le sens.


3 commentaires:

  1. Le MMO (quasiment entièrement textuel, certes) Fractal fonctionne un peu comme ça. Le créateur du jeu fournit le système avec ses règles, sa map du monde en 2D, et les joueurs - uniquement eux - créent des alliances, des villes, provoquent escarmouches et guerres, tiennent l'économie, etc.

    RépondreSupprimer
  2. It is a great article. You will surely like this also because it is a great stuff, yeah it’s give us lots of interest and pleasure. Their opportunities are so fantastic and working style so speedy. Thank you for sharing the nice article.
    http://apkdownloads.net/lolnexus/

    RépondreSupprimer
  3. http://apkdownloads.net/lolnexus/
    Valuable information! Looking forward to seeing your notes posted. The information you have posted is very useful. Keep going on, good stuff. Thank you for this valuable information

    RépondreSupprimer

Merci de lire mon blog