New Game+ (Time Warping)

Would you like a native New Game+ feature?

  • Yes

  • No

  • Yes but I currently have no plans to use it


Results are only viewable after voting.

BubbleMatrix82

Norm Rejecting Black Sheep
Veteran
Joined
Feb 10, 2017
Messages
163
Reaction score
69
First Language
English
Primarily Uses
RMMV
Description of the Feature:
  • A new menu in the engine that allows game makers to trigger a game refresh (probably an event call like how show save menu screen is handled) and what can be carried over (i.e. Weapons, levels, spells, switches, variables, etc.)
  • This could function like it does in Parasite Eve (beat the game and repeat from start) or like it does in Lightning Returns (interact with something and opt in to starting the story over) or both.

Code for Implementation:
No code given but it's just a matter of carrying over variables and states that are selected in the engine, shouldn't be too hard to do really.

Mockups:
Click new button on engine GUI. Button opens menu that has assets that could be carried over (items, weapons, spells, variables, switches, etc.). Option for new game plus to be forced or opt in is added. Ticked boxes and entered ranges of assets apply to event place when applied. In game, event can be triggered as win/lose condition, as a talking to NPC event, as a menu item, or even as an enemy attack (amnesia for an example). The main idea is it starts you back at the beginning of the story script with specific stuff.

Why is this feature good?
This feature is great because of the following:
  • Adds replay ability and value
  • A feature underutilized in JRPG genre
  • Can create different stories in second playthroughs

Possible issues with this feature?
Issues that might arise from this feature:
  • Can't think of any issues other than scripts probably exist already for this, but building it INTO the engine would increase the amateur game maker appeal and increase RPG Maker MV's overall appeal to paying more than $40 for it and making less cookie cutter games.
 

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
13,522
Reaction score
14,255
First Language
English
Primarily Uses
RMVXA
While this isn't a bad idea, can you tell me what this would add which cannot be already done with good eventing? All you have to do to simulate a new game+ mode is once you roll the credits, transfer the player back to the start of the game, reset the variables which need to be reset (same with switches), and you're good to go. Actor levels can be reset via the initialize button if you wish that to be done too.

Though...maybe we'd need an easy way to reset all self switches on a map too. Hmmm....
 

BubbleMatrix82

Norm Rejecting Black Sheep
Veteran
Joined
Feb 10, 2017
Messages
163
Reaction score
69
First Language
English
Primarily Uses
RMMV
I only have about 2 to 3 hours a week to work on my projects. The last thing I want to do is have to heavily edit plugins, parallel processes, the database, or create a common event that could do something that is offered in the engine/editor directly as a native tool.

My idea is to have the new game+ option available as a new menu in the database and have "retained assets" be created. It could cut down a LOT of manual coding. And to further integrate it into the editor, the items/weapons/spells/heroes/etc can have a new tick box for "Locked" option so we can make things not able to be moved from current game to the new game. Otherwise, without this feature, keeping track of it all without the GUI would require a notebook and a common event running in the background that remembers the starting game state (switches, variables, Player X, Player Y, self switches, NPC pages, etc) and restoring it upon new game plus. That's a LOT of work!

My idea basically is taking data forward, but starting over. It definitely would work best at the engine level and not wasting a bunch of variables/switches to do it.
 

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
13,522
Reaction score
14,255
First Language
English
Primarily Uses
RMVXA
You DO know that its heavy editing either way, right? This is not something that can be automated or easy on the user side either way, as you have to set up everything that carries over somehow, one way or the other.

I've actually been pondering ideas for how this could be coded (I do a little coding), but still blank. I'll post an idea for that if I have more. Still, just remember, everything takes set up time, whether in the editor or in a plug-in. And sometimes, that set up time might honestly be lower in a plug-in.
 
Last edited:

BubbleMatrix82

Norm Rejecting Black Sheep
Veteran
Joined
Feb 10, 2017
Messages
163
Reaction score
69
First Language
English
Primarily Uses
RMMV
You DO know that its heavy editing either way, right? This is not something that can be automated or easy on the user side either way, as you have to set up everything that carries over somehow, one way or the other.

