Resetting Game progress to an earlier point of time: Thoughts?

CraneSoft

Filthy Degenerate
Veteran
Joined
Apr 16, 2016
Messages
110
Reaction score
94
First Language
English
Primarily Uses
RMVXA
Now I've heard about implementing New Game+ without the use of a script, which basically just involves resetting all the necessary switches and variables to their initial/fresh states, but I can't seem to get my head around how to reset to an earlier part of the game instead of the beginning (similar to loading an earlier pre-determined save point). This is problematic in RPGs with an in-game time limit/calendar that uses timed events and players need an option to rewind time to an earlier point as to not put themselves in unwinnable situations due to bad time management - but their progress had to be reset as well (all the quests completed in that time frame, items/money obtained etc) to some degree to balance things out.

One good example would be the Persona games that gives you the option to go back a week in the in-game time should you fail to clear the dungeon before the deadline, but undoes all the progress you've made over the course of the resetted week.

I was wondering if this can be realistically done with RM's eventing without making it a horrible mess.
Any thoughts would be appreciated.

P.S. I was looking for opinions for the idea in general because this isn't maker specific but can consider moving this to support if deemed inappropriate for this section.
 
Last edited:

TheoAllen

Self-proclaimed jack of all trades
Veteran
Joined
Mar 16, 2012
Messages
4,698
Reaction score
5,371
First Language
Indonesian
Primarily Uses
RMVXA
The first question is "What RM do you use?".

I have implemented a battle retry which effectively "rewind" the battle. All item you have used is refunded, and you get back to the state when you started the battle. And I would say, that's quite tricky but worked. It can be done by script, but I doubt it can be evented, at least not without causing a huge mess. So your realistic choice would be requesting for script/plugin.
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
1,483
Reaction score
986
First Language
English
Primarily Uses
I'm not sure that it could be done easily with eventing, but using Ruby or Javascript in VX Ace/MV you could probably write a progress-caching class which stores every notable thing the player has done/all events that have happened along with a timestamp. Then when you reset to an earlier time, just filter the progress cache on which elements have a timestamp later than the reset time and "undo" them.
 

CraneSoft

Filthy Degenerate
Veteran
Joined
Apr 16, 2016
Messages
110
Reaction score
94
First Language
English
Primarily Uses
RMVXA
The first question is "What RM do you use?".
VXAce user here, currently I am aware of a script which create a save state of sorts saving database information such as gold, items, weapons etc as well as all actor-related data and allowing you to reset them with a script call when you need them. It doesn't save event information such as variables/switches data however, and thats the part where eventing would get me nowhere.

I'm not sure that it could be done easily with eventing, but using Ruby or Javascript in VX Ace/MV you could probably write a progress-caching class which stores every notable thing the player has done/all events that have happened along with a timestamp. Then when you reset to an earlier time, just filter the progress cache on which elements have a timestamp later than the reset time and "undo" them.
Timestamps seems the most plausible way to achieve this in theory, though whether they are saved in that particular savefile or being a global timestamp might be another issue altogether. Thats an interesting idea though I have yet to see anyone had wrote that before.
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
1,483
Reaction score
986
First Language
English
Primarily Uses
If I were writing it I'd make it particular to the save file, like a "number of milliseconds since the game started" sort of thing.
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
38,482
Reaction score
12,026
First Language
English
Primarily Uses
RMMV
You're going to end up with a massive save file if you're going to save "the game" at different stages within a single save file.

In addition to everything in the default game objects (the stuff that gets saved), you'll also have to take into consideration any scripts/plugins that may save their own data. My Remember Event Positions and Extended Game Timers, for example, would both have data that goes into the save file, which you would want to capture at that point in time.

What kind of opinions on the idea are you after? Because, so far all of the replies have been "how to implement" so unless you can direct it to some kind of discussion of the mechanic itself, this will end up being moved to the support forums.
 

Kes

Global Moderators
Global Mod
Joined
Aug 3, 2012
Messages
21,611
Reaction score
10,924
First Language
English
Primarily Uses
RMVXA
@Shaz How right you were!

@CraneSoft I am going to move this straight to Script Requests, as I do not believe that this can be done by pure eventing. If you receive advice showing that I am wrong, please Report this post and ask for it to be moved to RPG Maker VX Ace.

I've moved this thread to RGSS3 Script Requests. Please be sure to post your threads in the correct forum next time. Thank you.

 

Sixth

