Saves and migration¶
All test lists ยท Detailed history
Checked¶
- The game uses encrypted JSON for player progress and a separate settings file. It looks for a new save before trying to migrate the old save; migration leaves the old file in place.
- A Linux Editor check used disposable files to test a fresh encrypted save, loading it again, migration of example progress, preference for an existing new save, and rejection of an unreadable old save without creating a replacement.
- Both old Windows path choices were checked through temporary files and shared path-selection logic. This was not an actual Windows migration.
- On 2026-11-03, an isolated Linux check also combined two example legacy records: currencies were added, unlocks were combined, and the higher shop and counter values were kept. The source objects remained unchanged. The legacy migration and corrupt-file checks reported passing results, but Unity crashed during shutdown, so the run did not exit cleanly.
- The short game run saved its clear and forced death to an isolated profile. Offline leaderboard failure did not prevent the local result save in that check.
Still to check¶
- [ ] Test migration on Windows using disposable copies of representative historical saves and both old locations.
- [ ] Check applicable migration and merge cases without changing real player data.
- [ ] Check settings and keybinding changes persist after restart.
- [ ] Check normal Windows/Steam profile selection and progress separately from the Linux offline test.
- [ ] Decide how to handle duplicate copies in both old Windows locations: the current merge adds their currencies, which can count the same progress twice.
- [ ] Review player-save write recovery. Unlike settings, the player-save writer currently writes directly to its destination rather than using the settings store's staged replacement.
The current player-save encoding uses a fixed XOR key and Base64. It makes the JSON less readable but is not strong protection against inspection or editing. Changing that format requires a compatible migration plan.
Keep the original save and settings files safe. Do not use a real profile in automated tests.