I've actually been pondering ideas for how this could be coded (I do a little coding), but still blank. I'll post an idea for that if I have more. Still, just remember, everything takes set up time, whether in the editor or in a plug-in. And sometimes, that set up time might honestly be lower in a plug-in.
I whole-heartedly agree with it being a lot of work, but work in the GUI tick'ing boxes and using sliders is a heck of a lot less work trying to use the GUI than nesting tons and tons of IF/Then statements to make it work. You see, hobbyist or future entrepreneur alike, neither want to make a game in JavaScript if they don't have to. And neither want to spend hours in dark forums looking for plugins that do what you want (the fact there's not centralized repository for plugins is a REAL bother), so having it built into the GUI/editor and tracked at the engine level (as a snapshot of preferred data) would be ideal. Or as a carryover variable at least (mentioned at the end).

Honestly, the only way this New Game + could work right now is to have a parallel event take a screenshot of EVERY variable/switch/item/magic/hero in the game and store it into variables as "default values". Then it would need to remember the starting values of all NPC's, all self switches, all DB switches, and all variables and then you would need to have an excel spreadsheet (outside the game) to know which of these values can be carried forward to NG+ and which need to be reset to the default values.... And by doing all this in the engine/editor, it is going to make your 10 hour game shrink to a 2 hour game since you have CLOGGED variables/switches that you now cannot reuse without hacking the game and making the variable limit and the switch limit lifted...

Perhaps the easiest implementation of knowing if New Game + was triggered would be to have a Boolean (Played once) and a variable (Times reset). But again, this really just clogs up valuable designer resources if it can't be done using an internal value instead of our designer values. The only other solution would be to take the limitations off of the engine. Back in my Don Miguel's RPG Maker days 15 years ago I remember a mod that would lift the variables and switches to 65,554 or something like that. The game had no profound impact on my computer doing such. So I know it's doable, it's just not implemented because of politics and "practicality" of it's use. But now I think I found one.

The only final option that I think could fix this a 3rd state for programming. We have Booleans, and we have numerical variables, but if the engine can have another large set we can manipulate then perhaps we could get creative with coding it. Maybe call it "carry over" variables where it impacts all game saves, including new ones? That would eliminate the need for New Game+ but would make community/family playthroughs way more interesting if the game saves could interact in some way like that.

Anyways, this is just me brainstorming like Peter Molineux would; I'm not a programmer or coder, I'm admittedly a designer. It's up to programmers/coders to tell me what IS possible and what isn't.
 

Sarlecc

Veteran
Veteran
Joined
Sep 16, 2012
Messages
453
Reaction score
211
First Language
English
Primarily Uses
RMMV
I believe there are some plugins out there that allow for this. So for me at least I am not sure if having a built in newgame+ is really necessary.
But do note I am looking at this from a complete programmers viewpoint. That being said how something like this could be done:
1. In the editor you would select say what switches you want to keep upon newgame+:
* The ids of which get stored in an array.
2. When the player hits the newgame+ their save gets loaded and checked for said switches (this needs to happen after the initialization of the game objects):
* values of which get saved to $gameSwitches.

My achievement plugin does something very similar when loading global achievements.

Why would you need a parallel event to record the default values for? You don't need to do that when starting a normal new game and typically with a newgame+ you only want to keep certain data (which is already stored in the players save). Unless I am misunderstanding you.

Also game variables can hold any type of value not just numbers. :)
 

BubbleMatrix82

Norm Rejecting Black Sheep
Veteran
Joined
Feb 10, 2017
Messages
163
Reaction score
69
First Language
English
Primarily Uses
RMMV
I don't know a lick of JavaScript, I assume most casuals are the same way, so for me, the variables are limited to what the gui does. And my "coding" is limited to what I can make the events in parallel process events do alongside common events. So for a casual game maker, the gui needs to do more. From a programmer, the gui probably gets in the way. Yin/Yang.
 

Sarlecc

Veteran
Veteran
Joined
Sep 16, 2012
Messages
453
Reaction score
211
First Language
English
Primarily Uses
RMMV
Making a gui to do certain tasks though, can quickly become complex for those designing it; which in turn can introduce more bugs for the program. For example creating JavaScript objects in a gui (and allowing for the same level of complexity that you can have without a gui): You now have a much more complex program for the sole purpose of doing something like:
Code:
var obj = {};
obj.string = 'Hello World';
Anyway for this suggestion since the only thing you would need to do is save the ids of whatever you want to load upon a newgame+, I believe it would be (gui wise) a fairly simple addition albeit an unnecessary one.
 

