Hidden CartridgeThe Indie Game Showcase Account

Development / October 16, 2026

Making Offline Progress Safe

How server time, combat limits, boss stops, and duplicate-reward protection make away progress trustworthy.

Offline progress sounds simple: measure how long the player was away, advance the Warden, and award resources. That version works until a device clock changes, a stale tab wakes up, or the Warden reaches a boss it cannot defeat.

The Unfinished Kingdom now treats away progress as a compact server-checked simulation instead of a reward timer.

The server measures the absence

The browser still records when play stops, but account-backed progress uses server time to decide how much time actually passed. This prevents a changed device clock from turning a short refresh into hours of rewards. It also keeps two devices from independently claiming the same absence.

The accepted save records the point through which away progress has been settled. Repeating the same request cannot award the same interval twice.

Away combat follows the same boundaries

The Warden can advance through ordinary enemies while the player is gone. Progress stops before an uncleared Bellkeeper because offline simulation should not bypass a major encounter that active play could not beat.

Defeat and Signal Recoil also matter. The server validates the Warden's starting Cairn and recent accepted state before applying an offline result. A refresh cannot use an older pre-defeat position to leap forward through territory that was just lost.

The return message must be honest

When the player comes back, the recovery message reports the measured absence, Cairns advanced, Fragments earned, Parts earned, and why progress stopped. Short absences no longer masquerade as long sessions, and a boss stop cannot hide a rollback behind a cheerful reward summary.

There are still limits. The offline simulation is deliberately compact, and physical Safari testing remains important because mobile browsers can suspend pages in ways desktop testing does not reproduce. The goal is not to predict every animation that would have played. It is to make every accepted reward explainable and safe to receive once.