A phone game uploads months of offline progress and breaks the shared profile
Not every part of a profile can be treated alike when an old device finally reports in. Some things only ever grow, some are collections and some must be refused unless the device saw the latest state. Here is a sorting of fields that decides this.
Why this works
Different facts age differently. Something that only ever grows can safely be merged from an old copy, while something that others also change is only safe if the sender saw the latest. Matching the rule to the kind of fact avoids both losses and cheating.
When not to use it
Do not merge by field when the game must be fully fair and checked, such as a ranked mode or paid items. Keep the real state on the server and let the phone only send actions. Merging also wastes effort for tiny profiles.
In the full entry
- What to build, step by step
- Starting values and the reason for each
- 4 common mistakes and the fix
- A diagram of every state
- 41 lines of example code with 4 checks that pass
- How your AI shows you that it works
Say this to your AI
Use the Spielerando entry "A phone game uploads months of offline progress and breaks the shared profile" (read_entry offline-progress-upload-by-field-type) in my game. Build it step by step, and show me how you checked that it works.Or skip this and connect the MCP: your AI then finds all of this by itself.Connect the MCP