BubbleMatrix82

Norm Rejecting Black Sheep
Veteran
Joined
Feb 10, 2017
Messages
163
Reaction score
69
First Language
English
Primarily Uses
RMMV
Unnecessary to a Final Fantasy game, yes. I don't know of any FF games in the 2d era to use NG+. SQUEENIX's first NG+ Game was parasite eve psx generation. I don't think Dragon Quest ever used it either. From a story telling standpoint, NG+ is useless. But from a game mechanic stand point, new game plus is one of the more interesting features a person can implement, especially in a "your choices matter" game.
 

Engr. Adiktuzmiko

Chemical Engineer, Game Developer, Using BlinkBoy'
Veteran
Joined
May 15, 2012
Messages
14,682
Reaction score
3,003
First Language
Tagalog
Primarily Uses
RMVXA
Honestly, the only way this New Game + could work right now is to have a parallel event take a screenshot of EVERY variable/switch/item/magic/hero in the game and store it into variables as "default values". Then it would need to remember the starting values of all NPC's, all self switches, all DB switches, and all variables and then you would need to have an excel spreadsheet (outside the game) to know which of these values can be carried forward to NG+ and which need to be reset to the default values.... And by doing all this in the engine/editor, it is going to make your 10 hour game shrink to a 2 hour game since you have CLOGGED variables/switches that you now cannot reuse without hacking the game and making the variable limit and the switch limit lifted...
It's not really hard to do or add to the engine but they can only make a very basic NG+ if they would really add it as default. It will be like

- Carry Items
- Carry Gold
- Carry Levels
- Carry Equipment

Then an option to set how to determine which save file can be used as a base for the NG+
 
Last edited:

BubbleMatrix82

Norm Rejecting Black Sheep
Veteran
Joined
Feb 10, 2017
Messages
163
Reaction score
69
First Language
English
Primarily Uses
RMMV
Actually, since every variable is 0 at the start of the game and every switch is false at the start of the game, if you go the evented route, all you need to do is set every variable back to 0 and every switch back to false. If items will be carried over, then you don't need to do anything else since you're not resetting the party, same goes for character levels.
How does one mass revert all variables, all self switches, all switches, and start the game over from the beginning? Is there a way to change ranges or would it have to be an incremental loop?
 

Engr. Adiktuzmiko

Chemical Engineer, Game Developer, Using BlinkBoy'
Veteran
Joined
May 15, 2012
Messages
14,682
Reaction score
3,003
First Language
Tagalog
Primarily Uses
RMVXA
I edited my post btw.. XD

Anyway if you wanna know about the reset, using a very simple JS code (that can fit the Script Call event command so no need to make it as plugin), you can loop thru all variables (and switches and self switches) and reset each of them to a certain value.

The only problem with a default NG+ is on how will it save/carry over data that is specific to the plugins of each project. Which is why I said that if this will be done, it will be a very basic NG+
 
Last edited:

Sarlecc

Veteran
Veteran
Joined
Sep 16, 2012
Messages
453
Reaction score
211
First Language
English
Primarily Uses
RMMV
You would do for example $gameSwitches = new Game_Switches(); This effectively resets all game switches.
 

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
13,522
Reaction score
14,255
First Language
English
Primarily Uses
RMVXA
No JavaScript required. Go to the editor, select control switches, then check range, enter 0001 - whatever your max is, set them all to OFF. All done.
 

BubbleMatrix82

Norm Rejecting Black Sheep
Veteran
Joined
Feb 10, 2017
Messages
163
Reaction score
69
First Language
English
Primarily Uses
RMMV
Can self switches be done the same way? What about variable values, can they be reset to 0 too using a range like that?

EDIT:
I'd still take a very basic NG+ that can be expanded to lay down the groundwork than not have the feature available at all.
 

Sarlecc

Veteran
Veteran
Joined
Sep 16, 2012
Messages
453
Reaction score
211
First Language
English
Primarily Uses
RMMV
Self switches can't, variables can using @bgillisp method. Using the method I posted works for all game objects.
 

BubbleMatrix82

