Compatibility between versions?

0 votes
asked Jan 10 by kb (1,340 points)
Can someone give me an overview of the current status of this? Is it still the responsibility of the author to manually account for new and depreciated variables, as they release new versions? Or is the process now somewhat automated, somehow?

I haven't really done this before, but I have seen some other projects offer it. The State.variables stringified and the user copies it into a text box that then assigns current variables to the old values. And, fills in the gaps, if there aren't values to fill the new variables.

Is this still the state of things? Instead of having the user play with strings, are there methods to compare save files directly? Any notable projects that do that? Code I could peek at?

I won't be in a position to use it anytime soon. But, I might just put the workings for it in place, while I do get the fundamentals down. So... hint?

1 Answer

0 votes
answered Jan 10 by Chapel (38,150 points)
edited Jan 10 by Chapel
There's no official patching solution for any format to my knowledge.  SugarCube is probably the closest, with various ways to alter save data prior to loading it and the setup object and such.  Generally, though, patching is a complicated process and there is probably not a solution that will satisfy every single game.  Do you have history navigation and tracking turned on?  If not, patching is much more straightforward.  If so, you'll need to iterate over every moment and patch things that way, which is not so easy (but still very possible).
commented Jan 10 by kb (1,340 points)
Sounds complicated!

Yeah, I do have history turned on, limited to 5 states.

But, I might just leave this for now. There's a lot for me to get on with, even before I worry about future versions or future-proofing the current one. Still, thanks for the info!
commented Jan 10 by Chapel (38,150 points)
Let us know when you're ready to cross that bridge and we'll help how we can. Easier with specific examples.
commented Jan 10 by TheMadExile (33,180 points)
I have some rough examples I wrote recently for someone on Reddit, whom has apparently deleted the topic so I can't link to it.  I still have the posts saved though, plus every other one on this topic I've written, so yeah... we can build it, we have the technology.
commented Jan 10 by kb (1,340 points)
Neat. I'll revisit this topic when the time is right. Or I'll just create a new one, if it's too deeply buried. Thanks for the offers!
Welcome to Twine Q&A, where you can ask questions and receive answers from other members of the community.

You can also find hints and information on Twine on the official wiki and the old forums archive.

See a spam question? Flag it instead of downvoting. A question flagged enough times will automatically be hidden while moderators review it.