Creating the perfect dungeon maps for your game can be a lot of fun if you enjoy mapping, but what if you just don’t know where to start? Let’s take a look at one way we can upgrade a generated dungeon to make it more than just lifeless hallways.
The Generate Dungeon option can be found by right-clicking a name in the map list, towards the bottom.
When we select it a new window pops up with a few choices we need to make before our dungeon will appear. The Type and Options sections help the engine have a general idea of what we want our dungeon to look like, while the Wall and Floor sections tell it what tiles to build the dungeon with. The Wall section ties the wall and ceiling tiles together from the tileset’s A4 sheet, while the Floors pull from the 1st, 3rd, and 5th rows of the tileset’s A5 section, so if you have a specific tile in mind you may need to edit your tilesets (or just replace all the floor tiles with the flood fill option).
One thing to keep in mind is that a larger map is better for creating a generated dungeon. If we make a map that is 60 tiles wide and 35 tiles tall, we can create room and maze dungeons that look like this:
If we try to generate one on a map that is only 30 tiles wide and 19 tall, we’ll end up with this:
While the small maze dungeon may work, we can all agree that the room option (with all of 2 rooms) leaves a lot to be desired. So if you want to use the room option to generate a map, make sure that you’re using a map that’s large enough to make it worth it.
With that introduction out of the way, on to the dungeon upgrading!
Before we can think about upgrading our dungeon, we need a dungeon! Let’s make a cave for this example, so we can set our map’s size and then choose to generate a maze until we’re happy with the results. We’ll be doing some major construction on the walls soon so we don’t need to be looking for the perfect maze, just one where we can look at it and start imagining what we’ll add/remove. Since I already knew I wanted to use a different floor to better match the walls, I used the flood fill option to replace the floor tiles as soon as the dungeon was generated, leaving us with this:
Our dungeon isn’t too exciting to look at right now, with its many dead ends and rectangular shape, but if we look at it broadly we can already start seeing good locations where we could place treasures (like that small path in the upper-left corner).
While we chose the maze option so that we’d have lots of interesting shapes, our dungeon doesn’t actually need to keep all of the walls. Removing some of the shorter walls creates rooms, and we can completely change the general shape of the map by blocking off
We can also include the entrance and exit to the map at this stage, to help us figure out where we may need more space (such as if we want a cutscene with all our party members present before they exit the cave) or where we’ll need to remove sections of the cave so that the doorways make sense (like the upper-right corner where we need to fully remove the hallways). Of course, our exits aren’t set in stone, so if we decide later on that we need one moved we can always do that.
With our cave’s general layout figured out, we can start playing around with decorations to make it feel more natural. In our upper and lower-left rooms, let’s add small raised sections where our player can’t walk as well as water, moss, and dirt to spots around the map. This is where we could do some extra thinking and make the placements realistic (such as putting plants only near water and light, or putting dirt on the floor in areas where people aren’t walking), but putting stuff where we think it just looks nice is fine too.
In this example we aren’t including any changes in elevation that our player can walk on, so we don’t need to include any stairs or slopes. If we did want to have an elevation change then we would also need to keep in mind that our walls will need to change to keep things consistent, which may mean that we need to increase our map size or fully shift sections to fit the new elevations in.
Now, you may be looking at the screenshot and wonder why the dirt and moss on the floors go right to the wall, when yours ends up like this:
That’s due to how the engine puts autotiles together. We can get around that by making the most of MZ’s mapping layers and using shift-click mapping. First, we need to switch our map to Layer 2 from the default Automatic setting, since our walls and floors are drawn on Layer 1 and we want our moss on top of our floor.
With our layer’s switched, the floors and walls are slightly transparent while our moss and dirt tiles are as solid as ever. We can then draw those sections to cover the nearby walls, right-click on an empty space to remove the current tile we were using, and then hold the Shift key to erase the sections of moss and dirt that overlap the walls so that all that’s left is the parts on the floor.
Then we can switch our map back to Automatic, and our moss and dirt appears just how we want them to!
Our walls and floors are ready to go now, so we can get to the fun part: placing B tiles all around to decorate the map! Choosing the tiles to use depends completely on the type of map you're making and the story you want to tell there (is it a bandit hideout? Then adding crates and beds makes sense. If it’s a place that no one has visited in centuries, then having lit torches and fresh buckets of water will seem odd). Since this is a stone cave, we can place piles of rocks and pebbles all around as well as some dead roots or vines crawling up the walls.
We do need to keep in mind that there is such a thing as overdecorating, especially if we accidentally place a bunch of tiles that block our player from reaching the exit. And if we know our player isn’t going to be spending ages in this dungeon, then we don’t need to spend ages making sure each path is perfectly decorated. We can always come back later to tweak placements, so aim for a look that you enjoy without worrying about perfecting it.
If we’re happy with our map, then we can switch over to the eventing tab to add in some events to bring more of the map to life. We can make exploring the deadends worthwhile to our player by adding treasures there for them to find, or if we’re using on-map enemy encounters we can add some that wander the map (though if we did go that route we would want to make sure there are paths our player can take to avoid battles, unlike the limited paths this example map). We can also tell a small story about how the room near the exit is used by travelers as a place to rest by having a small fire flickering that someone forgot to extinguish.
We covered tints and picture overlays in a previous tutorial, and we can use the info from that to make our cave seem more cave-like. We can add a tint where we decrease the red tone and increase the gray to make it feel like we’re in a dark space instead of outside or in a well-lit area.
No matter what tint we choose, our map is ready to go!
Of course, even if a map is usable it doesn’t mean we have to leave it as-is. We can break up the squareness of the cave even more by rounding edges and removing more unused paths, make major adjustments to walls, and add more decorative tiles.
But the important thing to keep in mind is that we don’t have to do that to make our map work well. Our step 5 map is great for a small dungeon where our player isn’t going to be spending tons of time in, and the time we saved by not making it perfect could be used to make our battles even more engaging or create a truly touching cutscene sooner than we expected.
If we were to time lapse each step, we can easily see where our parts of our original generated dungeon still remain, but the upgrades we’ve made takes it from a lifeless maze to an intriguing cave. By using the Generate Dungeon option, we took possible hours of staring blankly at the screen waiting for inspiration to strike and used it instead to make a map out of the bones of the generated dungeon.