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

CraneSoft

Filthy Degenerate
Veteran
Joined
Apr 16, 2016
Messages
251
Reaction score
378
First Language
Not 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
5,599
Reaction score
6,552
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
2,604
Reaction score
1,961
First Language
English
Primarily Uses
RMMV
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
251
Reaction score
378
First Language
Not 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
2,604
Reaction score
1,961
First Language
English
Primarily Uses
RMMV
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
40,108
Reaction score
13,713
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

Veteran
Veteran
Joined
Aug 3, 2012
Messages
22,299
Reaction score
11,713
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.

[move]RGSS3 Script Requests[/move]
 

Sixth

Veteran
Veteran
Joined
Jul 4, 2014
Messages
2,162
Reaction score
823
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
40,108
Reaction score
13,713
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
2,674
Reaction score
566
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
5,599
Reaction score
6,552
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,162
Reaction score
823
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
13,528
Reaction score
14,261
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 Profile Posts

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.
Can someone recommend some fun story-heavy RPGs to me? Coming up with good gameplay is a nightmare! I was thinking of making some gameplay platforming-based, but that doesn't work well in RPG form*. I also was thinking of removing battles, but that would be too much like OneShot. I don't even know how to make good puzzles!
one bad plugin combo later and one of my followers is moonwalking off the screen on his own... I didn't even more yet on the new map lol.

Forum statistics

Threads
106,035
Messages
1,018,454
Members
137,821
Latest member
Capterson
Top