Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Hello IkariMan,

Thank you for reporting this in! We took a detailed look at the Roguelike Dungeon and along with the bug you reported found two others that were affecting the 

  • Variables 10 and 11 which contain the data for the Node Map and the Adjacency paths gets wiped if you load from a save because they are Javascript objects that were not serialized in a format that RPG Maker knows how to load. As a result when you load from a Save and attempt to move, there is no data in those variables to access resulting in a crash.
  • Randomization issue with the Nodes which carries over across runs in a given save file. Not only do the Nodes not properly change each run but all non-fixed Nodes on a Floor will eventually turn into Chests.
  • Max Mana bonuses do not clear when you retreat, die in or clear the Dungeon. As a result you can keep stacking the Solo Bonus to grant your party leader a much higher amount of Max Mana than what they should be starting out with.

These issues can all be fixed, but they will need significant edits to script call blocks within various Map and Common Events. If you would be willing to wait for the next update, these fixes will be implemented to the updated Demo Project. However, if you need these changes now and are willing to do them manually, please follow these steps:

1. In the Demo Project, open the Database to the Common Events tab and open  #13 FloorStart. You'll see pairs of script calls within if statements that are responsible for doing the generation of the Node Map and Adjacency Paths for each Floor (under the comments "//Creating the Map for Floor 1", "//Creating the Map for Floor 2" etc.).

In the first script call block of each set, add the following statement at the end:

$gameSystem._adjMap = JSON.stringify(Array.from(adjMap));

In the second script call block of each set, add the following statement at the end:

$gameSystem._nodeMap = JSON.stringify(Array.from(nodeMap));

The result should look like the images below. Please hit Apply to save these changes before moving to the next step.

2. In the same Common Event, scroll down to the script call block under the comment labelled "//Activating the Events on the Floor Map". Open this script call block, copy the contents of the block below and paste over the one in the Common Event:

$gameVariables.value(11).forEach((value, key) => {
  $gameSelfSwitches.setValue([this._mapId, key, 'A'], false);
  $gameSelfSwitches.setValue([this._mapId, key, 'B'], false);
  $gameSelfSwitches.setValue([this._mapId, key, 'C'], false);
  $gameSelfSwitches.setValue([this._mapId, key, 'D'], false);
  switch(value){
    case "Battle": case "Boss": $gameSelfSwitches.setValue([this._mapId, key, 'A'], true); break;
    case "Chest": $gameSelfSwitches.setValue([this._mapId, key, 'B'], true); break;
    case "Rest": $gameSelfSwitches.setValue([this._mapId, key, 'C'], true); break;
    case "Exit": $gameSelfSwitches.setValue([this._mapId, key, 'D'], true); break;
  }
});

The result should look like the image below. Please hit Apply to save these changes before moving to the next step.


3. Open the Common Event #19 Dungeon Cleanup and scroll down to the script call block under the Retreated message. Open it and add the following statement within curly braces of the forEach loop:

actor._paramPlus[1] = 0;

The result should look like the image below. Please hit Apply to save these changes before moving to the next step.

4. Close the Database and go onto the Map Dungeon > Floor 1. Look for the Floor1ControlEvent located at the top-left corner of the map. Select the Event and open the first script call block. Copy the contents of the block below and paste it above what already is in the script call block:

var mapAdj = new Map(JSON.parse($gameSystem._adjMap));
var mapNode = new Map(JSON.parse($gameSystem._nodeMap)); $gameVariables.setValue(10, mapAdj); $gameVariables.setValue(11, mapNode);

The result should look like the second image. Please hit Apply to save these changes.

Repeat this process for each of the Floor Maps of the Dungeon (Floor 2 and Floor 3 remain). All Floors have the same Control Event at the top-left corner.

5. Please run the game and enter the Rougelike Dungeon with any combination of characters. To confirm whether these changes have fixed the issue, after completing one Node, select Status and Save the game. Then close the game (either by choosing Game End or closing the window) and reopen it to load from the Save you just made. If you are able to continue progress in the Dungeon Floor, then it is working as intended. If not, please let us know and we can troubleshoot any issues you have run into with you.

We appreciate your patience in this matter and thank you for being giving us the steps to reproduce this bug. We'll sleep easier once the update is out knowing that users will not run into this issue.

Thanks,

MythAtelier Team

Not a problem, Next update it is. Thank you for the detailed response and how to resolve the issue. You guys are hitting it out of the park. Keep it up and happy new years!