jeudi 12 juillet 2018

Génération Procédurale de Texte et Narration : Généralités, Opinions, Astuces et Perspectives.

Ceci est la transcription d’une conférence donnée initialement à Game Camp France, à Lille. Pour attirer les gens, je l’avais sous-titrée « Comment se débarrasser de son écrivain et son énorme égo » Autour de cette idée provocatrice nous allons explorer partiellement le monde de la génération textuelle et voir quelques perspectives inattendues. Donc imaginons que vous soyez créateur de jeu et que vous ayiez délégué la partie narrative à un écrivain. C’est une bonne chose car c’est un professionnel, mais vous vivez l’enfer car son ego déborde désormais sur vos décisions (et j’en sais quelque chose, puisque j’en suis un). Le rôle de l’écrivain À quoi sert un écrivain dans le cadre de la création d’un jeu vidéo ? Fondamentalement, on pense tout de suite à : toile de fond, scénario, mythologie, interaction, dialogues, descriptions… On pense déjà moins à « l’environnement textuel ». Si vous avez un sound designer dans votre équipe, il nous viendra jamais à l’idée de fabriquer un son pour un bouton : vous demanderez à votre sound designer de le faire... Cependant, dans beaucoup de productions indés auxquelles j’ai participé (pour ne pas dire toutes) tous les textes d’interface étaient rédigés par le responsable UI, le graphiste ou le GD. Dans le fond, un bouton « OK » n’a pas besoin d’être pensé par un écrivain, pas vrai ? En vrai, pourquoi pas ? C’est son métier, sa compétence. Pour l'environnement textuel d’interface, il y a parfois des conflits entre l’expert de l’interface, qui veut un texte limpide et signifiant, et l’écrivain, qui tentera plutôt de coller à un contexte de jeu et qui tentera d’y raconter une histoire. Dans Out There que j’ai co créé avec Michael, j’ai pu mettre un bouton intitulé « Encounter Life » quand on veut explorer une planète et approcher ses habitants. La formulation est plutôt maladroite et les joueurs anglosaxons l’ont mis sur le dos d’une mauvaise traduction. En vrai, dans sa version française, elle est encore plus maladroite : « Rencontrer la vie ». L’intention n’était pas d’être limpide, mais d’être mystérieux, solennel et évocateur. Une interface est telle un verre de cristal qui soutient l’expérience de jeu qui serait un bon vin : elle doit s’effacer et accompagner son contenant pour le sublimer. Si votre jeu est narratif, donnez un peu de liberté à votre écrivain sur votre environnement textuel. Les AAA, engoncés dans leurs process, ne le feront pas. Les indés peuvent le faire, et comme seuls eux peuvent, ils le doivent. Un 2e aspect crucial de l’écrivain est celui de la « texture gameplay ». Souvent les écrivains se plaignent d’être relégués au second plan dans les JV. Il y a de quoi se plaindre en effet. Combien de fois nous a-t-on présenté un jeu, par exemple un tactical terminé à 90% et l’on nous dit « bon, tu nous fais une histoire pour ce jeu ? ». Nous aurions aimés être là dès le début, pour apporter une élégance et un liant dans la forme et le fond, plutôt que d’être un cache misère narratif... Avec le temps je ne dirais pas que quand le travail de l’écrivain est requis (nous allons tenter de l’extirper du process par la suite), ce travail est plus important que tous les autres, comme le code. Je dirais qu’il est tout aussi important, ni plus ni moins. Cependant, l’intégrer aux premiers stages de la conception peut être un atout dans l’élaboration d’un gameplay unique. Récemment, j’ai du faire le GD et le travail narratif d’un jeu d’espionnage. Si je n’avais qu’une casquette de GD, à quoi aurais-je pensé ? Aux espions, à Jason Bourne, à des courses poursuite en voiture, à des agents doubles, à des documents secrets… Ma casquette de narrative designer m’a fait me documenter beaucoup sur la géopolitique pour élaborer un scénario en parallèle : j’ai découvert les relations ambiguës des états avec le terrorisme, la cryptographie, l’importance des drones, des interprètes, des diplomates, la personnalité très particulière de chaque grande puissance… Évidemment, toutes ces idées nouvelles ont alimenté grandement mon travail de GD. En GD, la règle d’or est : « Connaissez parfaitement votre univers, les règles apparaîtront d’elles-mêmes. » Et qui connaît mieux votre univers que celui qui va en rédiger le background ? Quelques aspects de la narration textuelle Localisation Le conseil le plus important que je pourrais donner est de ne pas écrire trop. Je pourrais développer ce conseil sur bien des plans philosophiques et artistiques, mais le fait est que le déploiement de votre jeu indé doit prendre en compte les frais de localisation du jeu. Dans nos productions qui sont très narratives et textuelles, nous circonscrivons le volume à 35K - 50K mots. En comptant 0.10 cts € / mot, cela représente disons 3500 € par pays. Bien sûr, localiser un jeu français en anglais, en russe ou en chinois est évident étant donné l’énormité des marchés. Mais en allemand, alors que la population est totalement anglophone ? En italien, où le marché est faible ? L’excellent 80 days ne comporte pas de version française. Il comporte 500 000 mots, ce qui en fait l’équivalent des Misérables de Victor Hugo. Si un jour une traduction française (ou italienne) est envisagée, il faut avoir l’espoir de recouper au moins 50K € sur le territoire concerné. Un pari délicat… Le texte comme vecteur de subtilité Beaucoup de créateurs talentueux et disposant d’une grande somme d’argent essaient de faire passer des émotions ou des sentiments complexes par de la cutscène 3D. C’est compliqué. Souvent, c’est balourd, singeant plus ou moins le cinéma qui est un art hétérogène. Ils paient le prix d’être des pionniers. En attendant, un texte simple peut transmettre des concepts difficiles à illustrer autrement, justement, que par le texte : le sentiment d’accomplissement, le bonheur, la volonté d’entreprendre, et cette chose autour de laquelle le monde entier se focalise, et qui est si absente de nos productions, qu’est l’amour. Le texte - interface Nous avons vu qu’une interface comportait du texte et que ce texte pouvait poser une ambiance. Maintenant le texte peut-être un composant d’interface à part entière, décrivant quelque chose d’une façon plus adéquate qu’un autre moyen, comme une icône. Le rogue-like ADOM par exemple vous propose de créer un héros avec une race et des statistiques. En début de partie, il synthétise les informations statistiques du joueur pour en faire une biographie. Par exemple, un personnage qui aura grandi dans les champs sera endurant. D’une façon symétrique, les Ultima proposaient une création de personnage, donc la détermination de leurs statistiques, par des mises en situation imaginaires du type « que feriez-vous dans cette situation ». Ces questions, posées par une mystérieuse bohémienne, posent une ambiance et allient pertinence et élégance. Pour plonger encore plus dans la fractalité de la signifiance du texte, la police de caractère raconte aussi une histoire : la caroline d’Oblivion nous place dans un contexte de cités médiévales et de batailles de seigneurs, tandis que l’Helvetica condensed étincelante de blanc de Skyrim nous rappelle à tout moment que nous sommes entourés de montagnes. C’est un peu comme une interprétation freudienne d’un rêve : quand on parle de texte, rien n’est innocent.
Grammaire Les joueurs américains et les joueurs français n’ont pas, aujourd’hui, les mêmes expériences de jeu, et ceci à cause de la grammaire. (Je ne parle pas des accords d’adjectifs. J’ai une remarque à vous faire sur le français : en tant qu’écrivain français je préfère largement les fleurs orange aux fleurs blanches. Car orange est strictement invariable (il ne prend pas de s au pluriel), tandis que non seulement blanc prend un s au pluriel, mais quand il s’agit d’un féminin il se transforme en blanche. Coder des fleurs françaises, c’est coder des exceptions !) Nous avons hérité des formes grammaticales des jeux des années 80 « Talk to » en anglais et « Parler à » en français. À quoi pense un américain quand il clique sur Talk To ? Est-ce qu’il donne un ordre au héros « Go talk to that guy, man ! », ou est-ce qu’il ajoute un « I try to » implicite (I try to talk to…), impliquant qu’il s’incarne totalement dans le héros ? Je ne sais pas. En français nous avons un infinitif très neutre « Parler à » dont la traduction serait en anglais « To talk to ». Nous établissons une liste d’instructions neutres : dans le fond, l’avatar subit une forme de programme. Nous avons une relation plus analytique qu’émotionnelle avec le jeu et c’est le fruit d’une grammaire complexe. Si nous utilisions l’impératif « Prends » au lieu de « Prendre », nous nous exposerions, dans les jeux à parseurs textuels, à des blocages, tout simplement parce que le français moyen maîtrise mal l’impératif. En faisant nos jeux depuis 40 ans avec nos « Talk to » et nos « Parler à » j’ai parfois l’impression que nous mangeons le même plat ou que nous faisons l’amour de la même façon depuis 40 ans. Le futur, le passé simple, la troisième personne du singulier...pourquoi ne pas utiliser ces conjugaisons, ces modes et ces temps pour nous offrir une narration unique ? Il y a encore tout à faire ! Génération procédurale
Combinatoire Une stratégie commune pour générer du texte est d’utiliser la combinatoire, si possible conditionnée. Ainsi, quand dans Skyrim un garde vous aborde en disant « Bonjour l’orc, vous pouvez m’aider à enchanter quelque chose ? », nous avons trois parties de phrase :
- Bonjour ou Bonsoir, lié au temps ingame - L’orc, lié à la race du joueur - La phrase qui suit est liée à une compétence du joueur. S’il n’en a pas, le garde pourra toujours nous parler d’un accident du genou…

