Save game compatibility with "major" changes

Started by monkey0506, Wed 15/01/2014 05:01:53

Previous topic - Next topic

monkey0506

I recently helped upgrade The Cat Lady on Steam to v1.4 which contains some bug fixes, a couple translation fixes, and some additional fonts/fixes. No additional scripts, characters, objects, variables, or any other global entities were added (aside from the new fonts). Is there really a reason that this should cause the older save games to become completely invalidated?

It seems to me that the engine may be setting far more restrictions on save games than necessary, perhaps due to saving unnecessary data that doesn't need to be written to the save file anyway. I haven't really had time to fully explore this, just my preliminary thinking.

Is there any way that save game compatibility in these cases could be improved? Players tend to dislike their save files being invalidated by game updates.

Crimson Wizard

#1
Quote from: monkey_05_06 on Wed 15/01/2014 05:01:53
It seems to me that the engine may be setting far more restrictions on save games than necessary, perhaps due to saving unnecessary data that doesn't need to be written to the save file anyway.
It actually does. If you compare saves in 3.3.0 and 3.4.0 you'll see that 3.4.0 saves much less (and maybe still bit excessive, this needs to be rechecked).
The main problem is that AGS keeps both design-time and runtime properties in the same data structs (namely GameSetupStructBase/GameSetupStruct). For instance, it stores fonts number and font data (descriptive flags or something) into savedgame. In original 3.2.1 code (and earlier) it saved the data structs without any discretion (as a memory blob). 3.3.0 does the same, just in a ... safer way.

For pre-3.3.0 refactored code (and eventually in 3.3.0) we were trying to keep savedgames both backward and forward compatible, so that the port users could return to previous versions if new ones did something wrong.

Maybe the save cleanup is something to start 3.3.1 development with, if it causes such problems. Just a thought.
I can't tell which cases it will cover without code review, though, but there might be some (like number of fonts and their properties).

JanetC

I would personally like a manual save option, where you can list each item you want saved, and everything else remains as default.

For commercial games, it is hard to fix bugs without users saves being trashed.

SMF spam blocked by CleanTalk