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.

Jouer et rejouer une session

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

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 : text-switches-local

L'onglet Play fait tourner le jeu dans un cadre à côté de son état en direct et de son journal, exporte ce que vous avez joué en fichier de session, en rejoue un pour poser le jeu là où il finit, et, pour un jeu speedrun ou un jeu à choix du héros, ajoute les panneaux qui vont avec.

Ce que vous obtenez

Un fichier de session (<jeu>-session.json) qui reproduit un bug, le jeu remis exactement là où un testeur s'est arrêté, et le journal de ce que chaque action a répondu.

Contexte et versions

Le Studio local, dépôt du moteur ou projet créé. Vrai depuis la 4.1.14 (le panneau speedrun) ; les aiguillages de texte depuis la 4.3.0. Sur un Studio hébergé, le jeu tourne sur sa propre origine : le cadre le montre avec ses outils de dev, et les panneaux qui lisent dans le cadre (état, journal, explication des règles, sessions, aiguillages) sont retirés.

Prérequis

Où lancer les commandes

Dans le navigateur, sur l'onglet Play. npm run replay se lance dans le dépôt du moteur.

Étapes

  1. Jouez dans le cadre. Le jeu tourne avec ses outils de dev. À côté, l'état en direct : lieu, sac, flags, ce qui est débloqué, où sont les personnages mobiles, les scripts en cours, les joueurs. En dessous, l'explication des règles.
  1. Lisez le journal. Ce que chaque action a répondu (une règle, une ligne de Regarder, un repli…), les événements émis et les écouteurs atteints, chaque pas de script, les personnages déplacés, les changements de joueur ; filtrable par sorte. Le moteur ne le garde qu'en mode dev (Engine.trace, les 200 dernières entrées).
  1. Export session télécharge les entrées depuis le début de la partie, avec le journal : <jeu>-session.json. Ce fichier est un rapport de bug.
  1. Replay… charge un fichier de session : le moteur le joue en silence et le jeu se pose là où il finit. Un curseur parcourt les entrées (en toucher une y pose le jeu), et une divergence avec l'enregistrement est signalée. En ligne de commande, le même fichier se rejoue sans affichage, imprime le journal et l'état final, et sort en 1 là où le rejeu cesse de suivre l'enregistrement :

    # dans le dépôt du moteur
    npm run replay -- <jeu>-session.json
    

Le panneau speedrun

Pour un jeu qui déclare speedrun (Speedrun pour les auteurs) : les catégories et leurs règles ; les splits avec un éditeur (nom, déclencheur ; + split ; Write to the game écrit le manifeste avec set_value sur @game) ; Preview on this session (la session du cadre rejouée avec les splits de la catégorie : les temps qu'un run enregistrerait) ; Export route / Import route (.wsroute) ; Logical route (solver) (le témoin du solveur, jamais un record) ; les deux dernières routes comparées ; et Export run (.wsrun) une fois une tentative du cadre scellée.

Aiguillages de texte : voir le jeu avec un autre héros

S'applique depuis la 4.3.0

Pour un jeu dont les textes portent des aiguillages ({form?m=…|f=…}, {hero}), Text switches sous l'état propose un menu par flag qu'un aiguillage lit ; ses valeurs sont celles que les aiguillages listent et celles qu'un set littéral (ou le départ, un checkpoint) écrit. Un choix pose le flag dans le cadre (« unset » l'enlève) : le lieu, la variante de sprite du héros, {hero} et chaque ligne montrent ce héros ; le nom du héros tel qu'affiché est dans le titre. L'onglet Rooms lit ce même choix pour montrer un texte aiguillé tel qu'un joueur le lit (Modifier une salle).

Limite · text-switches-local Les aiguillages de texte sont propres au Studio local : le jeu d'un Studio hébergé tourne sur sa propre origine ; posez-y le flag dans le panneau DEV du jeu.

Résultat attendu, et comment le vérifier

Après Replay…, le cadre montre le jeu là où finit la session et le curseur est sur sa dernière entrée ; aucune divergence n'est signalée. npm run replay sort en 0.

Erreurs fréquentes

SymptômeCauseQue faire
Une divergence est signalée au rejeuLe contenu a changé depuis l'enregistrement de la sessionRegarder l'entrée signalée : c'est là que le jeu répond autrement aujourd'hui
Le journal est videPersonne n'a encore joué dans le cadreJouer dans le cadre
Ni état, ni journal, ni rejeu sur un Studio hébergéLe jeu est sur une autre originePasser par un Studio local, ou le panneau DEV du jeu

Fichiers ou données modifiés

Aucun dans le jeu, sauf Write to the game du panneau speedrun (le manifeste speedrun du jeu, par set_value). Sessions, routes et runs sont des téléchargements.

Références


Modifier la source de cette page · Signaler une erreur