• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Save Files... breaking?

AmethystRain

pixie-powered judgment!
  • 253
    Posts
    12
    Years
    • Seen Nov 28, 2022
    This has happened to two of my game's players now. I could not recover error messages for the first, but I have for the second. Errors display at game load, and when it tries to load the save file at the NewGame/Continue screen, I get the following string of errors:

    Immediately on playing:

    https://prntscr.com/d4j83
    https://prntscr.com/d4j8r
    https://prntscr.com/d4j9g
    https://prntscr.com/d4ja0

    After compiling/prompting to add Trainers:
    https://prntscr.com/d4jbq
    https://prntscr.com/d4jcr
    https://prntscr.com/d4jde
    https://prntscr.com/d4jdu
    https://prntscr.com/d4jej
    https://prntscr.com/d4jfk
    The program then closes.

    The problem is confirmed to be with the save file. i.e I had the more recently player in question send me his save file, and I get these errors as well, whereas with a previous version of his save file (though in the same playthrough) I did not (and nor did he).

    The first person this happened to was playing my game's second demo, which was on Essentials v7. His file was both started and corrupted in the second demo, and v7.
    The second person this happened to, and source of the above images, began the file in my third demo (beta-testing), which was on Essentials v8. Accordingly, it was also corrupted within v8.

    In other words, something corrupted the save file, as far as I can understand, and while I realise it may not be reversible, I would like help decoding these messages so I can learn why or what's causing it, and hopefully prevent the same from happening to future players.

    Any insight would be lovely...
     
    I would say you've used someone else's script that loads something... But you've put it in the wrong place or removed something accidentally when adding it... Have you touched the load script?
     
    You were asking a while ago about support for pre-v6 save files, which I suspect means you've tried to do something about it yourself (the term oldsave in the error messages definitely states you've done something to that effect). I strongly suspect this is your problem.

    You haven't given us some important information. Does the error occur for anyone who started their game in your demo 1 (pre-v6)? Does the error occur for everyone who started their games in your demo 2 or later, or just some cases? How soon after starting their game does the error occur (the very next session, or a random later time)?

    Your old save file support scripts are likely to blame. I can only speculate on what's happened, but I think they've applied themselves to the new save files as well, and botched them up. I think those save files are corrupted beyond repair, unless you can reverse engineer what your scripts have done to them. Without knowing specifics, of course, it's hard to say anything.

    I should say that I've had a bit of a think about how to do support for pre-v6 save files (only because you've asked; it's not something I'll be putting into Essentials), and I think the best way is to create a full new set of save information in the new version, and then overlay the old information onto it (plus a few tweaks afterwards). I have no idea how to do that overlaying, though, aside from the obvious/impractical/utterly tedious "do them all individually" (it needs to be a complete overlay for it to be generalised). If anyone can suggest how the variables/arrays within a class can be procedurally overlaid onto another copy of the same class (with the latter having additional variables/arrays which need to remain as is), please let me know and my desire to actually do it (for Amethyst, so long as she promises to share with everyone) may well return.
     
    Yeah, I'm afraid you've missed the mark. I haven't touched the load or save scripts for my own project- only for what I had sent you for the potential converter. I made quite sure I didn't get those mixed up as well. You may remember how sheepish I am when it comes to this scripting- I don't dare touch anything that I don't know what I'm doing with. XD
    The load scripts are virgin. In regards to the save support-
    Quick outline for reference
    My first demo was v6
    Second was v7
    Third in testing now is v8.
    I asked all my players to reset their save files between the first and second demos. They understood, and I promised I'd do what I could to make sure that wasn't necessary again.
    So pre-v6 isn't a factor here. And in fact, we're not dealing with save files that have ever seen v6 itself at all. One was in v7 and broke in v7. This was in v8 and broke in v8. There aren't any modifications to the scripts.

    In regards to your other questions, it's only happened for these two so far. I had hoped the first was an isolated incident, but this second time tells me it's not. It definitely doesn't happen for everyone. It's also not the just the next session- so a random later time, as far as I can tell.


    ...
    So I just asked this person in question for any more details and he just told me what could potentially be a very relevant factor:
    Ame: I had to post a question about your save file. It's definitely a problem with your save itself.
    Ame: So this is a bit concerning.
    Him: oh so it was an issue with the save
    Ame: Do you have any clues as to what you might've done before you saved the previous time? Any idea what was on your team, what your playtime was, what point in the game you were at... anything that might have seemed odd to you?
    Ame: Yeah.
    Ame: I get the same errors when I load it
    Him: my team was
    Him: Charmeleon Pachirisu Meowth Togepi Rattata and uhhh Ralts
    Him: I had just saved Obsidia ward i think ((This is a notably sized, very event-heavy map connected to several others))
    Him: and i think the last save was right before fighting Zel
    Him: cause i forgot to save i think
    Him: when i finished
    Ame: ...So you closed the game without saving it at somepoint?
    Him: I turned my computer off with the program running actually
    Ame: I see... That could definitely be relevant. Thanks.
    Him: if anything i think you could maybe blame that cause that haddnt happened when i decided to just close the program with out saving
     
    The two erros are in the same game city? The only thing that I can think (I am probably wrong) is about too many events/connections that can raise the memory error and/or system concurrence problems occurrences.

    I should say that I've had a bit of a think about how to do support for pre-v6 save files (only because you've asked; it's not something I'll be putting into Essentials), and I think the best way is to create a full new set of save information in the new version, and then overlay the old information onto it (plus a few tweaks afterwards). I have no idea how to do that overlaying, though, aside from the obvious/impractical/utterly tedious "do them all individually" (it needs to be a complete overlay for it to be generalised). If anyone can suggest how the variables/arrays within a class can be procedurally overlaid onto another copy of the same class (with the latter having additional variables/arrays which need to remain as is), please let me know and my desire to actually do it (for Amethyst, so long as she promises to share with everyone) may well return.
    Code:
    begin
      newload
    rescue
      oldload (initialize/change some new variables)
    end

    Example: Every new pokémon object have the movieStatus, but the old ones don't. So in PokeBattle_Pokemon put the method:

    Code:
    def movieStatus
      @movieStatus=0 if !@movieStatuss
      return @movieStatus
    end
     
    I've been a bit concerned about that, even if it isn't the cause of these issues in particular. I'm also not sure if that's an entirely legitimate concern, but yes, it is in the same city, because so far my entire game takes place in one giant city. XD

    Occasionally players report crashes at random or lag at connection points but the former are seldom replicated and the latter, well, I know there's not much to be done about that.
     
    I've been a bit concerned about that, even if it isn't the cause of these issues in particular. I'm also not sure if that's an entirely legitimate concern, but yes, it is in the same city, because so far my entire game takes place in one giant city. XD

    Occasionally players report crashes at random or lag at connection points but the former are seldom replicated and the latter, well, I know there's not much to be done about that.
    My game too have only a big city XD

    Maybe it is because city size, maybe isn't. A tip: Use gate houses, like in all Saffron City entrances.
     
    A tip: Use gate houses, like in all Saffron City entrances.
    Or just have teleports between different areas. Castelia City does that with its streets. In a way, I think this would be better, because it more obviously divides up the areas of the huge city, and gives a better sense of progress (i.e. entering a new area rather than continuing in the same area).
     
    I'll look for opportunities to put those in. So far I've tried to refrain though because I've been making the game to match this map which I drew for it.
    But that's my problem, not Essentials'. xP

    If we're going with the story of size is the issue, I'll start looking for ways to par it down. Thanks
     
    Back
    Top