- Mar 10, 2018
- 145
- 161
JoeBanks One of the things I think you should consider (which would get rid of a lot of my frustrations) would be to allow importing old saves into newer versions.
First of all, the way you currently go about it (making a new folder in the computer's memory for each individual version) is IMO not the ideal way to go about it. I'd add some variable "version number" and just make sure to store that variable in the save file. Then, when loading a save, you can make the first line of code an 'if' statement that checks the version number, and stops the loading process if the version isn't correct.
The benefit of this system is that you can more easily allow different amounts of save importing. For example, say you've changed Ginny's scene, but you haven't changed how you actually get access to Ginny. No reason to make the players redo all that work, then. But, you do want to make them re-do her fucking scene. So how about you do something like this:
Now, this might seem like a lot of work to upkeep and maintain. But in fact, it's actually way simpler than you might think. If you change the version number after every phase, you can just use a series of consecutive IF statements to cascade all the changes you need. Effectively, you can always assume that the person is using a function save from the previous version, so at each step you only have to worry about what you're immediately changing. So it would look something like this:
So, say we have the above code in place, and someone is trying to load a 0.5A save into the currently non-existent version 0.5C. First, the code will look at it, see it's 0.5A, and turn it 0.5B-ready. Then, the code will see it's 0.5B-ready, and turn it into 0.5C-ready. So we're good.
And if we start with a save which is 0.5B compatible, then it won't register as a 0.5A save, and skip that IF. Then it'll go straight to the 0.5B checker, see it's 0.5B, and then change it into a 0.5C-compatible save.
I honestly think this'll really help a lot of your players with some of their frustration, and I also think it'll be reasonable to implement. I'd be willing to help out with it, even. I don't think it's necessary to start doing these retroactively for past versions, but there's no time like the present to start.
First of all, the way you currently go about it (making a new folder in the computer's memory for each individual version) is IMO not the ideal way to go about it. I'd add some variable "version number" and just make sure to store that variable in the save file. Then, when loading a save, you can make the first line of code an 'if' statement that checks the version number, and stops the loading process if the version isn't correct.
The benefit of this system is that you can more easily allow different amounts of save importing. For example, say you've changed Ginny's scene, but you haven't changed how you actually get access to Ginny. No reason to make the players redo all that work, then. But, you do want to make them re-do her fucking scene. So how about you do something like this:
Code:
if(versionNumber = 0.5A) {
# here you'd put things that you want to change to switch a save from 0.4 > 0.5
if(ginny_status = "fucking") {
ginny_status = "interested but not fucking yet"
}
# now, after you're done making all the necessary changes to make this a functional 0.5B save, do the following:
versionNumber = 0.5B
}
Code:
if(versionNumber = 0.5A) {
# do everything necessary to make it a compatible 0.5B save
versionNumber = 0.5B
}
if(versionNumber = 0.5B) {
# do everything necessary to make it a compatible 0.5C save
versionNumber = 0.5C
}
And if we start with a save which is 0.5B compatible, then it won't register as a 0.5A save, and skip that IF. Then it'll go straight to the 0.5B checker, see it's 0.5B, and then change it into a 0.5C-compatible save.
I honestly think this'll really help a lot of your players with some of their frustration, and I also think it'll be reasonable to implement. I'd be willing to help out with it, even. I don't think it's necessary to start doing these retroactively for past versions, but there's no time like the present to start.
Last edited: