XaiJu
godspeak
godspeak

patreon


Godspeak's Extra Spanking Tutorials #3

Dungeon Design

Hello again! I got back from San Francisco late last night after a really enlightening GDC experience. Granted, a lot of the advice doesn't really applying to me since I'm making erotic games, but still, good to have for if/when I decide to make something more for a general audience. Anyway, on to the tutorial!

So last time, we set up a quest for gaining access to some kind of underground space. To keep it simple, ours is going to be a utility/sewer sort of area. But first, let's talk about dungeons.

Dungeons are a space in a video game where generally less action oriented-gameplay is replaced with more action oriented-gameplay. This serves the double purpose of containing areas of high player involvement in well signposted areas, and creating peaks and troughs of excitement for your game. They will also allow you to create a sort of self-contained difficulty curve with monsters getting stronger as you progress and leading up to an extra-hard boss monster. All of these things contribute greatly to player enjoyment.

To spare you all of the nitty-gritty game design tips, dungeons are fun, and not enough erotic RPG Maker games take advantage of the rather robust dungeon development tools in RPG Maker. The engine actually sports a dungeon generator, but in the interest of tailoring the end result, we won't be using it.

As usual, go ahead and download the start file here: Project Start Download 

Taking a look inside the project, you'll see that I've created a map called City Underground and linked it to the first floor of our apartment complex. I have also created a new image file in our project under the /img/characters path which is a sliding jail door. We will be using that for our dungeon.

Here is our map:

As you can see, I've given a general layout as well as where our entry/exit points are. But this is rather boring for a dungeon, don't you think? It would be a lot cooler if we made it so you had to open up all the other paths while dodging enemies, wouldn't it? Bingo! There is our dungeon conceit. So, let's get started.

Human brains really like things in 3s, as I'm sure I've mentioned before, so we're going to make the challenge here to active 3 switches without being seen in order to open the jail doors over all of the exits.

I have set aside rooms here:

Here:

And here:

To serve as our "switch" rooms. I chose these places due to their central locations, and the fact that the path to each of them from the staircase at the upper left of the map is quite interesting, and will give us the opportunity to make it difficult for the player with enemy patrols.

We want each of these rooms to have a reason for entering it, one of the best ways to do that is to either have interactables, like the levers, or have rewards, like a chest with loot.

It is also good practice to decorate the rooms that are more important with more stuff, which will lure the players into them. In this case, we're going to decorate the lever rooms. There is a problem though, our current tileset lacks any kind of barrel object. Game devs love barrels! The SF Outside tileset, however has several barrels. So how do we get access to those barrels without changing our tileset entirely? Well, RPG Maker MV has an option for this. We can add up to 2 new tilesheets to our tileset. Let's do that now.

Open up the database and naviagate to the Tilesets tab. Click on 0006 SF Inside. 

Click on the three dot button under the section for the D: tab and select SF_Outside_B.

Simple as that! Now we have a nice couple of barrels to use. Let's head back to the first switch room I showed you and decorate it.

Yours doesn't need to look exactly like this, but make sure that whatever you do, the tile just below the exclamation point sign is clear, because that's where our lever is gonna go. In fact, let's do that now.

Page 1:

Page 2:

If you look back at the first page, you'll notice that I am using a Switch and a Variable to keep track of the levers. This is to make it so that they can be undone easily (in the event that the player is caught before they finish) and will make our jail doors more efficient (the code will be much easier to read than if we had used conditional branches). Let's do the rest of our switch rooms.

Room 2:

For the lever here I copied the first one and then changed the name to "Switch 2" and adjusted the Set Switch commands to be for "Underground Lever 2" instead of "Underground Lever 1". Let's do the third room now.

Okay, now that we've got those levers nice and signposted, let's make them do something. Here is the code that I used for the first jail door.

Page 1:

Page 2:

Page 3:

Take note of the fact that we are using the jail door image I mentioned earlier in the Image field of the first 2 pages only. Now, let's copy this event and place one in each doorway for each stairwell, making sure to name them Jail Door 2, 3, 4, and 5 respectively. You should be able to test it now. Run quickly through the content we have built so far and make a save once you enter the sewer. Now we can test it again and again without having to redo the previous quest.

Everything should work. Perhaps we want to signpost this interaction we've built a little better to the player. Let's edit the first page of each jail door event to look like this:

This will help let the player know that they can't do anything from the door itself, and they will need to interacts with something else in order to open it. Now that we have our main interactables done, let's add some rewards. Here's a basic chest which rewards the player 5 money whenever they open it:

I like to sprinkle these generously around the level, some in out of the way locations, and other in more easy to reach spots. Here are some examples of placements:

I especially like that third example because a player will see it on the normal path through the dungeon, but not be able to reach it. This forces them to backtrack and explore and then rewards them for doing so.

Now that we have all of our interactables done, we can put more clutter into our rooms. Keep in mind not to obstruct any paths and not to clutter up as much as our essential locations so they still stick out.

And here is the final result:

We've got a nice, varied structure with things to do and no areas that are particularly boring. This is what you want from a dungeon. Let's go ahead and test it now, making sure to run around on all of the tiles, and oops! It looks like all of our barrels are non-colliding with the player. This is due to them being added by a new tilesheet and not having their passage permissions set. This is a common error, but an easy one to fix. Open up the database again and go over to where we added the new tiles in the D slot.

Notice how they all have Os over top of them. O means pass under, these are appropriate for floor tiles and the like, X is block movement, and the star is for pass over, things you want displayed in front of the player. Let's go through quickly and adjust them all to what we think they should be.

Now that that's done, we should be colliding properly with all of the clutter we put down!

That's all the time I have for right now, but stick around, because next time, we're going to be adding some enemies to this map which the player will have to avoid if they don't want to get caught! Until then...

Happy eventing!

Final Project Download 

This post was made possible by all of my generous (and attractive) patrons!  

Godspeak's Extra Spanking Tutorials #3

More Creators