Pages: 1
Hey there,
I just needed some distraction from my main project - and was brainstorming with some friends about dungeon design in RPGs. Our current topic is random generation and the granularity of monsters/items/traps/objects encountered. maybe you have some thoughts about this - as we would really like to broaden our scope by hearing them.

Being a fan of traditional rpgs as well as rougelike and semi-random games, i was always wondering about how random dungeons could be generated that are really fun. i like to cover the various aspects of a random dungeon seperated into layers of design in this post - hopefully i hit the mark.

PS: All my thoughts are focused on the RPGMaker2k3, as I am a real retro game fan. Of course, all ideas could be translated to other Makers/Programming languages as well - but every technical consideration is done with 2k3 in mind. True to the old-school.

PPS: As i cannot stress this enough: before you say "this is too complex/ambitious for rpgmaker" please note that this is a GENERAL discussion.

1. Dungeon Geography/Layout
#Fact 1: The random dungeon generator in 2k3 just sucks.
#Fact 2: Generating random dungeons via script in 2k3 is practically impossible.
#Solution: Pre-Map all possible dungeon layouts by creating more than just one version for every dungeon floor. Players then access a random subset of pre-generated maps and are led through a series of randomly selected subsets without repeating a single map.
#Pro: Dungeons look different all the time, while being locically layed-out.
#Con: this means when you create 30 dungeon floors, it is possible that your players only encounter 20 of them. thats 10 leftover useless layouts you spend lot of work on. Plus: When you replay the game, dungeon layouts tend to be repetitive.

I have attached a picture of a random dungeon layout, just imagine more of these. Upon entering the game, the player is thrown onto one random starting map:

2. Objects placement
#Fact 1: Random Object placement is possible in 2k3.
#Fact 2: Random Object placement with logical chains between single objects is necessary to increase fun and replay value.
#Solution: Place a maximum of every object type on the map. upon entering the map, a script calculates wich events are removed. this creates a semi-random patch of items/monsters/traps/npcs and more.
#Pro: Randomized dungeon object placement
#Cons: You have to define the maximum number of dungeons objects per map, they are also limited to their fixed locations and tend to repeat when you replay the game.

I attached the layout <A> again, with possible placements on the left, and actual placements to the right. depending on the difficulty of the dungeon, the script chooses only a certain numbers of events to be actually turned into items/enemies/traps etc.

3. Adding more fun
We already thought about some concepts wich make this somewhat simple system more fun:

A. Objects within placements are randomized, what was a item in the last placement, could be an enemy in the next game/placement.
B. Add more object types. there could be NPCs like wandering merchants and healers who sell you goods/services depending on the current difficulty/dungeon level. Expanding on the "more objects" idea, there could also be:
* Quest NPCs wich give you simple quests to solve on the map you are on. There could even be two NPCs on a map, tied together - where you have to ask the first (randomly placed) NPC to bring her/him to the second (also randomly placed) NPC on the map.
* Mid-Boss-Monsters, limited to just a few per map, much harder to beat, but provide more treasure.
* Treasure chests, like normal treasure but more limited and with the possibility of being trapped/cursed.
* Random entrances/exits to other (randomized) map levels, besides the standard exits
* Random puzzle pieces that have to be moved like sokoban boxes to solve a sub-quest
* parts of the map only being accessable by boat/coal lorry
* random weather effects upon entering the map
* random map themes like fire-dungeon, water-cave, forest-dungeon etc. that affect the monsters, traps and items placed in the dungeon
* Changed dungeon geography, more rooms/less passages or more passages/less rooms (well, this is up to the developers)
PLUS many many, uncounted ideas more - just squeezing everything fantasy into a random world-generator to create something unique, everytime you play it.

Possible or impossible?
Fun or no fun at all?

