Donner vie aux PNJ : au-delà des arbres de dialogue
Comment les LLM transforment les personnages non-joueurs de simples automate en compagnons crédibles, et les défis techniques que cela soulève.
Yanis Belkacem
Game & Interactive Lead

Pendant des décennies, les PNJ ont été limités à des arbres de dialogue statiques. Le joueur choisit une réplique, le PNJ répond selon un script prédéfini, et la conversation s'arrête là. C'est prévisible, répétitif, et casse l'immersion dès la deuxième partie.
Le problème fondamental
Un arbre de dialogue, même bien écrit, ne peut pas anticiper toutes les questions qu'un joueur va poser. Si vous demandez à un forgeron pourquoi il a choisi ce métier, la réponse est soit scriptée (et identique pour tous), soit inexistante. Le PNJ n'a pas de mémoire, pas de personnalité propre, pas de capacité à improviser.
La limite du script
Un RPG classique contient en moyenne 50 000 lignes de dialogue. Un LLM peut générer des réponses uniques à l'infini, mais au prix d'une latence et d'un coût qu'il faut maîtriser.
L'approche par LLM : architecture
Notre solution repose sur une architecture en trois couches : un système de mémoire persistante, un prompt système qui encode la personnalité du PNJ, et un filtrage de sécurité pour empêcher les sorties hors-personnage.
// Prompt système d'un PNJ
const systemPrompt = ``;
Tu es Greta, forgeronne du village de Thornwall.
Âge : 47 ans. Caractère : brusque mais bienveillante.
Tu as perdu ton mari il y a 3 ans dans une attaque de gobelins.
Tu ne quittes jamais ta forge avant la tombée de la nuit.
Tu parles avec des phrases courtes et directes.
Si le joueur mentionne les gobelins, tu deviens agressive.
``;Ce prompt est injecté à chaque appel, garantissant que le PNJ reste cohérent avec son caractère, peu importe les questions du joueur.
La mémoire conversationnelle
Sans mémoire, un PNJ répéterait les mêmes histoires à chaque rencontre. Nous utilisons un système de mémoire à court terme (les 10 derniers échanges) et une mémoire à long terme (faits importants extraits et stockés dans une base vectorielle).
3.2x
Augmentation de l'engagement narratif
Mesuré sur 200 sessions de playtest
- Mémoire court terme : contexte immédiat (10 derniers messages)
- Mémoire long terme : faits extraits via un second LLM, stockés en vecteurs
- Mémoire mondiale : événements du monde partagés entre tous les PNJ
"Pour la première fois, un joueur a demandé à un PNJ de lui raconter un souvenir d'enfance. Et le PNJ a répondu quelque chose de touchant, de personnel, qui n'existait pas dans le script."
- Lead Designer, Lyra Games
Maîtriser la latence
Le défi technique majeur est la latence. Un LLM cloud met 1 à 3 secondes pour générer une réponse. Dans un jeu, c'est inacceptable. Nous utilisons le streaming de tokens pour afficher la réponse au fil de l'eau, comme un humain qui parle.
❌ Avant (script)
- Réponses prévisibles
- 0ms de latence
- 50 000 lignes à écrire
- Pas de mémoire
- Immersion limitée
✅ Après (LLM)
- Réponses uniques
- ~800ms (streaming)
- 1 prompt système par PNJ
- Mémoire persistante
- Immersion totale
Résultat
Sur le projet Lyra, l'engagement des joueurs sur les quêtes narratives a été multiplié par 3. Les joueurs passaient en moyenne 12 minutes à discuter avec un PNJ, contre 2 minutes avant.
Ce qu'on retient
Les LLM ne remplacent pas les scénaristes - ils les amplifient. Le travail d'écriture se déplace du dialogue vers la personnalité, le contexte et les contraintes. C'est un changement de paradigme qui ouvre un champ créatif immense.
Articles similaires
Du web au jeu-vidéo, donnons vie à votre idée.
Parlons de votre projet. Nous vous répondons sous 24 heures avec une première recommandation.