Que retient-on de ce système combinatoire ? Déjà, on peut créer beaucoup de phrases avec peu de matériau de base. Notre rêve de nous débarrasser de l’encombrant écrivain progresse. Il y a un réel « wow effect » les premières fois. Le jeu réagit passivement à l’identité de notre personnage, et c’est impressionnant. Cependant, on s’adresse à des joueurs, des gens hyper capables de lire des motifs dans les feedbacks d’un jeu, c’est même d’ailleurs leur compétence principale. À ce titre il y a un systématisme transparent dans une telle application combinatoire qui mène paradoxalement à une perte d’immersion. Cela rejoint une idée plus vaste, que nous verrons plus tard, qui suggère qu’un personnage doit être écrit ou donner l’illusion de l’être, même dans un monde qui se veut systémique (puisque c’est si à la mode). Enfin, et c’est peut-être le plus délicat, l’information transmise est faible. Le garde de Skyrim est un miroir qui évalue ma progression, et rien d’autre. Dans ce cas particulier, il y a bien des moyens de l’améliorer. Au final l’exercice de la phrase combinatoire peut se condenser dans une seule règle de qualité : « Est-ce que je transmets une information nouvelle et cohérente dans le cadre d’un corpus suffisamment vaste pour ne pas lasser ? »

Sheherazade Il existe une technique basée sur l’équilibre du récit, que je nomme « Sheherazade » et qui allie des techniques de soap opéra à architectures de shows plus classiques (comme X-Files). Imaginons que vous soyez un écrivain pour un créateur de jeu vidéo fou et que ce dernier vous demande d’écrire 1 000 000 de quêtes car selon lui l’équilibre de son jeu en dépend - et que vous ne souhaitez pas passer par du procédural. Il est possible de donner l’illusion à un jeu d’avoir 1 000 000 de quêtes en en écrivant un nombre assez réduit, disons 800, et, si vous utilisez plusieurs techniques, de baisser encore ce nombre (400). X-Files (ou Star Trek) a une structure intéressante : il est composé d’un arc principal dont les épisodes clefs sont au début et à la fin, et un ou deux au milieu. Tout le reste sont des épisodes indépendants, que vous pourriez d’ailleurs regarder dans le désordre. Beaucoup de RPG sont basés sur une structure similaire. L’arc principal est la main quest, et les épisodes intermédiaires sont les side quests, que l’on peut faire dans l’ordre que l’on veut. Imaginez que vous allumiez la télévision et que la chaîne passe un épisode de The Young and The Restless. Une personne passe à côté de vous et s’exclame « Wow, c’est la saison 16 épisode 32 ! ». Vous seriez certainement stupéfait, sceptique ou amusé, car il est difficile, voire impossible, de connaître si bien les épisodes de la série pour les identifier précisément. On peut effectivement jouer sur l’incapacité de notre cerveau à mémoriser parfaitement une histoire ou une quête si l’on suit des conditions de rédaction de type soap opéra. L’idée est que si l’on boucle la 800e quête écrite, on ne se souvient plus de la 1ere. On peut donc, et oui, boucler à l’infini sur le même corpus d’histoires. Pour cela il y a 2 règles à suivre : - Il faut être absolument dans le même contexte : petite ville américaine, science fiction, médiéval fantastique. Plus on est générique, plus la technique est efficace. - Il ne faut pas être trop talentueux et ne pas créer de granularité dans la narration. Les quêtes doivent suivre les mêmes rythmes et être, à l’instar des épisodes hors arc principal, échangeables entre eux. Une offre d’emploi pour ce type de travail pourrait ressembler à « Nous cherchons un écrivain talentueux capable d’écrire les histoires les plus fades possibles ! » Est-ce qu’une série d’histoire sans granularité (hors rythme interne d’épisode) peut réellement intéresser ? Demandez aux spectateurs de soap operas. Mais il est prétentieux de croire que tous les joueurs veulent des histoires passionnantes et impliquantes - beaucoup veulent simplement se détendre, et ne pas ajouter à leurs pensées le fardeau d’aventures virtuelles. Et ce marché est probablement le plus vaste.
Turbo Sheherazade Il existe des moyens de démultiplier ces techniques, en utilisant des textes à trous dans les histoires pré écrites - donc en ajoutant un peu de combinatoire. Cela permet de réduire drastiquement un nombre déjà faibles d'histoires - on atteint ici une limite financière, car dans le fond, écrire 400 histoires ne coûte pas si cher. Puis il y a la génération procédurale proprement dite. Les techniques sont particulièrement nombreuses mais elles consistent tout simplement à générer des histoires avec des algorithmes. Une approche valable, notamment dans le cadre de traitement de licences de type série TV ou souhaitant les singer, est une approche simulationniste. De la même façon que l'on designe un simulateur de lance-missiles, il est possible de designer un simulateur de scénariste : ils ont les mêmes ouvrages de référence, fonctionnent sur des rythmes normés, et appliquent les mêmes recettes. Lorsque l'on réduit ce travail au design de quêtes à la volée, le travail est encore plus réducteur : Mcguffin, exploration de lieu, combat ou épreuve alternative au combat, récompense, twist éventuel ou conclusion. La scène du jeu de rôle indépendant est très riche en ouvrages permettant d'organiser de la génération algorithmique de quêtes de qualité - citons par exemple Eureka et Masks chez Gnome Stew. La promesse de quêtes infinies aux contours maîtrisés est séduisante mais présente au final les mêmes écueils culturels que la génération par IA deep learning que nous allons aborder ensuite. Je suis pessimiste sur leur intérêt à court terme.
Cœurs brisés Habituellement, quand j'ai une idée de jeu expérimental, je me pose les deux questions : 1 - Est-ce que c'est possible ? 2 - Est-ce que c'est amusant ? Les développeurs indépendants travaillent par passion et par plaisir. Le confort émotionnel et intellectuel de travail est important. J'ai une anecdote de mise en garde sur la génération algorithmique précédemment évoquée. Il y a quelques semaines j'ai voulu écrire une histoire d'amour sur le principe suivant : une fille m'envoyait des sms tous les matins, me souhaitant une bonne journée, m'invitant à me confier, à profiter de la vie, parfois en me taquinant, pimenté parfois d'un peu de cybersexe...et tant qu'à faire, je voulais utiliser mes techniques pour faire de ceci un « jeu sans fin ». J'ai vécu un enfer : il est très pénible d'écrire sur l'amour, un sujet particulièrement sensible, intime, par petits bouts algorithmiques. C'est un travail affreux qui vous éloigne du sujet initial et qui est absolument déprimant. J'espère que vous ne travaillerez jamais dans une usine ingrate de jeux vidéo où vous fabriquerez comme des ouvriers des petits morceaux d'amour à monter en kit. Donc quand on vient au saut quantique de la génération algorithmique textuelle, il convient aussi de se poser la question : 3 - Est-ce que je vais apprécier de le faire ? J’aime croire que l’amour que nous mettons dans le travail a une influence directe sur la qualité de l’ouvrage.
IA Deep Learning La technologie des réseaux de neurones permet de créer, à l'infini, des textes sur un sujet donné, moyennant des conditions. Avant de poursuivre, un avertissement : beaucoup de professionnels bien plus qualifiés que moi estiment que c'est une technologie d'avenir. Ils ont donc probablement raison. J'ai cependant l'avis inverse. Pourquoi développer un avis qui est donc probablement erroné ? Et bien parce qu'il vous faudra bien des arguments quand votre client/patron voudra tout miser dessus parce que ce sera la mode, à défaut d'être une solution pertinente. La technologie est tout à fait accessible, aux résultats surprenants. Vous donnez à un logiciel un corpus de textes (nous le développerons plus tard), et par la suite, le réseau de neurones vous restitue des textes similaires, à l'infini. Il y a un travail d'équilibrage pour que les textes restitués soient pertinents et intelligibles sans être pour autant des copies de tout ou partie du corpus originel (overfitting) mais le résultat est vraiment étonnant. Il faut aussi une machine hors normes : nous utilisons pour l'entrainement des neurones un PC avec 85 Go de RAM. C'est le moment d'utiliser toutes ces cartes graphiques qui minent du bitcoin à quelque chose de vraiment utile ! Pour les besoins d'un podcast de mathématiques, nous avons créée une petite IA conversationnelle qui s'est même choisie un prénom : Yurie. Elle a réponse à tout, des réponses qui suivent une logique interne mais rarement utiles. Yurie a été utilisée pour des questions / réponses, des textes de rap, des morceaux de romans, la reconstruction d'une langue proche du français (en prenant en compte dans le corpus non pas des mots distincts mais les lettres composant ce mot), et même un morceau du scénario d'une BD qui sera prochainement publiée. En faisant varier les corpus et les techniques d'entraînement, on peut créer des machines à débiter du texte sans fin sous toute forme. Y compris du lore, dialogues et quêtes liées aux JV ? Faisons un petit bilan sur les contraintes de corpus. Notre Yurie a commencé à s’exprimer en bon français à partir de 3 milliards de mots. Suivant les langues, bien entendu, ce chiffre peut varier. Mais cela nous ouvre trois obstacles majeurs : Tout d’abord il faut obtenir une quantité importante de mots, qui plus est dans un contexte spécifique : ce n’est pas en éduquant votre IA avec tous les textes libres de droits d’avant 1950 qu’elle va s’exprimer d’une façon médievale, argotique ou technique suivant les contextes. Il n’y a pas de contrôle direct sur les éléments qui seront produits. Éduquée avec des textes d’avant 1950, Yurie est sexiste : À quoi sert un diplôme ? Y : Un diplôme permet à un homme de devenir scientifique, et à une femme de devenir institutrice. On peut imaginer toutefois que l’IA produise 1 million de textes et que l’équipe d’auteurs passe son temps à les selectionner plutôt qu’à les écrire. Mais c’est perdre un grand intérêt de ce principe. On ne peut pas traduire ces textes dans une autre langue. Il faut créer une IA par langue. Donc un corpus par langue… La génération par IA permet à mon avis de faire trois degrés de production textuelle : - « Le bruit de fond » : il y a besoin pour les productions importantes, de rédiger une somme considérable de textes qui ne sont presque jamais lus ou entendus : ce sont les conversations des passants dans les open world par exemple. - Les dialogues génériques courts : un PNJ qui peut dire « oui » ou « bonjour » de 3000 façons différentes ? C’est aussi possible. - L’écriture de lore faible : besoin d’une bibliothèque renfermant un millier d’histoires de dragons ? C’est tout à fait possible. Toute production plus ambitieuse me semble difficile à appréhender techniquement aujourd’hui (mais comme je l’ai dit, je me trompe surement). Mais est-ce qu’un PNJ qui dit « oui » de 3000 façons différentes, c’est cool ?
Cool comme en 1999 Il y a une barrière culturelle qui me semble immense par rapport à l’arsenal technologique des quêtes procédurales ou de l’IA génératrice de texte : Promettre une expérience de jeu unique est une proposition qui était palpitante au XXe siècle mais qui est très incomplète de nos jours. Aujourd’hui le jeu se consomme en le jouant, mais aussi sur youtube et sur stream. Tout comme dans la consommation de shows télévisés, l’expérience de jeu est aussi en dehors du jeu, par les forums, par les réseaux sociaux, par l'interaction joueur hors jeu. Il faut donc pouvoir concilier une expérience de narration émergente et des marqueurs fixes, reproductibles. En gros : « j’ai vu ce streamer dans cette situation de jeu faire ceci et c’était cool, j’ai envie de le faire chez moi ou j’ai envie de faire un peu différemment ». Nous découvrons une version sophistiquée du plaisir qu’on les passionnés de reparler avec passion d’un match sportif auxquels ils viennent d’assister. Aux deux opposés du spectre de la narration émergente nous avons : > La promesse d’un jeu absolument figé comme un point’n’click est faible car 100% de l’expérience de jeu est consommée par youtube / stream. > La promesse d’un jeu théorique où toutes les expériences sont uniques est également aussi faible car ce que voit le joueur dans un stream n’est pas reproductible et il n’y a pas de marqueurs communs capable de générer une culture en dehors du jeu. Sans surprise, ce sont donc les open worlds classiques qui ont longtemps proposé une expérience de narration émergente optimale, où le joueur avait un grand degré de liberté dans un monde qui était le même pour tous. En aparté, je précise que quitte à avoir 3000 façons de dire oui, il vaut mieux 3000 PNJ qui ont une seule façon (unique) de dire oui que 1 (ou 3000 PNJ) qui ont 3000 façons de dire oui. Un personnage écrit, même faiblement, vaudra mieux qu’une conversation générée par une IA à ce stade de la technologie. Un personnage qui répète la même phrase est parfois lassant, mais cela le caractérise, c’est un gimmick. Plus important encore, cela laisse la trace de l’homme derrière l’œuvre virtuelle, une question que nous allons explorer maintenant.
Vacuité de l’infini Le jeu vidéo est la seule industrie à ma connaissance qui est passé de l’automatisation à l’artisanat quand il a eu les moyens: D’un Arena, Daggerfall procéduraux, les équipes des Elder Scrolls, quand elles en ont eu les moyens, ont basculé vers le level design fait à la main. Pourquoi dans les fresques sans fin de No Man’s Sky trouve-t-on moins d’intérêt que dans les villes plus limitées en espace et en diversité de certains open world. La question est philosophique. Je dirais qu’en jouant nous ressentons un lien avec le créateur du jeu : il y a un musicien, un graphiste, un scénariste, un level designer, qui avec leurs maladresses et leurs talents, nous transmettent quelque chose. Dans le fond, comme dans toute œuvre d’art, nous cherchons et nous retrouvons nous-mêmes, ou tout du moins la trace d’un frère humain.
Cependant, un monde purement procédural ne montre pas la main de l’homme. Ce caillou a-t-il été posé par un humain ou généré par une équation ? Existe-t-il une uncanny valley de la conception artistique ? C’est une opinion arbitraire : je pense que oui. Et je pense que je peux passer des heures à regarder un caillou virtuel posé par un humain, car il y a une histoire derrière. Le caillou posé par l’équation n’est pas dénué d’histoire non plus, mais il est à un degré de séparation tel qu’il demande un investissement personnel que tout le monde ne sera pas prêt à donner.
La narration issue d’un déséquilibre du Gameplay Nous avons posé un certain nombres d’hypothèses pour arriver à une étape imminente qui va les reprendre pour aller plus loin. J’aimerais juste avant évoquer quelques ultimes points. La narration émergente, par essence, est issue du gameplay. Un gameplay d'infiltration réussi, par exemple, ou de gestion de squad à la Xcom, est propice à de grandes histoires sans pour autant imposer un scénario préécrit. Je voulais parler des gameplays déséquilibrés, (apparemment) mal conçus ou idiots au regard des normes de conception. Ces gameplays sont propices à des narrations nouvelles. Imaginons un hack’n’slash standard où le héros découvre au début du jeu une arme. Il a le choix entre une épée normale et une dague rouillée. Plongé dans le meta-jeu, le joueur va se raconter une histoire, il va se dire « si je prends cette dague, je vais accéder à une narration ou une récompense spéciale, même si le jeu sera plus dur ». L’astuce ici consiste à ne rien faire de particulier, que le jeu reste absolument identique : à chaque évènement, à chaque avancée et choix, le joueur va avoir l’espoir de vivre quelque chose d’unique. Avec un simple choix, nous avons donné une dimension nouvelle au récit. (C’est peut-être une vision de fou furieux : cette idée est constamment refusée dans le cadre de mon travail). Je suis parfois consulté pour créer de la narration émergente dans les MMO. La narration dans ce contexte, comme la guerre, nait souvent sous des contraintes de pression de population ou de manques de ressources. Prenez un Eve Online like et attribuez 99% des ressources à un seul joueur. Et regardez ce qu’il se passe. Quoi qu’il se passe, ce sera intéressant...beaucoup plus en tout cas que ces jeux équilibrés aux mécaniques de progression qui sont toutes les mêmes. Vous imaginez sans mal que cette idée est toujours rejetée par les directeurs de projet… Toutes ces données :
- Narration émergente issue du gameplay et des tensions multijoueurs - Montée en force des interactions fortes temps réels entre grand nombre de joueurs (Battle Royale like) Nous permettent de considérer les interactions joueurs de la même façon que l’on considère les interactions entre objets dans une programmation INFORM : le joueur n’est qu’un maillon d’un grand jeu global dont il participe par des actions indirectes à l’écriture. À ce titre, nous pouvons dégager une idée fondatrice, celle d’un jeu sans aléatoire ni génération procédurale, mais pourtant imprédictible.
Principe fondateur L’idée est de substituer le travail de l’écrivain ou de la narration procédurale par des interactions entre joueurs. Exemple direct : Dans le cadre du housing d’un MMO, un joueur achète un objet de décoration. Exemple : un tableau. Nous introduisons une règle de gameplay qui génère à la volée une quête dans la guilde des voleurs dont l’objet est de voler le tableau. Ce tableau qui était un objet de décoration finalement assez basique va devenir l’objet d’une guerre entre deux joueurs. Si le tableau se fait voler, il est certain que le joueur volé va racheter un objet, mais peut-être poser des pièges autour, attendre le voleur avec des amis, ou même mettre le tableau au fond d’une grotte pleine de monstres… Sans intervenir, nous avons ici de la narration mais aussi une forme de level design itératif et crowdsourcé. Exemple indirect : Dans le cadre d’un RPG, le loot d’un coffre est indexé sur le niveau du joueur modulo un nombre aléatoire. Nous substituons le RNG par une valeur de Karma qui est la résultante (un peu travaillée) des actions d’un autre joueur dans une autre partie. Un joueur est égoïste, méchant, maladroit ? Cela entraînera des loots pauvres, des monstres abominables et des tempêtes chez un autre. Et les actions de ce même joueur impacteront celles d’un autre...dans une chaîne de karma positive ou négative - chaque joueur étant la divinité d’un autre. Quand on est malchanceux dans un jeu, cela a une toute autre saveur de savoir qu’on peut maudire quelqu’un de vivant pour cette situation ! Les 4 règles Pour créer un jeu qui correspondre à ces ambitions ou simplement préparer un jeu à une future transition vers une totale narration basée sur les interactions des joueurs, 4 règles : 1) Il faut enregistrer toutes les actions de tous les joueurs. Dans les exemples qui suivront, quand un joueur ramasse une fleur, c’est une action signifiante qui est notée. 2) À chaque intervention du RNG dans le gameplay, se poser la question : « comment puis-je la remplacer par une action d’un autre joueur ? » (même asynchrone) 3) À chaque intervention de la génération procédurale (ou encore plus : de l’écrivain), se poser la question : « comment puis-je la remplacer par une action passée d’un autre joueur ? » (enregistrée en 1) 4) Enfin, à chaque intervention de l’écrivain, se poser la question : « Est-ce que si je ne racontais rien plutôt que quelque chose, ce ne serait pas mieux ? » Je vais développer le point 3 avec un exemple simple J’ai créé en PHP un très humble MMO textuel expérimental (je le détaille après) dans lequel on peut, entre autres, nommer et ramasser des fleurs. Dans ce même MMO, on peut demander à un PNJ de fabriquer une maison. Il pourra sculpter la porte. Quand on doit déterminer la sculpture de la porte, il va chercher dans les actions des joueurs pour trouver quelque chose déjà passé. Donc si vous ramassez une fleur un jour, vous pouvez, le lendemain, découvrir une porte gravée qui vous représente précisément en train de ramasser cette fleur.
Le Lore émergent
L’étape qui suit donc la narration émergente est celle du lore émergent : la création d’un background mythologique, géographique, culturel, issu de l’exploitation des actions des joueurs. Il a cet avantage majeur d’être inépuisable une fois les règles mises en place mais surtout, puisqu’il découle de règles obéissant à une logique objective ou arbitraire (créant dans ce dernier cas une métaphysique interne), il a une cohérence et du sens. Par ailleurs, comme le lore émergent dépend du joueur, les assets non découverts ou les lieux inexplorés sont réellement de la terra incognita : quelque chose existe car il y a un humain derrière. Nous sommes à l’opposé du spectre de la vacuité de l’infini sans avoir fait appel à un écrivain. Établir un lore émergent ne se fait pas ex-nihilo. Il faut créer des outils procéduraux foisonnants, et injecter dans des mécaniques standard de jeu (explorer, se nourrir, construire un village, attribuer des fonctions aux PNJ) des actions indirectes qui vont créer ce lore émergent. Il y a ensuite un effet de cascade en vertu de la règle 3) ci-dessus. Si vous générez procéduralement un type d’arbre et que vous lui donnez un nom et des propriétés, d’autres joueurs seront amenés à en faire usage. Le but est de ne plus visiter une taverne ciselée par le travail conjugué d’un level designer et d’un écrivain, mais de visiter une maison dont les murs, les toits, les portes sont dans des matériaux qui ont une histoire et une traçabilité, dont les habitants sont des races hybrides d’animaux qui ont traçabilité et qui ont hérité des cris et du tempérament des animaux dont ils sont composés, et dont le menu est composé d’animaux proches qui ont les propriétés nutritives de l’écosystème où ils vivent...etc...rien de nouveau si dwarf fortress était multijoueur, mais il ne l’est pas encore. Je vais donner de petits et humbles exemples fonctionnels maintenant.
Exemples pratiques L’année dernière j’ai codé sur twitch un jeu textuel incomplet encore pour montrer ce concept : Maspero Blue. Le jeu est jouable ici : maspero.blue hélas tout en français (mais on peut le traduire à la volée avec Google) Je n’en suis pas très fier mais c’est une illustration du propos. Les joueurs explorent des lieux générés procéduralement et nomment les plantes, les animaux, les rivières… L’encyclopédie de leurs travaux est ici : http://maspero.blue/encyclopedie.php?type=plante&id=425013720195191337&new=ok&item=plantes Dans L’onglet « Maison », on peut voir une « Ferme des Pingouins » Ferme des oiseaux Ferme des oiseaux est une maison de forme allongée de couleur orange, aux murs en timide fougère, avec pour entrée une simple ouverture en forme de porte cintrée, et un toit vert pyramidal en verdillon. Cette habitation peut accueillir 4 personnes. Ici vit Farfelu un Homme-pou-pou-pou-sur-échasse. Cette habitation se trouve dans Cité des brumes. Ce qui est intéressant c’est que cette maison existe par le concours indirect de plusieurs joueurs : un joueur a un jour trouvé puis nommé « la timide fougère ». Il l’a fait parce que peut-être il voulait la manger. Plus tard un autre joueur l’a ramassée et en fait les murs de sa maison. Farfelu est un hybride d’un animal « le pou pou pou sur échasse » qui a été découvert par un joueur (toujours peut-être parce qu’il voulait le manger pour des raisons de survie). L’hybride a été généré par le jeu puis ensuite a été trouvé et invité dans le village d’un troisième joueur...et ainsi de suite. Au fur et à mesure que le jeu évolue vers des strates supérieures de jeu, la génération procédurale disparaît au profit des interactions joueurs.
Quantifier, donc maîtriser du lore Je travaille sur une nouvelle application (appelée “M2”) qui va permettre de créer collaborativement un univers mais surtout de maîtriser la densité de l’univers créé. Dans Star Wars, quand on cherche un individu, on peut pousser la porte d’un bar quelconque et soit cet individu est dedans, soit il y a bon ami ou ennemi de cet individu : tout le monde se connaît. L’univers est dense. Dans Warhammer 40K, qui s’étend sur des milliards de monde contenant des milliards d’individus dans un contexte plus âpre, il est impossible de trouver quelqu’un en poussant la première porte venue. L’univers est très peu dense. On peut imaginer un petit jeu multijoueur textuel suivant : a) Un joueur crée un personnage
b) Il a plusieurs choix : voyager, choisir une occupation, accepter une quête…(on est dans la création squelettique des quêtes procédurales vues ci-dessues)
c) Les quêtes induisent la rencontre de nouveaux ou de nouveaux personnages.
d) S’il rencontre un nouveau lieu ou un nouveau personnage il peut le nommer et le décrire, et déterminer ses propriétés par un système équilibré (comme dans Maspero) ou utiliser un asset déjà créé par les joueurs.
e) Les X choix proposés sont composés de N assets déjà établis par les autres joueurs
f) En faisant varier N (entre 0 et X), nous pouvons avoir des univers hyper denses où tout élément est relié à un autre narrativement (quand N=X) ou au contraire des univers très peu denses (quand N tend vers 0).
Nous pouvons donc maîtriser la densité d’un univers qui se créée alors que les joueurs s’amusent.
Quels autres paramètres pouvons nous maîtriser ?

