Delete autonomous_plan.md (fully shipped), PLAN_playtest.md (all P1-P7 done), PLAN_missions.md and PLAN_leveldesign.md (partial — engine done, UI polish + 3 final missions + recurring demands + transformer visuals remain). The surviving TODO list lives in docs/PLAN.md. Also add the 6-step dev loop to CLAUDE.md (take next topic → implement → tests → UI test → docs → commit).
3.6 KiB
Chessistics — Plan de travail (restant)
Consolidation des sections non implementees des anciens PLAN_missions.md et
PLAN_leveldesign.md. Le moteur (black-box sim, campagne, transformateurs,
missions 1-7) est en place. Ce qui suit concerne la finition UX, les visuels
et l'extension de la campagne.
1. UX / Presentation — gaps Godot
Le moteur expose deja les commandes et events requis ; cote Godot il manque les surfaces d'interaction et d'animation.
1.1 Undo (Ctrl+Z)
Annule le dernier placement ou retrait. L'architecture event-sourcing rend l'implementation naturelle : conserver un historique de commandes cote presentation, rejouer l'etat sans la derniere. Essentiel pour l'iteration rapide sur un reseau en temps reel.
1.2 Drag & drop des pieces placees
MovePieceCommand + PieceMovedByPlayerEvent existent cote engine.
Cote Godot : permettre de glisser une piece placee pour deplacer son point de
depart. Les arrivees legales se recalculent pendant le drag. Application
atomique au relachement (entre deux tours).
1.3 Collision — camera pan/zoom + notification
L'engine emet deja PieceReturnedToStockEvent + auto-pause. Il reste a :
- Animer un pan + zoom de la camera vers la case de collision.
- Afficher une notification dans un coin de l'ecran (ex : "Tour II detruite par Dame — retournee au stock").
- Reprise a Espace apres lecture.
1.4 Touche Suppr pour retirer une piece
Le bouton [Retirer] du DetailPanel existe. Ajouter en complement :
selection + Delete → meme effet que le bouton.
1.5 Cinematique de transition de mission
Sur MissionStartedEvent (hors mission 0) :
- Titre "Nouvelle mission" plein ecran en fade-in.
- Lock pan/zoom ; la camera se deplace vers la nouvelle zone.
- Animation d'expansion pour les cases debloquees par le
TerrainPatch. - Le titre glisse ensuite vers le panneau d'objectifs avant de disparaitre (guide l'oeil).
- Unlock pan/zoom, la simulation reprend.
1.6 Visualisation des trajets
TrajectView existe. Manque :
- Fleches directionnelles sur le trait.
- Pulsation legere du trait quand la piece est en mouvement.
- Couleur unique par piece pour distinguer les chaines.
2. Extension de la campagne
campaign_01.json compte actuellement 7 missions (Pion → Tour → Cavalier →
Fou → Dame + 2 transformateurs). La vision GDD/plan prevoit une campagne
plus longue et un final orchestrant toutes les chaines.
2.1 Missions supplementaires
- "L'Expansion Finale" (14x14) : multiples transformateurs, murs complexes. Defi : maintenir toutes les chaines en s'etendant ; gestion de la congestion / collisions.
- "Le Couronnement final" (14x14) : Cathedrale qui demande or + armes + outils simultanement. Orchestrer l'ensemble des chaines logistiques.
Actuel mission 7 "Le Couronnement" = transformation outils→or seule. La renommer ou l'inserer comme mission intermediaire et ajouter les deux missions ci-dessus pour retrouver la progression 10 missions de la vision initiale.
2.2 Demandes recurrentes (post-campagne 1)
Pour forcer la preservation des automatisations entre missions :
- Une demande consomme N unites par tour.
- Si plus approvisionnee → etat "en penurie".
- Condition : aucune demande en penurie pendant X tours consecutifs.
Implique : nouveau champ sur DemandState, flag shortage, regle de victoire
parametrable par mission. A valider via playtest avant d'ajouter au scope.
3. Polish visuel des transformateurs
Couleur de cellule dediee (orange cuivre), animation flash input → flash
output sur CargoConvertedEvent, icones de cargo sur les pieces porteuses.