J’ai développé un JdR en ligne, propulsé par Mistral AI

Depuis quelque temps, je bricole un projet de jeu de rôle en ligne. Il est désormais accessible ici : https://jdr.tinad.fr.

Un moteur maison, une IA bien dressée

Ce n’est pas une plate-forme générique pour tous les jeux de rôle du monde, mais un moteur conçu pour un usage bien précis : faire du JdR en ligne à la sauce Naheulbeuk, avec des parties narratives animées par un MJ humain et une IA.

L’IA en question, c’est Mistral. Ou plutôt une API autour d’un modèle Mistral que la plateforme interroge via des prompts bien cadrés pour obtenir des réponses au format JSON, structurées, et surtout directement exploitables par l’interface du jeu.

J’ai tenté de dessiner un diagramme pour représenter la répartition des tâches entre le MJ, les joueurs, jdr.tinad.fr et Mistral AI… mais ça m’a gonflé. Donc, en résumé :

Le MJ:

Il anime la partie, décide quand un tour de jeu est terminé, oriente les prompts de l’IA si besoin. Il peut aussi imposer des éléments précis, du genre :

“Roger le barbare gagne 50 points d’XP.”

Le joueur:

Il décrit ce qu’il souhaite faire, de préférence en coordination avec les autres joueurs.

jdr.tinad.fr (mon développement)

  • Fournit l'interface User et MJ
  • Génère les prompts et envoie uniquement les infos nécessaires à Mistral [1].
  • Gère tous les jets de dés

Mistral

  • Analyse chaque réponse de joueur pour détecter si un jet de compétence est requis ou si la demande est absurde
  • Indique à jdr.tinad.fr s’il faut modifier des éléments du jeu (inventaire, points de vie…)
  • Génère la narration.

Le tout, en répondant avec de jolis JSON bien structurés.

Tests, retours, et bugs rigolos

Je considère que le jeu n’est plus un POC (sinon il ne serait pas en ligne, exposé aux bots qui scannent tout). On est au stade bêta : jouable, drôle, mais encore perfectible.

Des parties tests ont eu lieu avec des collègues, au hackerspace, et avec mes enfants (qui sont des testeurs sans pitié). Bilan : ça fonctionne, mais quelques chantiers s’imposent.

Bridages nécessaires:

Certains joueurs testent les limites du système. C’est amusant une minute, mais le "WTF je casse le scénario" ruine l’immersion. Il faut donc poser quelques garde-fous :

  • Limiter la magie aux seuls sorts permis par les règles, selon la classe et le niveau du personnage. Et donc documenter dynamiquement les possibilités des magiciens.
  • Détecter et bloquer les affirmations qui faussent le monde pour l’IA. Exemple :

“La porte est déverrouillée, je l’ouvre.”

Oblige le MJ à intervenir :

“Non, elle était verrouillée, le joueur n’arrive pas à l’ouvrir.”

Améliorer l'UX

  • Mieux documenter la création et les caractéristiques des personnages
  • Afficher la liste des autres joueurs
  • Ajouter une zone d’échange ou un tchat : l’interface actuelle n’incite pas assez à la collaboration. J’ai quelques idées à tester dans ce sens.

Réduire la consommation de tokens Mistral AI

Actuellement, à chaque tour, j’inclus l’intégralité de l’historique dans le prompt pour que Mistral comprenne le contexte. Résultat : la proportion tokens sortants / tokens entrants est... WTF.

Aperçu de la console Mistral

Bref, il va falloir que je génère des synthèses de tours précédents, à réinjecter dans les prompts, plutôt que de tout renvoyer à chaque fois.

Ce que jdr.tinad.fr ne fait pas:

Ce n’est pas un remplacement de MJ humain, pour plusieurs raisons :

  • L’IA est trop gentille. Elle ne ferait jamais de mal à un joueur si jdr.tinad.fr ne l’y poussait pas explicitement.
  • Elle peut tourner en rond sur une situation sans rebondissement. À ce moment-là, un MJ humain est indispensable pour relancer la machine.
  • J’avais imaginé un mode Mass Player. J’ai testé avec une douzaine de personnes : c’est n’importe quoi. Comme une table de JdR classique, ça marche bien jusqu’à 6-8 joueurs.

La suite?

N’hésitez pas à me poquer (X, Discord, IRL) ou à contacter un MJ déjà inscrit pour obtenir un lien de parrainage si vous voulez tester.

le site: https://jdr.tinad.fr

le code: https://github.com/gnieark/jdrTinad

l'univers du Donjon de Naheulbeuk: http://www.penofchaos.com/warham/donjon.htm

Note

[1] Non, ce sera l'objet d'une prochaine feature pour réduire la consommation de tokens

Page top