Zombicide Companion Une app compagnon qui s’efface devant le jeu.
Application compagnon (PWA, 100 % hors ligne) qui remplace la plaque du survivant, sans jamais alourdir la partie. Projet personnel, conçu et piloté seul.

Fiche du projet
- Client
- Projet personnel
- Rôle
- Product Designer · Pilotage technique
- Équipe
- Conçue et pilotée seul, de bout en bout, avec Claude pour le développement
- Périmètre
- Cadrage · règles du jeu · design · développement · tests en partie réelle
- Période
- 2026
- Durée
- Environ 5 mois.
- Support
- Application web installable (PWA) : mode un appareil hors ligne, mode multi-appareils en ligne
- Statut
- Terminée : deux versions du jeu, en ligne et utilisées par Florian et ses proches
Impact
Contexte
Zombicide est un jeu de plateau coopératif : les joueurs unissent leurs forces pour survivre à des vagues de zombies.
Un soir, lors d’un apéro chez un ami, il m’a fait découvrir le jeu. Il avait remarqué mon intérêt pour la boîte, et il a fini par me proposer une partie pour essayer. J’ai tout de suite accroché.
Voyant l’intérêt grandissant pour l’IA dans le métier de Product Designer, et ne voulant pas être dépassé, j’ai décidé qu’il était temps de me former à Claude Code. Quoi de mieux pour apprendre qu’un projet concret : une app compagnon pour le jeu. L’idée a vite grandi : elle gère aujourd’hui la 2e édition et Invader, et peut accueillir d’autres versions.
Problème
La V1 marchait, mais elle jouait trop à la place des joueurs. Une seule attaque demandait huit interactions : choisir le survivant, son arme, les cibles, les relances, le tir ami… là où la plaque physique n’en demandait aucune. Les autres fonctionnalités n’échappaient pas à cette lourdeur.
J’ai testé cette version lors de deux parties, avec trois joueurs à la table à chaque fois. Les retours ont été sans détour : l’app prenait le pas sur le jeu. Ce sont ces verbatims, bien plus que mes propres intuitions, qui ont orienté la suite.
L’attaque, V1 contre version finale

Dans la V1, l’attaque passe par un assistant en plusieurs étapes, avec ses menus et sa priorité de ciblage.
Objectifs
- Ne pas alourdir la partie : l’app assiste le jeu sans prendre sa place.
- Rendre une partie jouable de bout en bout, sur un ou plusieurs appareils.
- Garder une seule app pour plusieurs versions de Zombicide.
Démarche et enseignements
Cadrer avant de coder : les règles et les cas particuliers sont posés en amont. Un seul principe guide les choix : on n’ajoute que ce qui manque. Chaque fonctionnalité est d’abord testée sur une démo jouable, avant d’être retenue.
Solution
Plutôt que de corriger la V1 morceau par morceau, j’ai décidé de repartir de zéro. J’ai gardé la stack, mais pas le code : chaque règle, chaque cas particulier et l’architecture ont été posés avant d’écrire une ligne. Le moteur des règles reste pur, sans lien avec l’interface ni le réseau, ce qui permettra plus tard de le réutiliser côté multi-appareils.
Le principe de départ tient en une phrase : on n’ajoute une fonctionnalité que si elle manque vraiment à la table.
Un combat réduit à l’essentiel
La V1 demandait un assistant en plusieurs étapes. La V2 transforme l’attaque en une action : choisir l’arme, lancer les dés, valider. Tant que l’action n’est pas validée, rien n’est débité.

Un référentiel par jeu, une seule app
Chaque version a son propre référentiel : cartes, machines, missions. Les règles restent communes et pures, ce qui permet d’ajouter une version sans réécrire le moteur. La 2e édition et Invader sont gérées aujourd’hui.

Plusieurs appareils, une seule partie
En mode multi-appareils, chaque joueur garde son téléphone ou sa tablette. Un Worker Cloudflare relie les appareils dans une même salle, rejointe avec un code depuis l’accueil. Le mode un appareil, lui, fonctionne entièrement hors ligne.

