recreation Just curious as to what the technical reasons would be to cause this sort of "must start over" or "saves not compatible" thing. Not just with your game, but in general. Is it something to do with how Ren'Py creates saves? Is it that Ren'Py saves variable names & values and those "need" changing to help future dev or story direction changes? Or is it something completely different?
renpy saves variables and values in save files, so if a dev has to change a variable, or needs to introduce a new one earlier in the code, the game simply won't recognise it until it's used/requested, but once that happens and renpy can't find the initial variable in the save, it will throw errors and stop working.
A quick example of something that happens quite often, especially if the dev is new:
We have variable A and variable B, both are defined quite early, usually at the beginning of the game:
define A = 10
define B = 5
^ this goes into the save file.
later in the game we have a condition that changes B:
if userchoice "yes":
B = +5
if userchoice "no":
B = -5
^ This also get's saved.
While working on the next episode/update the dev realizes that he needs another variable C that depends on A and B, so he makes a new variable:
define C = 1
^ this get's saved, and even if it didn't exist in the prior save, it will get saved now and work in the future.
Now he wants to set C's value (1) to a different value depending on if A and B got more or less points:
if B < 5 and A <
...wait a minute.
Now the dev realizes he forgot to include a condition to change variable A in the previous release.
He doesn't know what the user would choose, so he can't set variable C, but C is needed to trigger an important scene later in the game, so the player will have to start a new game to change A.
This example wouldn't even throw an error in most cases, but if the player doesn't start a new game, the A value will never change, so C will never be set, and the scene where it's needed would never trigger.
Another example would be switched variables: instead of A, like intended, a choice changes B, so A
and B have wrong values, and even if the code is fixed, there's no way to figure out if the save contains the correct (the fixed, or the non-fixed) values.
^ this happened to me in v0.3
The problem with most of those type of games is that they're more or less an early alpha, not even a beta, and in such an early stage of developement it's hard to forsee every little bit of code change, to know every single variable in advance, and then there's human error... (probably the biggest problem).