# How Northstar Arcade Built a Reliable Save System

Northstar Arcade is a five-person indie studio developing *Ashline*, a tactical exploration game for PC and consoles. During early access, corrupted save files became the team’s most expensive support issue. Most failures occurred when the game closed during a write, but cloud synchronization and schema changes between builds created additional edge cases.

## Atomic Writes

The team replaced direct file writes with an atomic process: serialize the new state to a temporary file, flush it to disk, and then rename it over the previous save. Because renames are atomic on the studio’s supported filesystems, an interrupted operation leaves either the old save or the complete new one—not a partially written document.

```yaml
save_format: 7
write_mode: atomic
backup_count: 3
checksum: xxhash64
```

## Versioned Data

Every save now includes a format version independent of the game’s release number. On load, the game applies small, sequential migrations—for example, version 5 to 6 and then 6 to 7—rather than maintaining converters for every historical format. Unknown fields are preserved where possible, allowing newer builds to add optional data without breaking older migrations.

## Recovery and Testing

Before replacing a save, *Ashline* rotates three local backups and records a checksum beside each file. If the primary save fails validation, the loader tries the backups in order and clearly tells the player which snapshot was restored. Automated tests simulate truncated writes, invalid checksums, missing fields, and saves produced by every public build.

## Results

After two releases, save-related support tickets fell by roughly 80 percent. The system added little visible value to trailers or store screenshots, but it gave Northstar Arcade something more important: confidence that frequent updates would not erase a player’s progress. For a small studio without a dedicated support department, that reliability became a practical production feature.