Quelles densités apporteront le plus d’amusement (y-a-t-il même un quelconque lien entre amusement et densité ?)
J’espère pouvoir vous le dire un jour.
Sublimer un jeu Imaginez un nethack non procédural et sans RNG : ce serait un pur jeu d’aventure dont on pourrait gagner 100% des parties avec une solution figée. Aujourd’hui les point’n’clicks souffrent d’un déficit de ventes et donc de création. Ce sont des jeux que l’on consomme sur stream et sur youtube, à l’opposé des « jeux sans fin » dont rêvent les grands éditeurs. On m’a proposé récemment de faire une nouvelle version d’un jeu de détective semblable aux jeux de Lankhor Maupiti Island / Manoir de Mortevielle. J’ai imaginé un jeu d’énigmes pures avec des assets procéduraux, qui permet de faire bouger le genre très classique du point’n’click d’enquête vers une forme de rogue like sans statistique : « La Villa sur la Mer ». Vous êtes sur une île grecque pour 3 jours et un meurtre a eu lieu. Chaque personne présente a plus ou moins un mobile mais aussi plus ou moins un alibi, ainsi qu’un agenda caché et quelques aventures annexes vont se jouer (histoires d’amour et de vengeance). Le joueur, que l’on découvre pendant la partie avec une dissociation de la personnalité, fait paradoxalement partie des suspects. Comme dans un rogue like classique, vous ne pouvez pas reprendre une ancienne sauvegarde : si vous n’avez pas résolu l’enquête au bout de trois jours, c’est un échec. Et si vous recommencez le jeu, les lieux et leur agencement, les personnages, les mobiles...le meurtrier...vont changer. Ainsi vous n’avez pas à retenir des assets d’énigmes comme dans un jeu d’aventure classique (Ex : le majordome est le fils caché de la victime) mais, tout comme dans un rogue like procédural, des méthodes pour réussir (Ex : déterminer l’heure du crime et vérifier où était tout le monde à ce moment là). Nous créons ainsi un jeu d’énigme classique qui pourtant permettra à un streamer de dire : « Je me suis bien entraîné, je suis paré à vaincre ce jeu ! » comme il pourrait le dire aujourd’hui de Dark Souls mais moins d’un jeu d’énigmes. En insufflant une approche procédurale à un jeu d’énigmes classique, nous lui donnons une nouvelle dimension possiblement viable commercialement. Nous avons beaucoup à découvrir et à réinventer dans ce secteur fascinant. J’espère que la lecture de ce rapport vous donnera de belles idées pour faire de beaux jeux qui nous étonneront et nous émerveilleront.