Veteran
Veteran
Joined
Jul 4, 2014
Messages
2,136
Reaction score
806
First Language
Hungarian
Primarily Uses
RMVXA
I don't get the issue here.
Basically, you just need a point of return system, which is just one point, the point when the player started that time-limited thing.

You can just make an extra "save file" (just the data of it, you don't actually need to save it on the HDD) inside the real save file, and make sure to delete this data when the quest ends or restarts. I highly doubt that this will cause a massive increase in the size of the save files (it will double the size at max), unless your save files are gigantic in size already, in which case you may want to revise what is saved in these files (but that's another issue, so won't mix it in here).
Even if your save file size gets to 10 MB (and I have never seen an RPG Maker game reach that size yet), it's still not much compared to some games I played (even some AAA games got huge save files).

There is no other way to do this other than manually get the data that needs to be saved, but even than, you would end up saving the exact same things just with more hassle. Usually, scripts save only the data that needs to be saved in the save file, and you would do the same with this manual method, so there really is no point in doing it manually.
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
38,482
Reaction score
12,026
First Language
English
Primarily Uses
RMMV
@Sixth, what if the player wants to close the game between point A and point B? You would need the point A version saved so it can be reloaded if necessary after resuming.
 

Roninator2

Gamer
Veteran
Joined
May 22, 2016
Messages
1,878
Reaction score
410
First Language
English
Primarily Uses
RMVXA
The only thing I can see to add onto Sixth statement is that you will have to ask for a script to be made if you want to have more than one 'autosave' file for different stages (just so that the player could go back to the first save if they started the second save scenario).
But I would say use an extra save file. Or two, three etc.
Have your save files limited to 15 let's say, and your auto save would start at maybe 20.
You would have to keep track of which save file is for what scenario and delete the save file when the mission is complete.

Of course if you want just one autosave file, there are scripts for that which could work.
 

TheoAllen

Self-proclaimed jack of all trades
Veteran
Joined
Mar 16, 2012
Messages
4,698
Reaction score
5,371
First Language
Indonesian
Primarily Uses
RMVXA
@Sixth, what if the player wants to close the game between point A and point B? You would need the point A version saved so it can be reloaded if necessary after resuming.
You're going to end up with a massive save file if you're going to save "the game" at different stages within a single save file.
And this is basically Sixth response and I agree with him.
You can just make an extra "save file" (just the data of it, you don't actually need to save it on the HDD) inside the real save file, and make sure to delete this data when the quest ends or restarts. I highly doubt that this will cause a massive increase in the size of the save files (it will double the size at max), unless your save files are gigantic in size already,
So, the "save point" is saved inside that particular save file, i.e, doubling the size. I dont see the issue myself here. I exactly did what sixth said.
 

Sixth

Veteran
Veteran
Joined
Jul 4, 2014
Messages
2,136
Reaction score
806
First Language
Hungarian
Primarily Uses
RMVXA
@Shaz
Still don't see the issue.

You save the game data at a certain point and include that save point (with ALL data that is necessary for a saved game) inside the real save file.
This means that the player can even save the game, close it, go to sleep, wake up, do other things, come back in 3 days, load the game, and the saved point will still be there just as it was when the player saved the game.

And when this save point data needs to be loaded for whatever reason (time limit is gone, failed quest, etc), you can simply use a script call that loads the data from this saved point. The data is the exact same like for a real save file, so doing this should be pretty easy.
This will revert any changes that happened after the saved point.

There is no point in saving multiple of these points, at least I can't see any practical or functional reasons for it.

Edit:
Ohh, so many ninjas! O_O
 

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
12,605
Reaction score
12,923
First Language
English
Primarily Uses
RMVXA
The easiest way I see to do this, is to make an Autosave when they hit that point that the player cannot erase or load on their own (maybe hide it somewhere else), and if they fail have the game offer to auto-load it. This might get problematic if many are playing the game at once, but overall that is how I see to do it.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

So my office building has 8 individually rented offices in it; 3 of which are social workers and 2 are marriage therapists... Unsurprisingly it always sound very angry out there. Glad I have my own private entrance. :LZSexcite: :thumbsup-right:
I wonder if there's ever been an art challenge that involves drawing faces from the generator.
I'm sorry about earlier. I have the most hate and the most love for my art at the same time. Felt bad about my thread because I wasn't listening, and because I made it out of a bad mindset to begin with. S'another Thursday for me.

The main character of the book)

Forum statistics

Threads
94,368
Messages
920,349
Members
124,134
Latest member
scrollstorm
Top