cnam25

Enjminales 2016 : Le fonctionnement innovant du chat bot d’event 0

Event 0 est un jeu Enjmin parmi les plus chanceux qui sera développé professionnellement. Le joueur se retrouve à bord d’une station spatiale désertée avec pour meilleur ennemi l’IA peu maléfique, mais caractérielle du vaisseau. Le joueur devra faire preuve d’empathie et de psychologie pour obtenir ce qu’il veut de l’IA et progresser dans l’histoire.

Mais comment fonctionne-t-elle cette intelligence artificielle? C’est ce que nous a expliqué Emmanuel lors de sa conférence aux Enjminales 2016. En voici l’essentiel.

Discuter avec une intelligence artificielle pour progresser dans la narration

Le chatbot est au coeur du gameplay dans Event 0, il apporte à la fois la narration et le gameplay. Pour cela, l’IA doit être capable d’interagir avec le joueur en tenant compte du contexte. L’IA sait ce qu’il vient de se passer dans le jeu, dans le vaisseau, si une pluie de météorite est en cours, et si le joueur l’a insulté dans la pièce précédente.

Une expérience unique à chaque joueur

Lorsque le joueur entre du texte pour discuter avec le bot, celui-ci analyse le texte et compte le nombre d’occurence et le poids de mots clés. Il associe ensuite ces mots clés à des termes en fonction de leur poids respectif. Si le pattern de mots clés avec le plus fort poids trouve une équivalence, cela déclenche une réponse.

La réponse elle-même est généré à partir de bribes de phrases composées, ce qui accroit exponentiellement les combinaisons de réponses possibles, et assure la variété des réponses à des questions ou phrases similaires. Cela crée des conversations et une expérience unique pour chaque joueur de sa relation avec cette IA.

Jouer avec les émotions de l’IA

Si l’IA ne comprend pas, elle répond alors de façon soit vague, soit élude la question et propose un autre sujet. L’objectif est que le joueur ne se rende pas compte que l’IA n’a rien compris, mais prenne cela pour encore un de ses caprices habituels.

Ces caprices viennent de la matrice émotionnelle de l’IA. En fonction des interactions précédentes, l’intelligence artificielle peut être plutôt favorable ou défavorable au joueur, mais aussi plus ou moins énervée ou calme. Tout le challenge du jeu repose donc sur le fait d’amener l’IA dans l’état émotionnel qui permettra au joueur d’obtenir de l’IA ce qu’il veut.

Cela peut signifier énerver se rendre antipathique à l’IA pour qu’elle laisse le joueur prendre des risques, quitte à se retrouver en danger sans oxygène dans l’espace et devoir rafistoler l’amitié en danger pour être de nouveau accepté dedans, une fois le bidule réparé dehors.

Les designers ne veulent cependant pas que ce système soit complètement limpide. L’état émotionnel exact du bot ne doit pas être explicite. Des indices visuels (avatar) et sonores (ambiance du vaisseau, qui est le corps de l’IA) donnent un minimum d’information, par exemple, le vaisseau grince plus lorsque l’IA s’excite.

Prise en compte du contexte dans la conversation

La grande force, et nouveauté par rapport au prototype réalisé dans le cadre de l’école est la prise en compte approfondie du contexte. L’IA doit être capable de répondre correctement même lorsque le joueur fait référence à des choses vagues, comme “c’était quoi ça?!?”.

Prise en compte du contexte dans la conversation

En fonction du contexte, l’IA aura plusieurs stacks de conversion actifs. Ces stacks sont priorisés pour que l’IA réponde en fonction du contexte le plus pertinent. Si cela ne fonctionne pas, il passe à la stack suivante, etc. Jusqu’à retomber dans le dernier cas sur une réponse générique. Du coup, pour que cela fonctionne, il faut que le stack du haut ne contienne pas de références trop vagues qui prendraient le pas rapidement sur toutes les autres potentialités à tort.

Fini l’amnésie à court terme d’une Alice Bot

L’IA stocke également en mémoire pendant quelques temps des mots clés dont le joueur a parlé, ou qu’elle même a évoqué dans ses réponses ou spontanément et qui n’ont pas encore été utilisés dans une réponse. Cela lui évite le syndrome des Alice Bots, amnésiques au sujet de ses propres propos dès que la phrase est sortie du clavier virtuel de la machine. Ainsi, dans Event 0, le joueur peut enchainer la conversion au sujet d’un contexte sans avoir besoin de le rappeler à chaque phrase, ce qui doit rendre l’expérience autrement plus agréable.

Masquer les quiproquos, mais surtout afficher la compréhension

Le plus gros enseignement tiré de ce projet, reste toutefois que la pire chose à faire avec une IA de ce type, est d’être vague lorsque l’IA comprend. Les réponses tranchées en cas de compréhension, à plus forte raison en inférant le contexte de la conversion créent bien plus l’illusion de l’intelligence et de la compréhension que les réponses vagues en cas d’incompréhension peuvent se masquer par le manque de coopération de l’IA. Toujours faut-il ne pas avoir peur de le montrer clairement lorsque l’IA comprend ce qui lui est écrit.

L’importance de l’ergonomie des tools pour faire des jeux de qualité

Le dernier point abordé durant cette conférence n’est pas le moins intéressant, d’autant que je lis justement un livre sur le sujet en ce moment. En effet, Emmanuel souligne l’importance des tools pour la conception de jeux de haute qualité. A l’heure où le peu d’attention porté aux tools sont un prédicteur important de la qualité des jeux AAA, Emmanuel évoque :

Si vous avez des game designers flemmards, c’est peut être que vous avez des tools pourris. Et si la tech permet de facilement faire une action et difficilement une autre, potentiellement meilleure pour le résultat final du jeu, vous pouvez être certain que c’est la solution la plus facile à mettre en place qui sera utilisée.

Un témoignage très pertinent et intéressant, venant d’une prod où l’innovation est au coeur du projet, et la démarcation du jeu se fait sur la qualité des interactions et des dialogues.

Emmanuel nous a donc montré brièvement l’outil maison qu’ils ont développé pour la gestion des tags, et c’est à la fois simple visuellement et probablement efficace pour éditer graphiquement des fichiers textes indigestes (j’en sais quelque chose pour avoir bidouillé à moindre échelle du scrip Alice, ça devient très vite ingérable, alors imaginez si le code en question est l’équivalent des trois derniers livres que vous ayez lu….

 

Leave a Reply

Your email address will not be published. Required fields are marked *