Principes de conception
L’app suit la partie, mais ce sont les joueurs qui décident. Elle ne fait jamais un choix à leur place.
Une action n’est débitée qu’au moment où on la valide, et chaque erreur peut être annulée. Les boutons + et − sont partout, pour corriger vite sans fouiller les menus.
Les valeurs, comme l’expérience ou les dégâts, se calculent à partir de la partie : on ne les saisit pas deux fois.
Fonctionnalités clés
Les règles : la boucle de round
- Les survivants jouent. Chacun joue son tour, puis valide « Fin du tour ».
- Les Xénos entrent en chasse. L’app affiche la phase, et les joueurs saisissent les dégâts encaissés.
- Un nouveau round s’ouvre. La partie reprend, avec le compteur de round mis à jour.
Les règles : l’oxygène
- Le réservoir ne se tire pas au hasard : il se trouve en salle d’oxygène, et il est réutilisable. Il ne part jamais à la défausse.
- L’app garde son propre stock de réservoirs, séparé de la pioche de fouille. Refuser une carte, ou la jeter plus tard, la remet à sa place.
- Le geste « Oxygène » coûte une action, sans limite par tour, comme le prévoit le livret.
- L’app ne vérifie pas que le survivant soit bien dans la bonne salle. C’est au joueur d’être honnête : l’app applique la règle, elle ne surveille pas la table.
Les règles : la Mold Spawn
- La Mold Spawn n’est pas une carte de butin, c’est un événement. On place les figurines, et la carte part à la défausse.
- Le survivant tire quand même sa carte : l’app repioche derrière, autant de fois que nécessaire.
- Le bandeau ne numérote pas la Mold Spawn, pour ne pas laisser croire qu’on tire deux cartes, et indique qu’une nouvelle carte suit.
- Une première version avait perdu cette boucle : tomber sur une Mold Spawn coûtait une action pour rien. Corrigé après un retour lors d’une partie test.
La technique : un jeu qui marche hors ligne, et en réseau quand on le veut
Une app installable. Elle s’installe comme une application sur le téléphone ou la tablette, et fonctionne sans connexion en mode un appareil.
Plusieurs appareils, une seule partie. Un serveur (un Worker Cloudflare) relie les appareils dans une même salle, rejointe avec un code. C’est lui qui fait foi : si la connexion d’un joueur coupe, il revient dans la partie là où il était.
Les mêmes règles partout. Le moteur des règles est le même sur l’appareil et sur le serveur. Une action validée est la même des deux côtés.
Un écran spectateur. Un écran sur la table, ou sur un autre appareil, montre la partie en direct. Il ne garde que les infos utiles à tous : le round, la menace, les survivants et leurs actions importantes. Il accompagne aussi l’immersion, avec les écrans de phase et de déploiement des survivants.
L’immersion : chaque jeu a sa mise en scène
Les dés. En 2e édition, les dés rebondissent sur le bitume. Dans Invader, ils se matérialisent en fil de fer phosphore. Le résultat est tiré avant l’animation : elle ne décide de rien, et un tap la termine.
Les rideaux de tour. Chaque annonce a son écran. En 2e édition, c’est une photo d’identité qui se tamponne. Dans Invader, c’est un dossier d’agent, puis un rapport de fin de tour.
Le tunnel de création. Dans Invader, l’accueil s’éteint, le tunnel se rallume, et les étapes s’allument une à une.
Le briefing de mission. Il s’ouvre dans une fenêtre façon système, et le plan se déplie dans une seconde fenêtre par-dessus.
Tout se coupe automatiquement si le système demande de réduire les mouvements (réglage d’accessibilité).


Les dés rebondissent sur le bitume en 2e édition, et se matérialisent en fil de fer phosphore dans Invader.
Deux versions du jeu
Zombicide existe en plusieurs éditions, et chacune a ses propres règles. La 2e édition et Invader partagent le même moteur de règles, mais chaque version a son référentiel : ses cartes, ses machines, ses missions.
Le choix se fait à l’accueil. L’app adapte ensuite la plaque du survivant, le tunnel de création et la mise en scène.
Deux versions, un même moteur

À l’accueil, le choix se fait entre la 2e édition et Invader.
Résultats
Une attaque passe de 8 interactions à 2. L’app gère deux versions du jeu, s’installe sur le téléphone ou la tablette, et fonctionne sans réseau en mode un appareil.
Elle a été validée sur une dizaine de parties réelles. Chaque partie a fait remonter des bugs et des retours, corrigés avant la version finale.
Le premier chargement d’une version du jeu prend moins de 5 secondes, mesuré en condition réelle sur un appareil qui n’avait jamais utilisé l’app.
Réflexions
- Les tests réels valent plus que les maquettes. Deux parties à trois joueurs ont suffi à renverser le design de la V1.
- Caler les règles avant de coder. La règle de référence est une synthèse vérifiée, et le moteur de règles est pur : il peut tourner aussi côté multi-appareils.
- Claude est puissant avec un cadre. Un document de passation, tenu à jour, permettait de relancer une session par chantier sans perdre la cohérence ni brûler de tokens.
Et ensuite
Une version native si la demande le justifie. À terme, l’app embarquerait toutes les versions et extensions de Zombicide.


