Donjon FI utilise un fichier .sol pour sauvegarder une partie en cours et la rejouer plus tard à l'identique. C'est aussi le format utilisé par le mode triche pour reproduire automatiquement une séquence de commandes.
{
"versionDonjon": "020100",
"versionJeu": "1.5",
"partie": [
"g:0.25796434437940996",
"c:prendre clé",
"r:2",
"c:i",
"c:x porte",
"c:ouvrir la porte avec la clé",
"c:entrer",
"c:x trou",
"d:porteRougeSeReferme",
"c:manger baie",
"g:0.7474848097328197",
"c:x baie",
"c:p baie"
],
"declenchementsFuturs": [
"activationPiege:345"
],
"scenario": "Le joueur se trouve dans le salon.\r\n\r\nSa description est \"Vos vêtements sont sales. …\"."
}
Chaque entrée du tableau partie commence par un préfixe à une lettre :
| Préfixe | Sens | Exemple |
|---|---|---|
c | Commande du joueur | c:prendre clé |
r | Réponse à une question du jeu (1, 2, oui…) | r:2 |
g | Graine aléatoire courante (PRNG) | g:0.25796… |
d | Déclenchement d'une routine forcée (chrono) | d:porteRougeSeReferme |
d (avec arguments) | Routine programmée avec arguments — résolus au déclenchement | d:afficherScore avec 3 |
À la reprise (mode triche / replay), le moteur ré-applique chaque étape dans l'ordre : il pose la graine g, envoie la commande c au commandeur, ou injecte la réponse r attendue, ou force le déclenchement d de la routine.
Quand une routine programmée arrive à échéance, son déclenchement est enregistré comme une étape d:nomRoutine. À la reprise, la routine est rejouée à la même place dans la chronologie, sans relancer le chronomètre temps réel.
Si la routine a été programmée avec des arguments, l’étape encode les arguments résolus au moment du déclenchement, sous forme canonique : un nombre est écrit tel quel (d:afficherScore avec 3), un texte entre guillemets (d:annoncer avec "bravo"), un élément du jeu par son intitulé.
Cas limite : une routine programmée mais pas encore déclenchée au moment de la sauvegarde n'est pas restaurée — le chrono en cours n'est pas reporté. Pour des scénarios qui exigent un comptage déterministe, utilisez plutôt le magnétoscope .rec.
.sol (sauvegarde) — contient les étapes de la partie. Permet de reprendre le jeu. Ne stocke pas la sortie attendue..rec (enregistrement) — contient les étapes et la sortie attendue à chaque étape. Permet de vérifier qu'une modification du scénario n'a pas cassé un parcours. Voir magnétoscope..sol automatiquement..rec).