Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

okay cool thank you 

(+1)

I have 2 suggestions, one that can be done as the plugin exists now and one that would require some rewriting.

The rewriting of the code would require making some changes to the following methods to point them to where the random dungeon data is:

  • get_bkg_tile - this method currently uses ReadBankedUBYTE, which gets the a tile from the  banked background data. If you had your random dungeon data in the SRAM, for example, you would need to point this method to that address (using the appropriate offset from the player's coordinates).
  • draw_minimap - this method calls another method in the plugin, set_bkg_chunk, which is basically a submapping method. Part of draw_minimap copies over the border art, but the parts in the middle copies from the background map data. This would need to be changed to get the data from where the random dungeon is stored.

Generating a random dungeon, as I mentioned previously, is another thing altogether. It would also require some significant engine rewrites if you wanted to have random actors, triggers, etc. That goes well outside the scope if this plugin though.

The other suggestion I have is something that could be done without modifying the plugin or the engine, and would be something you could built within GB Studio, for the most part. The idea goes something like this:

  • In the map space, create a bunch of small "pieces" of a dungeon that are not connected, but that have hallways leading out of them
  • 2 tiles from the end of each of the hallways, place a trigger that, when stepped on, moves the player to the end of a different hallway. The destination can be randomly set when the scene inits. The 2 tiles of space lets the minimap be used without showing the dead end, giving the illusion of fluid movement through the dungeon.

Obviously, this would require significant planning when creating a scene, but technically no coding. So there's trade-offs to either approach.

Good luck!