quest'n'click 4.5.0 · r1

Construite pour quest'n'click 4.5.0, révision r1. Si elle est publiée, et laquelle est la courante, est dit par publication.json.

Storyboard

English · Type : procédure · Public : auteur · Contexte : Studio local · Statut : prête · S'applique depuis : 4.2.1

Le Studio local · contrat : stable · vérifié par la CI (matrice de support de la 4.4.0, 2026-10-23) : Chromium de bout en bout (les vérifications du Studio) ; Windows : la suite unitaire seulement · vérifications automatiques : jobs e2e, windows ; plan de CI e2e, windows ; 2 fichiers de tests · passes humaines : studio-hero-matrix pas faite (#238) · limites connues : whole-document-save

L'onglet Storyboard modifie storyboard.json, le scénario du jeu, tableau par tableau et case par case, montre chaque case comme le jeu la mettrait en scène, et dit ce que le jeu en fait déjà.

Ce que vous obtenez

Un games/<id>/storyboard.json écrit par le Studio, chaque case prévisualisée comme une vignette, un badge de couverture sur chaque tableau et chaque case, et, si vous le voulez, un storyboard.md à lire ou à partager.

Contexte et versions

Le Studio local, dans le dépôt du moteur ou un projet créé ; le Studio de démo aussi (ses modifications restent dans le navigateur). Vrai depuis la 4.2.1. Pourquoi le storyboard fait foi, et son lien avec le contenu : Le storyboard, source de vérité.

Prérequis

Où lancer les commandes

Dans le navigateur, sur l'onglet Storyboard du Studio. L'export facultatif en ligne de commande se lance dans le dépôt du moteur.

Étapes

  1. Les tableaux. À gauche, les tableaux (titre, lieu, objectif), avec monter, descendre, ajouter et supprimer.
  1. Le tableau sélectionné, au milieu : titre, id, lieu (« Open in Rooms » bascule sur ce lieu), objectif, sortie, ses lignes d'arrivée, puis ses cases en cartes dans l'ordre de jeu. Une case a un titre, un id, l'action du joueur qui la déclenche, et des répliques avec un choix de locuteur (les personnages du jeu, hero, action, stage) et des puces sfx tirées de audio.sfx du jeu. Par réplique : déplacer, supprimer, « + line ». Par carte : déplacer, dupliquer, supprimer. Puis les indices du tableau (dans l'ordre), les sujets de conversation par personnage (sujet et répliques) et les réactions facultatives (action et répliques).
  1. La vignette, à droite : la case sélectionnée composée comme une vignette de storyboard, avec le décor du lieu, les portraits des locuteurs de la case (celui qui parle en surbrillance), la réplique courante dans le style de parole du jeu (couleur du locuteur ; parcourir les répliques, ou cliquer sur l'une dans le script ci-dessous), l'action présentée comme la phrase du jeu, et les sfx. En dessous, les notes sur cette case (about = l'id de la case) et une zone pour en ajouter une (Notes).
  1. Enregistrer. Chaque modification reste en mémoire jusqu'à ce que Save (ou Ctrl/Cmd+S quand l'onglet est affiché) écrive le document entier. « ● Unsaved changes » s'affiche jusque-là, et quitter la page le demande d'abord. Save refuse les ids de case vides ou en double, parce que les notes s'y accrochent. Un storyboard inchangé n'est pas réécrit ; un storyboard modifié est écrit de façon compacte (ce qui tient sur 120 colonnes reste sur une ligne).
  1. Lire la couverture. Après chaque chargement et enregistrement, le storyboard enregistré est confronté au contenu (src/engine/tools/coverage.ts) : un badge sur chaque tableau et chaque case, ✓ tout est dans le jeu, ~ en partie, ✗ quelque chose manque, ? de la prose. Sous une case, la liste de ce qui n'y est pas encore : une action à laquelle aucune règle ne répond, une réplique que le jeu ne dit pas, un son absent de audio.sfx. La barre montre le score global. La même vérification est dans l'onglet Check (« Storyboard coverage ») et c'est l'outil MCP storyboard_coverage.
  1. Export Markdown écrit games/<id>/storyboard.md à partir du fichier enregistré ; il propose d'enregistrer d'abord. Le même texte s'obtient en ligne de commande :

    # dans le dépôt du moteur
    npm run page:storyboard -- --md
    

Limite · whole-document-save Save écrit le document entier. Quand storyboard.json change sur le disque (une IA, un éditeur, git), un bandeau propose de recharger ; avec des modifications non enregistrées, il prévient qu'enregistrer écraserait ce changement. Rechargez d'abord si vous voulez le garder.

Résultat attendu, et comment le vérifier

« ● Unsaved changes » disparaît après Save ; git diff games/<id>/storyboard.json montre votre changement ; les badges passent à ✓ à mesure que le contenu rattrape le scénario.

Erreurs fréquentes

SymptômeCauseQue faire
Save refusé : un id de case est vide ou en doubleLes notes s'accrochent aux ids de caseDonner à chaque case un id unique
Un bandeau dit que le fichier a changé sur le disqueUne IA, un éditeur ou git l'a écritRecharger, ou enregistrer par-dessus en connaissance de cause
Export Markdown répond 404Aucun storyboard.json enregistréEnregistrer d'abord
✗ sous une caseLe jeu ne le fait pas encoreÉcrire la règle, la réplique ou le son qu'elle nomme

Fichiers ou données modifiés

games/<id>/storyboard.json ; games/<id>/storyboard.md à l'export ; games/<id>/notes.json pour les notes des cases.

Revenir en arrière

Undo dans l'en-tête ne couvre pas le storyboard (ni les notes) : un Save est une opération du journal, mais pas une opération annulable. Revenez en arrière avec git : git checkout -- games/<id>/storyboard.json.

Références


Modifier la source de cette page · Signaler une erreur