Chaque phase est validée en jeu
Une phase n’est pas terminée quand « le code est écrit », mais quand « c’est mesuré et vérifié dans de vraies parties ». Chaque preuve ci-dessous provient de tests en jeu sur des instances de test 1.27.
- P0
Voie rapide + façade du SDK
TerminéChaque client a sa propre voie, sans verrou, exécutée par lots dans la distribution des événements du thread du jeu ; façade publique Game + Bot ; nouvelle arborescence.
Validation Résultats identiques à l’ancien canal, point par point ; latence et débit en parallèle ; Bots d’exemple validés de bout en bout.
Vérification 30/30 identiqueMédiane avec 6 processus 67 ms → 0.06 msDébit 88 → 3000 appels/s - P1
Commandes sémantiques + accusés de réception
TerminéDéplacer, attaquer, récolter, construire, entraîner, lancer un sort, apprendre une compétence, ressusciter, utiliser un objet, acheter… chacune avec accusé de réception et code de raison ; la façade du SDK n’utilise que cela.
Validation Tous les scripts de vérification en jeu passent : chaque type de commande a été donné dans une vraie partie, et son effet relu.
Vérification en jeu 41/41 (étendue ensuite à 73/73)15 opcodes + accusés de réception - P2
Couche d’information en temps réel
TerminéÉtat du monde poussé + arbres + flux d’événements : mana, temps de recharge, inventaire, buffs et cible attaquée entrent dans l’instantané ; les objets ne passent plus par le journal.
Validation Aucun appel au thread du jeu pour lire ces informations ; comparaison unité par unité avec l’ancien instantané ; aucun événement perdu sur une partie complète.
Comparaison unité par unité 112/1120 événement perdu sur une partieUne capture 11.8 → 0.58 ms - P3
Migration du cerveau de référence
TerminéCerveau de référence, couche réflexe, console, bulles et réalisation passent tous par W3P ; bloc carte, événements de dégâts / d’élimination au niveau du moteur, commandes sémantiques de caméra et de HUD.
Validation Toutes les vérifications en jeu passent ; aucune tâche en erreur pour le cerveau de référence sur une partie complète, aucune erreur pour les 4 modules de la couche réflexe.
Vérification en jeu 72/72Un cycle de décision 0.15~0.56 s → 0.02~0.07 s⏳ comparaison des taux de victoire sur ≥ 50 parties à lancer - P5
Permissions et points de vue
TerminéRôles de voie player / observer ; masque de visibilité par unité ; mode équitable et mémoire des ennemis dans le SDK.
Validation Ordres d’un observer rejetés, un player ne peut pas commander les unités des autres ; le mode équitable ne montre que sa propre vision.
Isolation des rôles validée en jeuMode équitable 4/4 - P5+
Capacités de niveau pro
TerminéTable de production et avancement, jour/nuit, caractéristiques de combat et contres, recherche de chemin au sol, file Shift / chemins / constructions enchaînées / annulation / attaque au sol, ordres par lots, durée d’exécution de chaque commande ; manuel du Bot, recettes de jeu pro, quatre exemples.
Validation Chaque élément a des tests hors ligne + une vérification en jeu.
Production 12/12Ordres en file 7/7Caractéristiques de combat 4/4Recherche de chemin 4/4micro_bot 5 minutes, 3023 commandes, 0 erreur - EX
Extensions de jeu
TerminéCanevas (zones de texte, panneaux, barres de progression, images, cercles et itinéraires au sol dessinés par le runtime, sûr en multijoueur) ; canal JASS (1291 fonctions appelées par leur nom : console Farsight, ligne de commande, HTTP, Python) ; framework de compagnon RPG (quatre modes ; suivi / soutien / soins ; commandes de chat, dialogue avec portrait, répliques générées par un LLM local) ; lecture des noms d’unités des cartes personnalisées ; schémas d’IA (changement, export, import, confiance, résultats).
Validation Validé en jeu sur des cartes RPG d’une instance de test : coût par frame du canevas et suivi des unités ; effet de chaque fonction JASS vérifié un à un ; le compagnon suit, soutient et se replie pendant toute une partie, et reprend le suivi après avoir été ressuscité ; changement de schéma en cours de partie, qui prend le relais de la partie en cours.
Canevas à 9 éléments : 0.27~0.34 ms par frameCanal JASS 18/1894 fonctions dont l’effet a été vérifié une à uneNoms d’unités lus sur 37 cartes RPG sur 38 - EX+
Interface et entrées · mods · passerelle · MCP
TerminéInterface et entrées (boutons et cartes de choix dessinés cliquables, raccourcis clavier, clics au sol, point du sol sous la souris, sélection locale ; dessinés sous le curseur de la souris) ; événements complétés (sorts lancés, départ d’un joueur, changement de sélection, messages à l’écran et texte intégral du chat, sortie de la partie) ; mods de jeu (type de schéma mod, deux exemples : Roguelike de héros et Défense sans fin) ; passerelle (WebSocket / JSON, trois rôles dev / joueur / observateur, client JS et page de démonstration dans le navigateur) ; serveur MCP (10 outils).
Validation Vérification point par point dans de vraies parties : clic sur les boutons dessinés, raccourcis clavier, clics au sol, sorts lancés, chat, défaite de l’ordinateur, sortie de la partie ; passerelle et MCP connectés à une partie et appelés un par un ; parcours clés des deux mods joués en jeu ; Claude Code réellement branché sur MCP.
Interface et entrées 16/16Passerelle + MCP 16/1610 outils réellement branchés dans Claude CodeBoutons dessinés sous le curseur de la souris - v1
Publication
BientôtRuntime (1.27) + SDK Python + description du protocole + cerveau de référence + quatre exemples + deux mods de jeu + passerelle et serveur MCP + console Farsight, réalisation, bulles + toute la documentation, publiés ensemble.
Validation Tous les tests passent ; toutes les vérifications en jeu passent ; la liste de contrôle d’avant publication est entièrement cochée.
- P4
Compatibilité multiversion
PrévuProfil (table de symboles) choisi selon la version du jeu → repli par signatures → autotest au démarrage → liste des capacités ; validé sur une deuxième version.
Validation Sur une deuxième version, la matrice des capacités est produite automatiquement et les capacités vérifiées fonctionnent normalement.
- P6
Arène
PrévuProcessus arbitre + deux emplacements ; filtrage selon la vision, contrôle de propriété, ticks cadencés sur le temps de jeu, enregistrements rejouables. La passerelle WebSocket / JSON est déjà prête ; ce qui manque, c’est un arbitre en qui tout le monde a confiance.
Validation Deux Bots externes s’affrontent dans la même partie jusqu’à la victoire de l’un d’eux.
Ce qui reste à faire
- Comparaison des taux de victoire du cerveau de référence avant / après migration (≥ 50 parties, même version)
- Disjoncteur par capacité : une capacité en panne à répétition → marquée indisponible, événement émis ; les autres continuent normalement
- Journaux du runtime séparés par instance, avec rotation
- Détermination du vainqueur par programme (expérience fondatrice n° 4 de l’Arène)
- Site de schémas : envoi en un clic depuis Farsight, téléchargement et installation depuis le site, taux de victoire agrégés par version
- Brancher le compagnon sur le texte intégral du chat (le runtime lit déjà ce que tape le joueur), pour une vraie conversation libre
- Canal de synchronisation pour les parties multijoueurs : aujourd’hui, les gameplays qui modifient le monde (faire apparaître des unités, changer des caractéristiques, mods de jeu) sont réservés aux parties solo