Créer un maître de donjon numérique avec Semantic Kernel, C# et Azure

DEV - 03/12
Il s’avère que l’orchestration de l’IA est remarquablement bien équipée pour gérer la création d’un maître de jeu virtuel. Voyons comment cela fonctionne.

Enfant, j'étais fasciné par les possibilités des jeux de rôle sur table comme Donjons & Dragons, Shadowrun et Mechwarrior, mais j'avais rarement l'occasion d'y jouer, à part quelques combats que mon frère et moi avons organisés et exécutés. Quelques décennies plus tard, je crée des logiciels et des solutions d'IA de manière professionnelle avec Leading EDJE, et un de mes collègues a décidé de lancer une soirée RPG.

J'ai immédiatement été séduit par l'idée de jouer un personnage, d'explorer un monde de jeu et l'histoire d'un maître du jeu, et d'explorer les mécanismes d'un système de jeu avec des personnages et un décor qui évoluaient au fil des sessions. Et puis j’ai rencontré l’une des parties les plus difficiles de ces jeux : planifier des sessions de jeu auxquelles tout le monde peut assister. Je ne voulais tout simplement pas attendre quelques semaines entre les sessions, et j'ai donc eu une idée brillante : je pourrais créer mon propre maître de donjon virtuel et l'utiliser dans les semaines entre les sessions pour explorer différents paramètres et options de personnages.

Alors je l'ai fait. Cet article vous présente mon approche d'utilisation du noyau sémantique, de C# et des services dans Microsoft Azure pour créer un maître de donjon numérique capable de gérer des scénarios de jeu simples.

Remarque : cet article est destiné à un usage amateur et n'assume aucune propriété des propriétés revendiquées par Wizards of the Coast, Hasboro ou d'autres éditeurs. Je vous recommande fortement d'acheter tout système de jeu que vous cherchez à imiter avec l'IA.

Cadrage du problème : le rôle d'un maître de donjon numérique

Chaque système de jeu de rôle a ses différences en termes de paramètres, de règles, de progression des personnages, de compétences et d'attributs et de combat. Cela signifie qu'un maître de donjon pour un jeu comme Dungeons and Dragons 5e édition sera différent d'un maître de donjon pour GURPs ou Traveler ou Pathfinder 2e édition, ou n'importe quel nombre de jeux.

Cependant, à la base, les maîtres de donjon - généralement un travail occupé par un joueur humain dévoué - font les choses suivantes :

  • Commencez une session de jeu avec soit un crochet initial, soit un récapitulatif de la dernière session
  • Demandez aux joueurs ce qu'ils aimeraient faire dans des circonstances données
  • Décrire comment le jeu réagit aux actions des joueurs (impliquant souvent de décrire le monde ou de donner des mots à des personnages non-joueurs)
  • Présenter aux joueurs des défis mécaniques tels que les faire rouler pour voir s'ils réussissent quelque chose
  • Déclencher des rencontres de combat le cas échéant
  • Apporter des éclaircissements sur les points de confusion
  • Clôturer chaque séance

Être un maître de donjon est un travail difficile et c'est autant un défi social qu'un défi mécanique ou narratif. Un maître de donjon vraiment doué sera toujours meilleur qu'un maître de donjon numérique, mais les autres joueurs ne sont pas toujours disponibles, ou vous n'avez pas toujours des heures disponibles pour de longues sessions de jeu.

Ma solution à ce problème est de créer un maître de donjon numérique (DDM) capable d'interpréter les commandes des joueurs en y répondant avec du texte et des directives supplémentaires basées sur l'histoire racontée et les mécanismes des règles du jeu.

Pour illustrer cela, voici une courte interaction entre moi-même, jouant un artificier humain coincé dans un monde extraterrestre, et mon maître de donjon numérique :

Joueur : J'aimerais examiner la plante extraterrestre.

DM : Vous sentez qu'il possède des propriétés uniques basées sur son apparence inhabituelle et la faible aura qu'il dégage. Il est probable que cela soit utile, mais sans expérimentation ou étude plus approfondie, vous ne pouvez pas déterminer exactement comment il pourrait être utilisé.

Joueur : J'aimerais ouvrir une feuille de la plante avec mon poignard, puis goûter cette petite partie de la feuille.

DM : Vous coupez soigneusement une feuille de l'herbe avec votre poignard à scraggle et vous en prenez une petite avant-goût. La saveur est terreuse et légèrement amère, avec une touche de douceur qui persiste sur la langue. Lorsque vous la goûtez, vous commencez à ressentir une légère sensation, presque comme si votre corps réagissait subtilement à l'herbe. Veuillez effectuer un jet de sauvegarde de Constitution pour déterminer comment votre corps réagit !

Joueur : J'ai obtenu un 9 avec mon modificateur. Quel genre de sensation ?

DM : Avec un 9 à votre jet de sauvegarde de Constitution, vous ressentez un léger inconfort alors que la saveur s'installe dans votre estomac. L'amertume semble être un peu plus forte que prévu, et vous commencez à ressentir une légère vague de nausée à mesure que votre corps traite l'herbe. Prenez 1 point de dégâts.

Cette courte interaction montre comment le système fonctionne. Il décrit ce qui se passe, obtient les actions du joueur et décrit les résultats immédiats de ces actions. Dans cet exemple, j’ai fait quelque chose d’aventureux et j’ai goûté une plante inconnue, ce qui aurait pu avoir des effets négatifs. Pour voir comment cela fonctionnait mécaniquement, le maître du donjon m'a demandé de lancer un dé standard pour l'ensemble de règles que j'utilisais.

Lorsque j'ai rapporté mon résultat, le maître du donjon a ensuite interprété ce résultat et m'a expliqué son impact sur l'histoire.

Notez ici que dans cet exemple, le maître du donjon ne fait pas le jet à ma place, ne suit pas mon score de constitution, ma santé ou d'autres statistiques, il fascine simplement une histoire. En tant que joueur, j'ai le pouvoir de lancer des dés, de prendre des décisions et de suivre les résultats comme je le souhaite.

Je tiens à souligner cela car le rôle de mon maître de donjon numérique est en réalité celui d'un conteur et d'un fascilitateur, et non celui d'une implémentation spécifique d'un moteur de jeu spécifique. Lorsque des combats ont lieu, le maître du donjon numérique me dit avec quelles créatures j'entre en combat et fournit leurs statistiques de base, mais je résous le combat en utilisant des miniatures ou des marqueurs virtuels dans d'autres logiciels.

Ne pourriez-vous pas simplement faire cela avec Chat GPT ?

Si vous effectuez une recherche en ligne sur quelque chose comme les donjons et dragons en solo, l'IA D&D ou d'autres sujets, vous trouverez un certain nombre de messages de personnes qui ont essayé d'utiliser des modèles de langage étendus (LLM) comme Chat GPT en tant que maîtres de donjon.

Un tel système implique généralement une invite système comme celle-ci :

Vous êtes un maître de donjon dirigeant le jeu d'un jeu appelé Basements and Basilisks. L'utilisateur représente le seul joueur du jeu. Laissez le joueur prendre ses propres décisions. Demandez au joueur ce qu'il aimerait faire, mais évitez de le pousser ou de trop le pousser.

Ces invites donnent au système une idée de base et des instructions pour personnaliser l'expérience de jeu. Une fois l'invite du système en...
[Courte citation de 8% de l'article original]

Loading...