Moteur narratif · open source

Jouez une scène avec un personnage qui vous cache des choses

Un moteur de jeu narratif. En face de vous, un personnage joué par une IA — mais une IA qui ne connaît pas le secret de la scène, et ne peut donc pas vous le vendre par mégarde. À vous de le faire parler.

Le projet, en clair

Choix narratifs est un petit moteur pour jouer et préparer des scènes narratives : du jeu de rôle en solo, de la préparation pour une table, ou simplement s’entraîner à mener une conversation qui a des enjeux. Vous menez ; en face, un personnage réagit.

Faire jouer un tel personnage par une IA se heurte à un mur — au sens propre, comme on va le voir. Deux problèmes reviennent toujours :

1

Le secret est dans ses instructions…

…alors l’IA finit par le lâcher, par excès de zèle ou maladresse. Le mystère s’effondre en quelques échanges.

2

…ou c’est vous qui l’avez écrit

Et alors plus rien ne vous surprend : vous connaissez déjà la fin. Vous jouez une scène dont vous tenez le fil.

Le pari du projet : mettre le secret là où l’IA ne le voit jamais. Un cœur séparé, déterministe, garde la vérité et vérifie chaque réplique avant qu’elle ne s’affiche. L’IA, elle, ne joue que les réactions — à l’aveugle.

L’idée centrale : un mur

Le moteur et le narrateur (l’IA) sont deux mondes séparés par une frontière qu’aucun secret ne franchit.

Dans le moteur

Le moteur

  • Détient le canon : les secrets, la vérité de la scène.
  • Un verifier voit tout et contrôle chaque réplique.
Hors du moteur

Le narrateur (IA)

  • Reçoit un paquet fermé, décrit sans le secret.
  • Joue les réactions du personnage — à l’aveugle.
  1. Le moteur envoie un paquet sans le secret. Seule cette forme fermée traverse le mur.
  2. L’IA propose plusieurs répliques ; le verifier écarte celles qui trahiraient le secret ou se contrediraient.
  3. Si toutes trahissent, le moteur relance en silence, puis valide une réplique propre.
Le secret ne peut pas fuiter : il n’est jamais de l’autre côté du mur. Ce n’est pas une question de confiance dans un prompt, c’est une propriété de l’architecture.

Ce que ça change quand vous jouez

La méprise est motivée

Le personnage ne fait pas barrage au hasard. Il se ferme, dévie, temporise, concède ou révèle à demi — parce qu’il a peur, un intérêt à défendre, un savoir incomplet. Ce sont des gestes de scène universels, joués à propos : un vrai partenaire, pas du bruit.

La surprise est réelle

Vous pouvez jouer une scène que vous n’avez pas écrite, et même quand vous l’avez posée, l’acte de cacher peut vous échapper (tirage, hasard). La scène vous surprend, vous aussi — il y a quelque chose à découvrir, pas seulement à dérouler.

Trois temps, chacun autonome

Élaboration, jeu et clôture forment un cycle — mais on peut n’en prendre qu’un morceau.

  1. 1 Élaborer Poser le canon : personnages, secrets, faits que l’on peut révéler. Au formulaire, sans écrire de code.
  2. 2 Jouer Dérouler la scène. Le personnage réagit, se méprend, résiste. Vous lisez, vous relancez.
  3. 3 Clore Résoudre les secrets restés cachés, puis produire un compte-rendu publiable.
Chaque temps tient debout seul : jouer une scène presque sans préparation (s’entraîner à l’improvisation), ou préparer un canon pour une table humaine (le meneur, lui, voit tout) sans jamais jouer en solo.

Sous le capot

Déterministe

Même situation, mêmes gestes → même issue. Une partie se rejoue et se restaure à l’identique depuis une sauvegarde.

Agnostique du jeu

Les gestes du personnage sont universels. Brancher un jeu de rôle précis, c’est fournir un profil de données — pas modifier le moteur.

Le moteur décide

C’est le cœur (Rust) qui porte la vérité et les règles. L’interface lit ce qu’il publie et s’y conforme, jamais l’inverse.

Ouvert

Le code est public. Le moteur peut servir d’autres interfaces que ce site — c’est un composant, pas une boîte noire.

Le détail de l’architecture — les deux murs, le contrat publié, la boucle complète — est sur la page Documentation.

Le mieux, c’est d’essayer

Composez une scène, ou reprenez un module tout prêt, et faites parler le personnage.

Essayer le moteur →