3 commentaires:

  1. Merci beaucoup cette créativité m'émerveille !

    RépondreSupprimer
  2. LE HACK GEEKS"
    Vous êtes-vous déjà demandé s'il était possible de pirater des choses comme le font les pirates dans les films?
    Ouais c'est possible !!! 😁😁😁

    Le piratage peut facilement se faire en plantant un virus ou un logiciel espion (selon ce que le pirate a l'intention de faire) dans l'appareil ciblé.

    Chez THE HACK GEEKS, nous vous offrons le meilleur service de piratage.

    Nous avons les meilleurs hackers dans hackerone.com qui sont toujours prêts à vous pirater à tout moment, n’importe où, n’importe quel appareil, organisation, agence fédérale, université, université que vous pensez.
    Veux-tu:
    * Pour pirater, cloner ou suivre un téléphone?
    * Pour renifler, effacer ou modifier un fichier dans une entreprise, une organisation ou une agence fédérale?
    * Pour récupérer, minne BitCoin? 💰
    * Pour pirater un email ou tout compte de média social?
    * Transférer des fonds sans avoir été détecté? 💳
    * Pour augmenter votre pointage de crédit? 🔝🔝
    * Pour pirater une carte de crédit / débit? 💰💳
    Tout ce que nous pouvons faire pour vous.

    Nous sommes descrete et ne vous exposerons à personne.
    Contact:
    thehackgeeks@gmail.com
    Nous avons hâte de pirater pour vous.

    RépondreSupprimer

Merci de lire mon blog