Des œufs PokéTokenBar au simulateur web : comment on départage nos équipes Pokémon au bureau
Le rituel des œufs qui s'ouvrent à coup de tokens
Au bureau, avec un collègue assis juste à côté, nos sessions de code intensives avec Claude ont pris une tournure inattendue.
On utilise l'extension PokéTokenBar : une barre d'avancement où des œufs Pokémon éclosent au fur et à mesure que l'on consomme nos tokens Claude en dev. Au début de la journée, le pari est lancé : les 6 prochains Pokémon qui sortent de nos œufs respectifs formeront notre équipe officielle de 6.
Selon le rythme des prompts et du dev, faire éclore les 6 œufs prend parfois la journée, voire plusieurs jours. Mais dès que les 6 bêtes sont là et leurs formes arrêtées, le débat inévitable éclate entre nos deux bureaux : « Bon, quelle team est objectivement la meilleure ? ».
Et c'est là que le casse-tête commence.
Le casse-tête : comment départager deux équipes sans y passer 3 jours ?
Jusqu'ici, nos tentatives pour trancher étaient bancales :
- L'arbitrage par un LLM ? On balançait les deux listes de 6 Pokémon à une IA en lui demandant d'élire la meilleure compo. Résultat : l'IA hallucine, hésite, change d'avis selon le prompt, ou te sort une dissertation narrative de 4 pages digne d'un épisode de l'animé sans jamais désigner de vainqueur incontestable.
- Le débat théorique à la machine à café ? "Ouais mais mon Dracaufeu dépasse ton Florizarre" ➡️ Débat stérile qui dure 40 minutes entre deux PRs et se termine par un haussement d'épaules.
- Pokémon Showdown en manuel ? Bien trop long. Faut builder les équipes à la main, régler les EV/IV, les movesets, se synchroniser pour jouer en tour par tour... En plein milieu d'une journée de taf, personne n'a 25 minutes à cramer pour un match manuel.
- Les projets d'auto-battler existants ? On a d'abord regardé les projets open-source comme Pokémon Auto Chess. Mais c'était lourd : dépendances complexes, installations locales à n'en plus finir, mécanique de shop et de ranked multijoueur superflue.
Ce qu'on voulait, c'était l'opposé absolu de la friction :
- Zéro installation : une simple page web accessible instantanément sur navigateur ou mobile.
- Copy-paste direct : coller les deux listes de Pokémon en texte brut en une seconde chrono.
- Simulation automatique : lancer un match ou un batch statistique pour savoir qui gagne, en 1v1 (Combat Simple) ou en 2v2 (Combat Double).
La solution : Booster Battle Arena (Pokémon Auto Battler)
On a donc développé un simulateur web open-source, ultra-rapide et direct : disponible en ligne sur pokebattle.alexandre-enouf.fr et sur GitHub (Boblebol/pokemonautobattler).
L'idée est chirurgicale : tu ouvres l'application web, tu colles les deux compos, et le moteur calcule instantanément le verdict.
1. Saisie ultra-rapide par copier-coller
Pas de formulaire interminable ni de drag-and-drop laborieux. L'interface propose une saisie texte où l'on copie-colle directement nos Pokémon (séparés par une virgule ou des retours à la ligne) :
- Les noms sont reconnus en français comme en anglais.
- La saisie tolère les cartes ou variantes (
Dracaufeu ex,Mewtwo GX,Pikachu VMAX,Méga-Lucario). - Un bouton de tirage aléatoire permet aussi de tester des drafts express sur le pouce.
2. Sets stratégiques automatiques
Dès que les noms sont saisis, le moteur génère automatiquement des sets compétitifs cohérents :
- Intégration des sets officiels de Pokémon Showdown Random Battles (Gen 9, Gen 8, Gen 7).
- Générateur heuristique pour les sous-évolutions et Pokémon hors tiers (calcul optimal des attaques de couverture, objet adapté comme l'Évoluroc, répartition des EVs et nature).
- Possibilité d'éditer manuellement les attaques, objets et talents si on veut affiner un détail.
3. Combat Simple (1v1) ou Combat Double (2v2)
Selon l'humeur du jour ou le format souhaité :
- Combat Simple (1v1) : le duel classique en face-à-face.
- Combat Double (2v2 VGC) : le format officiel avec gestion des cibles doubles, des attaques de zone et des synergies de placement.
4. Moteur officiel Showdown & Replay visuel
Sous le capot, c'est le moteur officiel de Pokémon Showdown (@pkmn/sim) qui tourne directement dans le navigateur :
- Prise en charge des Méga-Évolutions, de la Téracristallisation, de la météo et des terrains.
- Calculs officiels de STAB, immunités, altérations de statut, priorités et vitesse.
- Replay visuel interactif avec sprites animés, jauges de PV dynamiques et journal de combat entièrement traduit en français avec emojis clairs.
5. Simulation statistique (50+ combats) pour clore le débat
Un seul combat peut se jouer sur un coup critique ou une imprécision de Miss. Pour savoir quelle équipe est vraiment la meilleure, l'application intègre un mode de simulation statistique en batch :
- Simulation de 50 à 100 combats en quelques secondes.
- Affichage du taux de victoire (Win Rate %) entre Joueur 1 et Joueur 2.
- Tableau des MVPs du tournoi (les Pokémon ayant infligé le plus de K.O.s).
- Possibilité de rejouer en vidéo n'importe lequel des matchs du batch pour voir comment une victoire miraculeuse s'est produite.
Ergonomie Minimaliste & Mobile First
Pour que l'outil soit utilisable aussi bien au bureau sur grand écran qu'en marchant avec son smartphone :
- Design Minimaliste Monochrome : palette zinc sobre (
zinc-950àzinc-800), contrastes élevés et typographie moderne (Inter/GeistetJetBrains Monopour les statistiques chiffrées). - Mobile First : cibles tactiles de 44px, arène compacte adaptée aux écrans de smartphones et menu tiroir regroupant les actions secondaires pour laisser l'écran libre.
- Zéro friction : aucune inscription, aucun login, tout fonctionne côté client en local.
Le verdict au bureau
Désormais, la boucle quotidienne au bureau est parfaitement rodée :
- Pendant qu'on code : Les tokens Claude défilent, les œufs éclosent sur PokéTokenBar au fil de la journée ou des jours.
- Dès que le 6e œuf s'ouvre : Les deux équipes de 6 sont figées.
- À la pause café : On ouvre la webapp, on copie-colle les deux compos en 5 secondes.
- 20 secondes plus tard : On lance 50 combats en 1v1 ou 2v2. Le win rate s'affiche, les MVPs sont célébrés, et le verdict mathématique est incontestable : le perdant paie les cafés ou les croissants.
Une idée née d'un pari de bureau entre deux devs et Claude, concrétisée par une application web simple, directe et efficace.