Journal de l'atelier · · 8 min de lecture
Travailler avec une IA sur un gros mod Total War
Quatre jours, un gros mod, et une IA à l'exécution. Voici la méthode que j'ai mise en place avec Claude, l'assistant IA d'Anthropic, pour porter La Saison de la Révélation dans Warhammer III : ce qui a marché, ce qui a coincé, et mes conseils si vous voulez tenter l'aventure.

Le cerveau et l'exécution
Moi j'ai le cerveau, et toi tu es l'exécution.
Ce partage n'est pas une formule. Je fixais la vision, je prenais les décisions, et surtout je jugeais en jeu, mes captures de Warhammer I et de Warhammer III côte à côte. Claude écrivait les scripts, décortiquait les formats de fichiers, lisait les rapports de plantage au débogueur et tenait la documentation. Il pilotait aussi RPFM, l'outil communautaire des packs, par son serveur MCP, une porte d'entrée prévue pour les IA.
Mes décisions sont écrites, avec la mention « à ne pas rediscuter ». Une IA qui reprend le travail le lendemain ne repropose donc pas une option que j'ai refusée, comme découper la carte des Empires Immortels. On évite de rejouer les mêmes débats à chaque session.
Le journal des erreurs
Le premier jour, j'ai demandé à Claude : « prends bien note de toutes les erreurs que tu as faites et fais en sorte que ça n'arrive plus ». Il en est sorti un fichier, le journal des erreurs, qui compte aujourd'hui environ 146 entrées. Chaque entrée tient en quatre temps : ce qui a été fait, le symptôme, la cause, la règle.
Chaque entrée porte aussi une étiquette, décidée par une seule question : quelqu'un l'avait-il déjà écrit quelque part ? Si oui, l'erreur était évitable, et l'entrée donne la règle qui l'évite. Si non, c'était une découverte : l'entrée donne le fait et sa preuve, puis le fait rejoint la liste des pièges de notre guide, qui en compte 135.
Une IA qui reprend le dossier lit ce journal avant d'agir. C'est sa mémoire de travail, et c'est aussi la mienne : je sais pourquoi chaque règle existe.
Une règle écrite s'oublie : on la code
La leçon la plus nette du journal, c'est qu'une règle seulement écrite se ré-oublie. Quand c'est possible, on la transforme en garde-fou dans un script. Un garde-fou ne se fatigue pas, et il ne compte pas sur sa mémoire.
- La construction du pack refuse de partir si un fichier déclaré dans une table manque.
- Elle vérifie la syntaxe de chaque script Lua avant de l'embarquer.
- L'injection des textes refuse un texte qui contient un caractère de contrôle.
- Un contrôle vérifie que le compteur de sauvegarde du startpos vaut 1.
- Tout pack qui touche une table de base passe un essai de démarrage scripté avant d'être annoncé.
L'inverse est instructif. Une règle toute simple, ne jamais écrire un script par un « heredoc » (un bloc de texte collé dans une commande du terminal), a été enfreinte plus de dix fois en trois jours, par plusieurs sessions. Le plus souvent sans dégât, une fois avec 102 textes français privés de leur ponctuation, réparés ensuite. Écrite en toutes lettres, la règle n'a pas suffi : il a fallu mettre des garde-fous derrière elle.
Les cinq règles qui coûtent le plus
En tête du journal, cinq règles de méthode. Ce sont celles qui ont coûté le plus de temps quand on les a oubliées.
- Ne jamais jeter les messages d'un validateur : les regrouper et les compter. Filtrés trop fort, ils cachent la cause.
- Vérifier la donnée avant de crier au bug : un message d'outil qui cite une table se vérifie dans la table.
- Faire relire un document de référence contre ses sources avant de le livrer : la première version de notre guide contenait neuf erreurs.
- Se demander ce que l'écran apprendrait que le disque ou la ligne de commande ne donnent pas, avant de piloter une fenêtre.
- Ne jamais lancer un outil avec des options devinées : l'option d'aide de BOB ouvre une boîte qui bloque le programme.
Le témoin, toujours le témoin
Une bonne part de nos pannes s'est réglée de la même façon : en comparant avec quelque chose qui marche. Un témoin, c'est un cas connu pour bon, qu'on fait tourner à côté du nôtre. Le projet de terrain de ChaosRobie, copié sous un autre nom, a prouvé en vingt minutes que BOB n'en voulait pas à nos fichiers.
Encore faut-il rejouer le témoin à l'identique. Une nuit, Claude l'a relancé sans un drapeau de la commande d'origine : le jeu sortait en neuf secondes sans rien faire, et six essais ont été perdus à chercher une régression qui n'existait pas. Une autre fois, il m'a annoncé un progrès pendant vingt minutes en comparant deux mesures prises sur deux campagnes différentes.
D'où trois règles : relancer le témoin à chaque tour, recopier la commande du journal, drapeaux compris, et ne changer qu'une chose de fond entre deux essais en jeu.
Plusieurs sessions en parallèle
Claude a travaillé en plusieurs sessions à la fois, chacune avec son domaine, et seule à y écrire. Une session construisait le pack, le startpos et le terrain, et tenait la documentation ; une autre s'occupait des données de jeu, des scripts et des textes. D'autres ont été ouvertes ou préparées : le rendu de la carte, l'extension à toute la Bretonnie et, pour le 24 septembre, la mise à jour 9.0 et le Duc écarlate.
- Un préavis de cinq minutes avant toute écriture dans l'Assembly Kit, et on attend vraiment la fin du minuteur.
- Jamais le jeu, Terry ou le startpos sans prévenir les autres ; jamais de pack reconstruit pendant un essai en jeu.
- Un seul rédacteur pour les documents communs : les autres sessions lui envoient leurs erreurs.
- Ranger, jamais supprimer : ce qui ne sert plus part dans les archives, avec un index, et je suis le seul à supprimer.
Ces règles sont nées de ratés. Le premier jour, deux sessions ont travaillé sur les mêmes fichiers : une demi-heure de réconciliation. Plus tard, une session a écrasé le script d'une autre, restauré à l'octet près. Et une session a écrit dans le kit avant la fin de son préavis, quatre fois dans la même journée.
L'humain devant l'écran
Le point faible, ce n'était pas l'IA seule : c'était l'IA et moi sur le même ordinateur. Une nuit, Claude pilotait l'écran pour placer la caméra de Terry pendant que je travaillais. Ensuite, Windows croyait la touche AltGr enfoncée, et je n'arrivais plus à écrire.
Depuis, Claude demande avant de prendre l'écran et vérifie l'état du clavier après. Dans l'autre sens, j'ai cliqué dans des parties d'essai qui semblaient figées, et on a cru à des plantages. Maintenant, il me prévient avant chaque lancement du jeu, et il lit mes clics dans le journal du jeu avant de conclure.
Mon rôle de juge, lui, s'est révélé irremplaçable. Les audits de Claude voyaient 45 objets volants quand j'en voyais partout, et ses chiffres étaient bons quand je ne reconnaissais plus la carte. Un algorithme ne mesure que ce qu'il croit faire ; mes yeux, face aux captures de Warhammer I, mesuraient ce que le joueur verra.
Ce qui a marché
- Le débogueur. Un rapport de plantage lu au débogueur dit quelle donnée manquait. C'est ce qui a débloqué le startpos, le chargement et la fin de tour.
- Les exemples de CA d'abord. Avant d'inventer une convention, on regarde comment CA fait sur une carte qui marche. Les ports de nos villes ont été corrigés en exportant une carte de CA.
- Les captures côte à côte. Warhammer I d'un côté, Warhammer III de l'autre : c'est la référence, pas les chiffres.
- Les sauvegardes horodatées. Une copie avant toute écriture dans les tables du kit. Une panne du premier soir n'a été résolue que parce qu'on pouvait comparer avec le dernier état qui marchait.
- Les parties automatiques. Trente tours d'Orion sans erreur, et un plantage d'effet visuel débusqué chez trois autres seigneurs sans attendre qu'un joueur tombe dessus.
- Une photo avant chaque mise à jour du jeu. Avant la 9.0, on a relevé l'état du jeu pour pouvoir comparer après.
Mes conseils
- Écrivez vos décisions, avec « à ne pas rediscuter » quand c'est tranché.
- Tenez un journal des erreurs dès le premier jour : quoi, symptôme, cause, règle.
- Codez les règles qui peuvent l'être ; relisez les autres à chaque séance.
- Exigez un témoin et une commande exacte avant toute conclusion.
- Jugez à l'image, en jeu, face à une référence, pas sur un bilan chiffré.
- Découpez le travail en domaines, avec un seul rédacteur par domaine.
- Ne partagez pas l'écran sans prévenir, dans les deux sens.
- Gardez tout : sauvegardes avant écriture, archives rangées, aucune suppression hâtive.
Le récit complet de ces quatre jours est ici, et les neuf plus gros obstacles là. Et si vous voulez voir cette méthode appliquée à la suite, la carte de la Bretonnie entière se dessine en ce moment, avec vos idées.