[Product Request] RPGMV Real-Time Reloader & Error++ (Test in real-time & better errors handling for

Discussion in 'Product Discussion and Support' started by Killuki Zaoldyeck, Nov 18, 2015.

Thread Status:
Not open for further replies.
  1. Killuki Zaoldyeck

    Killuki Zaoldyeck Veteran Veteran

    Messages:
    221
    Likes Received:
    24
    First Language:
    Spanish
    Primarily Uses:
    N/A
    This is a copy-paste & corrected post of the product request that I did before on "JS Plugin Request" , I'm posting it here because it is a product request directed to RPGMakerWeb rather than a plugin request directed to anyone, and I haven't seen this section before creating this topic. The previous topic can be locked or deleted.

    ---

     ​
    [RPGMV Product Request] RPGMV Real-Time Reloader & Error++
    Don't just reload all the project with F5, have a full control of what you want to reload + RealTime Reload & Continue testing the game after an error happened.
     ​
    RPGMWeb Product suggestion:  For sale at ??$.
     ​

    I am very surprised that this RPG Maker let you continue editing your project while the game is opened, and I did some testings to take advantage of this feature by making an event that transfer your party to a dummy map then transfers back to your original position, and after have done changes on the map, these things have been reloaded after have run that event:

    • Map changes is reloaded, this includes resizing the map and tile changes.
    • Events are fully reloaded, if you have deleted an event, they disappear correctly, also the changes inside them like move routes, messages and so, are also reloaded.
    • New maps are properly detected, the events that transfers you to a new map will run without errors.
    That was nice, right? But is not really what we want, there are many important things that are not reloaded and destroys the advantage of continue editing our project while the game is open.

    What is not reloaded when you save the project changes?

    • Changes inside the database are not reloaded, so for example if you make an event that begins a battle against a new troop without relaunching the game, that event is skipped and the battle doesn't start.
    • For example if you made a treasure that gives Red Potions, and you change it to give a new item called Yellow Potions, it will continue giving you Red Potions instead.
    • Any other change that points to a new thing added inside the Database will likely give you errors, will act as no change has been made or will be skipped.
    • If you created a new event or deleted one and you are transferring to the same map regardless of the coordinates, the game will tell you that an error happened and you will not be able to continue testing the game.
    • More things.
    And why don't just use F5? Because... is like closing and opening the game, everything is resetted and you can't choice what to keep (for example variables, a conversation on a NPC, a battle test, your current position is returned back to default, everything is lost).

    Isn't a shame that we can't edit our game in real time or reload it fully by pressing a key without return back to the start position, neither have a better control of what we want to reload? However I really think that is possible to make a plugin that let you do all these things because the editor is not blocked when you are testing the game!

    So, I'm requesting a new plugin to be for sale on RPGMakerWeb as a new DLC product for RPG Maker MV, such plugin will save a lot of time to all of us. In addition will be a really good idea if the script is developed by more than one scripter from the community.

    What functions should have this plugin? (Note: The following are orientative examples but really useful if all functions are provided).

    • Real-Time Reloader: This function, as name says, reloads in real time any change made on maps, events, database, and anything when a change is automatically detectedWhen you are testing the project while the Real-Time Reloader is enabled, an icon will be displayed in a corner of the game, also will indicate with another icon when the Real-Time Reloader is disabled. This function can be enabled and disabled by pressing a defined key. Note: The plugins can't be reloaded.
    • Event Rewind and Pause!: Have you find a bug in a long event, you fixed it and again you found another bug? Don't test that event from the beginning anymore! The Rewind feature let you rewind the current event running and pause the game completely (like pressing the Pause button but completely unrestricted), so you can fix any issue found, rewind few event sequences, and continue testing the game.
    • Quick Automatic Backup and Backup on Press Key: Did you broke something on the project? Don't worry, this plugin will do backups of all the database and plugins automatically every X minutes defined by you, and you will be able also to do a backup by pressing a key combination. You will define the maximum amount of backups you want, it can be one, ten, or even a hundred, each backup will be stored on a new folder with a name depending on the date, for example "205959 29_10_2015" (Hour and date) and when the limit of backups has been reached, the oldest one will be deleted, you can also choice to don't have a limit if you don't mind about the space. You can restore a backup manually by opening a list of the backups sorted by date.
    • All Reload on Press Key: Instead of reload everything automatically when you save the project, it will reload only when you press a defined key, the difference between F5 and this, is that you are not returned back to the start position and if you are inside a battle it will be restarted, the items from the inventory and game switches are not reloaded, for these reloads you must press another defined key.
    • Only Reload Database, Events, Maps, Switches, Variables or Items: When Real-Time Reloader is disabled, you can also use more keys to reload only the changes made on the Database, reload all maps including the current map, reload all maps except the current one, reload all events includling from the current map, reload all events excluding from the current map, reload all events excluding those inside your view range determined by the resolution size, reload the global and local switches from the events, reload only local switches, reload only global switches, reload only variables, or reload only items from the inventory.
    • Reload specified event ID, Map ID or Database element(s): While you are testing the game, by pressing the Control key or another defined by the user, a bar for enter text will be opened, there by writing a command you will be able to reload only an specified element:
    1. re ev "number" (without quotes) (example: re ev 1 / re ev 1~10 / re ev 1~2 - 4~7): This command reloads the specified event, you can use ~ and - to reload a range of events.
    2. re map "number" (without quotes) (example: re map 1 / re map 1~10 / re map 1~2 - 4~7 / re map ev 1): This command reloads the specified map, you can use ~ and - to reload a range of map. Writing also "ev" will reload all the events too.
    3. re item/magic/class/etc (example: re item 1 / re actor 1~4 / re enemy 1~5 - 6~30 / re skills): This command will reload an specified element from the database, or everything inside the defined category for example Skills.
    4. re var/switch/locswitch/inv (example: re var 1 / re switch 2~10 / re var all / re inv): These commands will reload only all the switches from the game, all variables, a defined switch or variable, or only your inventory. To reload all switches/variables you must write "all" instead of a number.
    • Reload Macros: The plugin includes the option to create key combinations (up to 10) to reload only what you want, you must write the function like you do inside the game, and the key combination, for example in the field "Function call" you write "re plug all" and in the field "Key combination" you write "Alt S" (must write a space instead of +, because "+" can also be defined as any other key, and if you also want use the Space bar inside the key combination, you must write "Space"). You can also include small icons inside the bar (up to 10) which clicking on top of them will reload the defined elements, the user can define which icon from the iconset will be displayed for each macro.
    • Error++: Instead of show a notification of only one error in the center of the screen and block you from do more testings forcing you to relaunch the game, this function will display a popup message on the bottom center showing the errors, also it will show the errors on the console debug, and will continue running the game as much it can by skipping the called functions (for example, if you get an error due try transfer to an unexistant map, it will display the error message on the bottom center of the screen and will skip the map transfer). Also will display a more detailed error notifications, and in addition you will have the choice to automatically save all the error notifications on a external file, so in the case that the game is closed due a severe error (a true crash happened), you can know why it happened.

    And what would be the advantages of such plugin? Why should be ever sold?

    When we are editing our project we can leave bugs, forget to add something, or if we are making a long event like a intro scene and the character has moved too far or found any typo or anything, we must memorize all the things that must be fixed, close the game, do the fixes, save the project, open the game again, and if we found even more mistakes on that event, we must close the project again and do the fixes...

    Or what about if we are using the sideview battle system and Yanfly Battle Engine, and we are making movement sequences for the skills? By default when you save the changes done in the database, you must close/F5 the game for take effect these changes, and considering that do movement sequences by notetags is not always a quick task specially if you want to make amazing sequences, have to close/F5 the game all time is a pain, eats a lot of time...

    And about the errors? Why our players should be interrupted from continue playing the game just due a missing resource like an image or a music? There are some errors that doesn't really prevent the game to continue running and with an informative message about the errors is enough to make our players notify those errors while they can continue their journey.

    So, the advantages of this very extensive plugin will be that we can fix our mistakes or bugs without requiring to restart the game everything we find something wrong, we can experiment with new events without have to restart the game everytime we add something, we can test more quickly our skill movement sequences, the benefits are a lot, and more if we can rewind and pause the game to continue testing the game from the same point when we fixed, added or removed something.

    Thanks to this plugin, everyone will be able to finalize projects more faster, without requiring to relaunch the game just for a small change on a map, new events added, modifications on a equipment or even skill sequences changes, will be possible to reload instantly or by pressing a key every change made, and even would be possible to reload only certain things thanks by the commands provided.

    PS: Sorry about my bad english, if you didn't understood something or you have any suggestion about this request, please let me know it and I will edit this post if necessary.

    EDIT: Removed all functions related with the reload of plugins and edited the "rewind and pause" feature, that feature would be for current events running and not for rewind the entire game anytime (unless is possible).
     
    Last edited by a moderator: Nov 18, 2015
    #1
  2. Zalerinian

    Zalerinian Jack of all Errors Veteran

    Messages:
    4,695
    Likes Received:
    924
    Location:
    The Internet.
    First Language:
    English
    Primarily Uses:
    N/A
    What you're asking for, in some cases, are too unrealistic, especially for such a low price. 

    This is just completely unrealistic. You're asking us to record every action done in the game in the last <arbitrary amount of time>, and the ability to reverse it. That's just not going to happen. The event pause/rewind feature is, by itself, slightly more feasible, but still probably not going to work like you want it to. Even so, you'd only be able to really pause it mid-event, not just at any point you want to undo the event.

    The issue with reloading a plugin is that there is already data for it loaded in the game. Technically, reloading it should reload all the data, but it's also possible that the plugin was built in such a way that it'll just break everything, and then you'd be right back where you started with needing to press F5.

    This is just not going to work. If one line of code is broken, then there are probably several that are broken because of the first broken line. Code executes in a specific order, and if something was broken on the line above, then there's a good chance that this line will rely on that one, and thus also break. And the error could be from a core script in the game, and thus be an irrecoverable error. This would just cause the game to be more and more broken, and it'll become more and more difficult for you to figure out why.

    Constant errors are annoying, yes, but that's really the only way you're going to reliably fix the issues in your project. Forcing the game to continue running on an error will just cause things to break even further, and then fixing the initial issue will become more and more difficult.
     
    #2
    Killuki Zaoldyeck likes this.
  3. ??????

    ?????? Diabolical Codemaster Veteran

    Messages:
    6,264
    Likes Received:
    2,313
    Location:
    Your OS
    First Language:
    Binary
    Primarily Uses:
    RMMV
    Interesting idea. few flaws, but interesting nonetheless. :)
     
    #3
    Killuki Zaoldyeck likes this.
  4. Killuki Zaoldyeck

    Killuki Zaoldyeck Veteran Veteran

    Messages:
    221
    Likes Received:
    24
    First Language:
    Spanish
    Primarily Uses:
    N/A
    Answering by number. And about the price, it was a mistake copied from the previous post and I fixed it while you was writing your message, they can decide the price freely, they are who will sell the product after all.

    1. Maybe is not really necessary to "record" the game, and even if is really necessary, this can be limited to a certain time frame. Yes it was mainly thought for events, in that case, it should be perfectly possible.
    2. I see, then I will remove that feature from the suggestion.
    3. As I explained later, there are some errors that can be skipped and doesn't prevent the game from running, just does "weird things" more known as glitches, normally on the games excluding those created by RPG Maker, when there is a missing graphic for example a character, you just don't see that character and the game continues running, when a damage formula was wrong it just doesn't work or does another unexpected thing, what might crash the game regardless of the engine is when the player is transfered to a map that doesn't exist or an error that can stop the game without crashing it can be for example when you use a skill that doesn't really exist in the game. On Final Fantasy for example, if you use a weapon with a missing graphic, it doesn't tell you "An error has found: Missing file: Masamune.dat" and stops the game, that's really unnecessary, maybe an informative popup message about the error is good but prevent you from continue playing the game is really bad, specially if you can't save the progress anytime, imagine that you are playing during an hour, and due a missing graphic or music the game forces you to restart from the last save. I agree that there can be some errors which can't be really skipped, like a syntax error inside a plugin, but for example if the game calls an inexistant plugin command, that can be skipped perfectly, there is no need to stop the game, is just that RPG Maker is too sensitive to anything and that's a trouble for the players not only for the developers. Also, don't forget that I said that this error++ should display the errors on the console debug (on test mode) and in popups inside the game (test and normal mode), so you shouldn't have too much issues to fix these errors.
     
    #4
  5. Lunarea

    Lunarea Artist Global Mod

    Messages:
    8,847
    Likes Received:
    7,835
    Thank you for your suggestion! I will pass it on to our team and they'll take a look at it. :)
     
    #5
Thread Status:
Not open for further replies.

Share This Page