Save System - Dual Files, Codec and World State
How Dimraeth stores progress: separate player and world save files, the SaveCodec encoding layer, save slots and what persists per file.
Dual-file architecture
The save layer splits into two distinct files:
| File | Holds |
|---|---|
PlayerSaveFile |
Character build, inventory, equipment, spell upgrades, skill tree, Pet Pen contents (PetPenSaveData) |
WorldSaveFile |
Scene/object state — opened chests, harvested nodes, world events, build placement (BuildItemSaveData) |
Splitting character from world is what makes co-op drop-in viable: your character travels into another player’s world file.
Encoding layer
SaveCodec sits between the object graph and disk — saves are encoded, not plain JSON. SaveFiles, SaveNameKind, SaveNameVerdict and SaveNameRules implement slot naming and validation (reserved/invalid name handling). SaveOnQuit writes on exit; corruption recovery specifics aren’t visible in code.
What this means in practice
- Your character is portable across worlds (consistent with the Relay co-op model)
- World state (which of the 1,784 POIs you’ve cleared) persists per world
- Pet Pen data rides with the player file — your pets follow you into a friend’s world
- Editing saves externally requires reversing
SaveCodec, which is non-trivial by design
Related Entries
guides
Character Creation - Races, Classes and Archetypes
Dimraeth character creation explained: 20 races, class definitions, 54 archetypes, starting spells per layer, and the appearance customization system.
guides
Combat Mechanics - Stats, Damage Types and Stacking Effects
How combat works in Dimraeth: the 104-stat system, 13 damage types, 12 elements, stacking effects, critical mechanics and the rune word-attack layer.
guides
Monster AI System - How Dimraeth Monsters Think
Deep-dive into Dimraeth monster AI: temperament, allegiance, daily schedules, combat routines, empowerment modifiers and out-of-combat behaviour.
Was this helpful?
Thanks for the feedback!