NarraLeaf

SavedGameMetaData

interface SavedGameMetaData {
    created: number;
    updated: number;
    id: string;
    lastSentence: string | null;
    lastSpeaker: string | null;
    storyHash: string;
    version?: number;
}

created

The timestamp of when the game was created

updated

The timestamp of when the game was last updated

id

The id of the game, unique to each saved game

lastSentence

The last sentence that was spoken

lastSpeaker

The last speaker that spoke

storyHash

The hash of the story is used to check whether the stories are compatible

Note: The story hash is not based on the story content, but on the logic of the story.

For example, changing the order of the animations will be reflected in the story hash, but changing the content of the sentences will not.

version

The save format version, currently 3.

  • absent — a legacy (v1) save, written before the backlog was persisted. Loads unchanged, with an empty backlog
  • 2 — carries the persisted backlog, see SavedGame's history
  • 3 — since 0.26.0: elementStates lists only the elements whose state differs from what the script wrote, and loading resets every element before applying the save

0.26.0 reads all three. An older engine cannot read a v3 save correctly, because it skips the reset — see SavedGame's elementStates.

On this page