1. Décider d’abord : créer le jeu ou le laboratoire qui étudie comment gagner ?
Pour étudier decks et décisions, inutile de commencer par illustrations, animations, voix et UI.
Le noyau :
état actuel
→ générer actions légales
→ choisir
→ appliquer règles
→ nouvel état
On construit un laboratoire numérique.
Si un moteur fiable existe, réutilisez-le. Sinon, créez les règles minimales correctes.
2. Définir entrées et sorties avant le code
Entrées : card DB, decks, first/second, seed, policy, environment, parties.
Sorties : winner, turns, matchup WR, first/second gap, worst matchup, brick, key-card drop, erreurs, deck changes.
Le simulateur commence par la question.
3. Card DB — les données ne sont pas le comportement
Stocker ID, nom, classe, coût, type, stats, rareté, set, texte, évolution, cartes liées, tags.
JSON ou SQLite suffisent.
« Fanfare : 4 dégâts » n’implémente pas target, réduction, trigger, ordering.
DB garde les manuels ; Rules Engine les exécute.
4. Représenter le jeu comme state
Garder turn, active player, HP, PP, hand, deck, board, graveyard, Evolution, Super-Evolution, Crests, amulets, counters, temporary effects.
Le sens des règles compte plus que l’affichage.
5. Rules Engine = state A → action → state B
Play, attack, Evolution, Act, target, end turn, draw, PP refresh, win check sont des transitions.
L’engine doit être correct même avec un bot idiot.
6. Effets génériques + exceptions
Créer damage, heal, draw, buff, summon, destroy, banish, Ward, Storm.
Cas spéciaux : overrides.
Compter unsupported, partial, runtime gaps.
7. Legal action generation
Inclure playable cards, targets, attacks, Evolution, Act, end turn et, si nécessaire, hold, draw-first, board-slot clearing.
Demander :
la bonne action existait-elle dans le candidate set ?
8. seed, replay, hash
Fixer seed et stocker engine commit, DB hash, deck hash, policy hash, environment hash, schedule hash, seed hash.
Mêmes conditions doivent reproduire la même partie.
9. Première IA simple
Reference policy : lethal → finir ; mort proche → défendre ; curve ; board favorable → face ; board défavorable → trade.
C’est la baseline.
10. Human knowledge comme prior
Utiliser mulligan, hold, EP/SEP, setup, swing turn, hand cap, board slot, future lethal.
Pas de loi absolue.
Utiliser hold_value, future_combo, survival, premature_spend.
Le guide est une carte.
11. Tree Search, Beam, Node Budget
10 candidats par couche donnent 10, 100, 1 000, 10 000.
Utiliser depth, beam width, node budget, pruning.
Ne pas supprimer trop tôt un setup important.
Séparer immediate, future, survival, setup, lethal, resource value.
12. Hidden hand : belief, POMDP, Monte Carlo
Ne pas montrer la vraie hidden hand à la policy.
Créer des mondes : AoE 30 %, Ward 20 %, rien 50 %.
C’est belief.
Problème proche de POMDP ; sample de mains et rollouts répétés.
13. Large simulation = paired A/B
Même deck, adversaire, first/second, seed ; seule policy change.
Quick → development → unseen holdout.
But : réduire le bruit avec comparaison équitable.
14. Mesurer plus que win rate
Average, meta-weighted, worst matchup, bottom average, variance, first/second gap, brick, key-card drop, turns, confidence interval.
CVaR regarde la partie mauvaise.
Bootstrap et McNemar aident paired A/B.
15. Deck optimization compresse l’espace
Impossible de brute-force tous les 40-card combinations.
Partir de decks réels, essayer swaps, role replacement, tech.
Double Oracle ajoute counters, PSRO utilise deck + policy, No-Regret réduit regret, Robust Optimization protège floor.
16. Enregistrer pourquoi l’IA perd
Action trace : candidates, scores, choice, objective, reservation, early combo spend, missed lethal, hand burn, board lock.
Ablation coupe des composants.
Counterfactual teste A et B depuis le même public state.
17. Nouvelle extension = environment snapshot
Stocker format, legal sets, hashes.
Diff DB et recalculer seulement decks/matchups touchés.
Seulement meta weight change ? Réutiliser les résultats.
18. Architecture petite et CLI-first
Séparer upstream, deck, policy, simulation, diagnosis, statistics, config, data, reports, docs, tests.
CLI : status, doctor, db check, validate, simulate, experiment, optimize, diagnose, context.
GitHub devient mémoire externe.
19. Roadmap zéro-à-un
1 card DB
2 une partie minimale correcte
3 legal actions/targets
4 seed/replay/hash
5 simple policy + 100 games
6 coverage
7 real decks + matrix
8 human prior
9 search + belief
10 paired A/B + holdout
11 deck optimization
12 diagnosis + expansion diff
Ne construisez pas une machine qui se trompe 10 000 fois par minute.
20. Conclusion
DB = mémoire. Rules Engine = physique. Policy = cerveau. Search = anticipation. Statistics = bulletin. Action Trace = caméra. Git = cahier. AI Agents = chercheurs.
L’humain demande :
« Ce nombre est-il vraiment fiable ? »
Départ : Storm face.
Arrivée : laboratoire d’IA.
Retirer Ward, évoluer,
Storm face.