Thats the eternal question.
I think random maps are mainly useful for roguelikes or other games that thrive on their unpredictability. For an otherwise normal RPG, I don't recommend it, because:
1. Random dungeons look either really bland (copypasta decoration and rooms) or really wierd (when those objects are all over the place, that's not necessarily bad, though).
2. A bad randomization error can generate very frustating or flat-out impossible dungeons.
3. They're wierd to explain when there are non-random dungeons too - you don't always have giant earthbending badgers around to change the pathways.
@LightningLord2 Thanks! Please dont forget this is a general post about random dungeons, forget about a possible story for now. Our thought is: Are random dungeons fun at all (aka: Are rougelikes fun at all OR what do we have to do to make them fun).
I just checked your tower-defense project and must say: i would be more impressed by a really well done roguelike in rpgmaker. but thats just me, your main project sounds very interesting.

The thing with rougelikes is: I just like the vision of having a game that is completely random (given a logical layout), including random quests and even random victory conditions - because this would give us players a neat little toy with endless replay value.

combine this with a bit of elder scrolls like open-world gameplay and you are set. did someone say "Elite (C64 times)" like procedural semi-random world generation squeezed into a simple formula? sadly, i dont think this is possible in rpgmaker at all...
Well, for my personal enjoyment, I see random dungeons as pointless because despite their re-arrangement every time they still manage to look the same as before. Also, they don't allow for highly creative puzzles and the like unless you make a freakishly super-high-tech dungeon generator.
@LightningLord2 Granted!

@All To be honest, random games are dead nowadays - undeserved. Here are just some links to wet your tastebuds, to show the beauty of randomness in pictures instead of words.
Well, IF random world-generation works well - it can give a player shivers. as really well done roguelikes manage to create worlds and characters therein that are completely randomized but still have enough personality to make them look non random.

in other words, the feeling i had with the jade rogulike ( was like: wow, this is is all so real (moving in a city, day/night/weather, breaking into houses, npcs ring the bell etc.) - but created by a miraculous dungeon generator.

really gave me shivers, and really is fun to play. needs better graphics tough. and please do not mistake it with the standar rougelikes.

i had the same feeling with the first part of the elder scrolls, altough it was not as random as a roguelike at all.

@Spellbinder yes, sadly this genre is 99% dead - its all mega-apocalytpic-stories and blinding-effects plus HPs in the 100.000s today
@LightningLord2 Thats fine, your oppinion though, but...

@Fhizban Thats also fine but...

...on topic please! its about random worlds and whats necessary to make them more interesting. thank you for you every comment, but thank you especially for objective comments about creative-random-world-generation and NOT about the PROS/CONS of random-worlds THEMSELVES!

(PS: I just saw i placed some of the orange and red dots wrong in the screenshots above. well who cares anyway. but actually i put a lot of work into them. randomized roguelikes anyone? no one? ohh....noooo....)
I'd really like to get rid of LockeZ. His play style is way too unpredictable. He's always like this too. If he ran a country, he'd just kill and imprison people at random until crime stopped.
Randomly generated RPGs are dead? Are you sure? I wasn't aware Diablo 3 had been cancelled. And as far as I know they're still planning on making more Disgaea games. I enjoyed Children of Mana for the DS...

The biggest problem with randomly generated dungeons is that they have a really strong tendency to be ultra fugly. For example, the screenshots in the OP are absurdly bland and have all the polish of a Pacman clone. They're obviously not intended to be actual examples, but I've seen real random generators that produce areas almost that bad. A non-random dungeon, if it's a good one, will have objects placed in an aethetically pleasing way, will have memorable landmarks, and will be at least somewhat realistic in its overall layout. Tile-based random generation methods tend to lack these qualities. You can approximate these qualities by using a random generation method where you take pre-drawn large sections of map and connect them together, but the result will be that the areas don't look very random after seeing the same section 4 or 5 times.

I think it is important for randomly generated dungeons to follow the same guidelines as static dungeons - pick a coherent theme, place objects so they look nice, add major landmarks that are both memorable and important, include cut scenes (!), and so forth. Essentially, when coding your random dungeon generator you don't want to think "is it possible to put an object/passage/room here?" but rather you want to start with a finished non-random area, and then look at pieces of it and think "where are other options for places I can put this object/passage/room?" In my (admittedly limited, but not nonexistant) experience, this is a way more effective way of coding random content generators.

If using 2000 or 2003, disregard all this, and just make non-random dungeon rooms by hand and then link them together randomly via stairwells or exits at the edges, as the OP suggested. Coding an effective dungeon generator using nothing but events is utter madness.
@LockeZ Thank you for the first really constructive post. Well, the basic thought was to actually design a lot of non-random dungeon floors and link them together randomly. but as seen in the screens above, the placement of dungeon interior should still be random.

im also thinking about other ways to make this "semi-random-dungeon" more attractive. are there any?


I like to expand my vision a bit more, maybe a few others are getting interested...


As we are somewhat forced to the solution of linking pre-mapped dungeon floors together in a semi-random way, i would like to introduce many randomly placed objects to compensate the lack of real random dungeon floors.

The idea is to break all the dungeon interior into smaller modules wich can be varied individually by changing a few variables. Typical objects would be enemies, traps, items, wandering npcs and so on.

I played a bit in rpgmaker and would like to explain one sample module: the traps.

each dungeon floor has a TrapLevel, represented as a number from 0 to 100. this number can be preset, but it could also be random or depending on the current dungeon type. on the map there are various events marked as "trap". when you step on a trap the system checks if there is a trap or not, depending on the trap level. if there is a trap, various effects can occur. it should also be able to disarm the trap if the player has the right skill. should the trap be triggered, the trap effect could also be depending on the TrapLevel (higher means more deadly traps), and the effect could be adjusted to the current dungeon type (in fire dungeons there are fire traps, in ice dungeons more ice traps, in a swamp there could be more poison traps).

this way you have a simple module, controlled via a variable and a common event. the functionality spreads out on all trap events in the game, making them easier to manage. every time you enter a map, its up to the random engine if a trap is actually there - and what type it is.

So, this sample module could also work for monsters, items and all other dungeon objects as well.
Pages: 1