Save System
The save system provides a key-value data storage system for persisting player progress and preferences across sessions.
Quick start (save + load a stat)
Player :: class : Player_Base {
xp: s64;
level: s64;
ao_start :: method() {
// Defaults are used for brand new players
xp = Save.get_int(this, "xp", 0);
level = Save.get_int(this, "level", 1);
}
}
add_xp :: proc(player: Player, amount: s64) {
player.xp += amount;
// ... your level-up logic here ...
// Save immediately when it changes
Save.set_int(player, "xp", player.xp);
Save.set_int(player, "level", player.level);
}Player save (per-player data)
Saving “bigger” data (JSON)
Save versioning (migrating old data safely)
Game-wide save (shared by everyone)
Common patterns
Booleans
Key naming
Additional APIs
Last updated