Norm Rejecting Black Sheep
Veteran
Joined
Feb 10, 2017
Messages
163
Reaction score
69
First Language
English
Primarily Uses
RMMV
Self switches can't, variables can using @bgillisp method. Using the method I posted works for all game objects.
Yeah, but your method requires understanding JavaScript. Also it requires understanding how the RPG Maker engine works on a technical level instead of just on a theoretical level. There's a massive learning curve in going from no JS knowledge to having some. I taught myself HTML 4.0 in 1998 but that's just a markup language, there was no logic or flow concerns, it was just opening and closing tags, not the same as coding.

You know what we need, we need a game that teaches people JavaScript.
 

Engr. Adiktuzmiko

Chemical Engineer, Game Developer, Using BlinkBoy'
Veteran
Joined
May 15, 2012
Messages
14,682
Reaction score
3,003
First Language
Tagalog
Primarily Uses
RMVXA
Yeah, but your method requires understanding JavaScript.
Actually (if you just want to focus on getting things done as-is), his method is plug and play. You just need to copy his code and that's it, no need to learn why or how it works.

If you're really serious in game dev, sooner or later you will need to dabble with coding. It could be thru a team member who knows how to code or you learn to code by yourself. You need to put effort on your side, a very large effort. You can't expect to be making a good game after a few months of dabbling with a game creation software while whining about how things make you need to learn a bit of coding.

But for this very simple request, I think it's totally doable and won't really clutter the engine if they implement it.

Also it requires understanding how the RPG Maker engine works on a technical level instead of just on a theoretical level.
I actually recommended doing so, it will be super helpful if you actually did.

Now if you just wanna focus on being a "designer", then you should start thinking about finding a full development team.
 

BubbleMatrix82

Norm Rejecting Black Sheep
Veteran
Joined
Feb 10, 2017
Messages
163
Reaction score
69
First Language
English
Primarily Uses
RMMV
My goal with all of my suggestions are how to get more "casuals" to adopt and use the editor/engine. The problem (as I see it) is that when people buy RPG Maker, they buy it with the initial intentions to make a game that is nothing like what they played. The only way to do that is to have options built in that deviate from the "normal" JRPG equation so they can play with it. Kind of like merging two lego sets together to see if you can make a dragon (albeit a very ghetto, not uniform colored dragon).

I agree, just taking someone else's plugins, someone else's scripts, and someone else's work and just merging it with your own without crediting them is a very great way at getting things done; but I argue that most people are going to feel wrong doing that if they want the glory and achievement of figuring it out themselves.

Having a NG+ built into the engine makes it "feel" like you bought that feature and you can use it. Having to take other people's work and use it without paying for it feels like "stealing" to some people, so we can't always treat this editor/engine like it is a bike mod shop. Some people just want to work with the OEM and see what they can do with it (without any previous coding knowledge, of course).
 

Engr. Adiktuzmiko

Chemical Engineer, Game Developer, Using BlinkBoy'
Veteran
Joined
May 15, 2012
Messages
14,682
Reaction score
3,003
First Language
Tagalog
Primarily Uses
RMVXA
without crediting them
That is so wrong, when you use materials made by other people (assuming they allow it), you give them credit.

Now if you mean credit as in money, most scripters do this for free and it's entirely fine. There is really no reason to feel bad for using something that they made for you to use. It will actually make the scripters feel bad if no one uses their scripts. Imagine if you make a game and no one plays it, feels bad right? That's the same for us scripters. We make resources for people to use, so we do want people to use them.

And the main reason why RM is still alive right now imho is because of how the community works together to solve problems and provide new ways to do things with the engine.

Also, if you dabble long enough with the engine and play with it, you will realize just how much things you can do with the default features. I've been using RM for maybe half a decade now and everyday I still learn something new that I didn't know was possible with just the default options.

they want the glory and achievement of figuring it out themselves.
Then wouldn't it be more of an achievement if you actually managed to make the NG+ system yourself?

Anyway, it's doable but it might have implications on how the engine currently works.
 
Last edited:

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

Latest Threads

Latest Profile Posts

I should realize that error was produced by a outdated version of MZ so that's why it pop up like that
Ami
i can't wait to drink some ice after struggling with my illness in 9 days. 9 days is really bad for me,i can't focus with my shop and even can't do something with my project
How many hours have you got in mz so far?

A bit of a "sparkle" update to the lower portion of the world map. :LZSexcite:
attack on titan final season is airing tomorrow, I'm excited and scared at the same time!

Forum statistics

Threads
105,882
Messages
1,017,230
Members
137,607
Latest member
Maddo
Top