qchill44

Newbie
Dec 7, 2022
75
54
I came here to "complain" about the game since for the 4th time I have to start from the scratch for practically 1-2 minutes of nothing,,, only to find out others complain about it as well and the developer saying that this is the norm and for each update I/we will have to start from 0 again and again... sorry but I am not a masochist, thanks for the game but no thanks.
 

ich0

Member
Dec 14, 2018
133
71
You answered your own question in your question. Even if I take months to plan things ahead, all the minigames, systems required for X or Y story line, if I forget ever 1 variable for a system that system will possibly unusable, and those months of planning will have been useless.

What I could do for the future is to prepare saves for every version I release, a "skip to content" if you will. But with the relatively small amount of content the game has (you can complete everything in about 2 hours if you're a new playern perhaps less), I didn't think that was necessary.
Maybe I should ask a Question first. What if:
I have one or more List of Events and only add events there. If I change an Event in this by adding a variable, only this event should be corrupted. This can be repaired at the start of the game, the reading of the save or the loading of the event itself.

If you add new Pages or Events, the framework should have no problem with freshly created variables or not?

If you are renaming variables, you have to build a converter and run it before a save is being read by the game.

Unfortunately, I can't say if and how any of this would work with Renpy and how much work this would cause.

Thanks for your time.
 

Insomnimaniac Games

Degenerate Handholder
Game Developer
May 25, 2017
3,889
6,938
You answered your own question in your question. Even if I take months to plan things ahead, all the minigames, systems required for X or Y story line, if I forget ever 1 variable for a system that system will possibly unusable, and those months of planning will have been useless.
I don't know a lot of Renpy, I haven't delved into the code for this game, and you might have already looked into it and decided it's not applicable, but have you tried looking at implementing an "after_load" label that fixes saves? Better explained .

This might not be the solution, but I thought I'd offer it up just in case. If this is stupid, just ignore me and carry on. My Renpy experience only amounts to some light modding.
 
  • Like
Reactions: ich0

Misarmor

Large member
Game Developer
Feb 1, 2023
876
1,532
I don't know a lot of Renpy, I haven't delved into the code for this game, and you might have already looked into it and decided it's not applicable, but have you tried looking at implementing an "after_load" label that fixes saves? Better explained .

This might not be the solution, but I thought I'd offer it up just in case. If this is stupid, just ignore me and carry on. My Renpy experience only amounts to some light modding.
I did, but that didn't seem compatible with how complex some systems are. I use Python classes for example, what happens if I I change a member of a class? Does the entire class get erased? That's stuff I need to look into.
 

Insomnimaniac Games

Degenerate Handholder
Game Developer
May 25, 2017
3,889
6,938
I did, but that didn't seem compatible with how complex some systems are. I use Python classes for example, what happens if I I change a member of a class? Does the entire class get erased? That's stuff I need to look into.
I thought that'd be the case. And that's definitely a question for someone way more knowledgeable than me. I wish you luck on trying to figure it out!
 
  • Like
Reactions: ich0

GetOutOfMyLab

Conversation Conqueror
Modder
Aug 13, 2021
7,837
21,918
I did, but that didn't seem compatible with how complex some systems are. I use Python classes for example, what happens if I I change a member of a class? Does the entire class get erased? That's stuff I need to look into.
Two people have pointed me to this thread regarding saves, so I'll chime in real quick and then peace out.

My Ren'Py port of the game Long Story Short (check my sig) also uses python classes. I've not received any reports of saves going bad since I released it about a year and a half ago, or so. I've had to modify the classes due to various reasons, whether to add new properties or remove something.

Using the Ren'Py after_load label allowed me to do so. An example:
Python:
            # Changes to classes
            if not hasattr(mc, "told_ann_blackmail"):
                mc.told_ann_blackmail = False
            if not hasattr(mc, "ann_late_gf"):
                mc.ann_late_gf = False
            if not hasattr(mc, "ann_late_hate"):
                mc.ann_late_hate = False
            if not hasattr(mc, "chris_status"):
                mc.chris_status = ""
            if not hasattr(mc, "mean"):
                mc.mean = 0
You can also delete if you no longer need a particular property:

Python:
        # Changes to classes
        if hasattr(insta, "triggers"):
            $ del insta.triggers
Hope this helps.
 

Misarmor

Large member
Game Developer
Feb 1, 2023
876
1,532
Two people have pointed me to this thread regarding saves, so I'll chime in real quick and then peace out.

My Ren'Py port of the game Long Story Short (check my sig) also uses python classes. I've not received any reports of saves going bad since I released it about a year and a half ago, or so. I've had to modify the classes due to various reasons, whether to add new properties or remove something.

Using the Ren'Py after_load label allowed me to do so. An example:
Python:
            # Changes to classes
            if not hasattr(mc, "told_ann_blackmail"):
                mc.told_ann_blackmail = False
            if not hasattr(mc, "ann_late_gf"):
                mc.ann_late_gf = False
            if not hasattr(mc, "ann_late_hate"):
                mc.ann_late_hate = False
            if not hasattr(mc, "chris_status"):
                mc.chris_status = ""
            if not hasattr(mc, "mean"):
                mc.mean = 0
You can also delete if you no longer need a particular property:

Python:
        # Changes to classes
        if hasattr(insta, "triggers"):
            $ del insta.triggers
Hope this helps.
I didn't know you could check for class properties this way :unsure: thanks for the heads up!
 

Bober125

Newbie
Sep 22, 2023
18
3
I came here to "complain" about the game since for the 4th time I have to start from the scratch for practically 1-2 minutes of nothing,,, only to find out others complain about it as well and the developer saying that this is the norm and for each update I/we will have to start from 0 again and again... sorry but I am not a masochist, thanks for the game but no thanks.
Well if you read the comments you'd know theres nothing he can do about that, the game saves get corrupted because of the variables. It's literally not even a big deal, you can just skip half the dialogue or read the patch notes of what's new. Don't complain if you don't know what youre talking about. Although, I wish you could skip the first minute of yap in the intro.
 

DD69-1

Engaged Member
Feb 28, 2019
2,247
4,127
Played this game, unfortunately missed the previous versions and started directly from v0-4-1. All the best Misarmor will keep an eye on this one (y) ;)
 
  • Heart
Reactions: Misarmor
2.90 star(s) 54 Votes