Random dungeon generator

Messages are moved here (should anyone ever want to see them again) once they are no longer applicable to the current version (e.g. suggestions that have been implemented or bugs that have been fixed).

Moderator: George Gilbert

Forum rules
Please read the Forum rules and policies before posting.
Post Reply
User avatar
amaprotu
Adept
Posts: 211
Joined: Thu Jan 25, 2001 9:47 pm
Location: California, USA
Contact:

Random dungeon generator

Post by amaprotu »

I think it would be possible but would it be worth doing?
or better, do you think its possible to make a <b> good</b> random dungeon generator?

I need a project to keep me outa trouble (hehe) and thought of this, assuming of course George releases the text dungeon files anytime soon.

Any ideas, comments, curses, or other remarks?
- Amaprotu
User avatar
Gambit37
Should eat more pies
Posts: 13718
Joined: Wed May 31, 2000 1:57 pm
Location: Location, Location
Contact:

Re: Random dungeon generator

Post by Gambit37 »

I'm sure it would be possible, but you'd probably spend longer designing a good, intelligent randomiser than you would designing the dungeon in the first place. Remember Captive? That had an infinite number of randomly generated dungeons, but they could hardly be described as original or fun as the randomiser was fairly limited in the type of puzzles it could create.

The beauty of a manually designed dungeon is the fact that it's been uniquely designed by a real person with an despicable sense of fair play, or whatever... :)
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Re: Random dungeon generator

Post by beowuuf »

Random elements or paths being would be interesting to build into one, though I agree, a completely random dungeon would be too much effort and would lose it with gameplay.

Ways to randomise:
1)Get George to implement my percentage chance pads : )
2) For initial party placement and random object placement:

Have teleporter trains (series of teleports pointing to the next) that loop round all the various start positions for each of the objects and party. For each train (or linked set of trains) have a giggler room. In the giggler room are pads, each one targets a wall pressure pad (that needs two inputs) that in turn targets a deactivation effect to one of the teleporters. This would be a one time effect. The second input would be from a square the party steps on almost right away (that would also activate a teleporter to send the party into the start position train). On this square are pressure pads targetting each wall pressure . In this way the giggler would randomly decided which link in the chain of teleporters was deactivated, so that the objects and party would now start in a random location.

This idea could also be used for walls too...in this case the wall pressure pad tagrets a series of false walls instead that are to be turned on or off, so that a random path has been set up aswell ; ). A bit more complex, but you can set it up for monster generation - though you might want that to happen when walking the path - one of three generators could be activated, etc.

That way you have a fixed amount of variables to keep track of (objects can only start in certain areas, certain paths are open, certain start positions are available). Infact the only hard part would be too come up with about triple the amount of puzzles!



For layout, I would never have one 'hub' event along the way, but for continuity it might be nice to have a few hub events that join paths, so playing you experience one or two of five on a level, say, before the path diverges again. It might also be interesting to totally change the monster types each time you play - suddenly having a level populated by faders rather than worms would change the expereince with a totally different tactic being needed, and different objects becoming more or less relivant.
Was unable to (permenantly) kill off ian_scho (Haynuus), Ameena, oh_brother (Westian), money (Falkor), raixel (Petal) and Lord_Bones (Aurek) in the DM D&D game Time's Champions!

CONGRATULATIONS TO THOSE WHO MADE THE GAME WHAT IT WAS - GREAT!
User avatar
George Gilbert
Dungeon Master
Posts: 3022
Joined: Mon Sep 25, 2000 11:04 am
Location: London, England
Contact:

Re: Random dungeon generator

Post by George Gilbert »

I agree - whilst it would be possible (and relatively easy) to write a maze generator to create your dungeon layout, the real skill in good game creation lies in how you populate it with stuff (monsters, items and traps). Given that the layout only takes a small amount of time compared to good design of the contents then it's not really worth implementing; and that's before you start trying to consider whether a random dungeon layout is good design anyway!
Rick
Novice
Posts: 29
Joined: Tue Aug 07, 2001 5:19 pm

I think we're straying of the path...

Post by Rick »

The trick here is designing a really MEAN dungeon, with LOTS of traps and dangers and everything so that you can barely survive. BUT...

also have shortcuts to the key / item square, (like teleporters).

That way, to get to a key you have 2 paths:

a) The dungeon area filled with monsters and traps
b) A long corridor or teleporter.

Or maybe you just have to put 2 keys, one in the easy access and one in the hard access, but mutually exclusively.

OR PERHAPS.... (But this one would maybe harder to implement)

if you want the hard difficulty level, you just change the types of keys. Like if the cross key opens the passageway to the downstairs, replace the cross key in the easy passage with a diamond key. And the DANGEROUS room where you get the cross key can only be accessed with the diamond key.

Hmm... now what i think of it, it just comes to replacing 2 items:

1) The cross key with the diamond key
2) the pressure plate or button (activated by the party) where you gain access to the key, which enables / disables the access to the hard room.

Anyway, however you plan to do it here's the math:

The randomizer would just give access to one and close the other. If you have like 5 areas you need to access in the dungeon, then you have 2^5 = 31 possible combinations with just ONE level.

Of course for this you would need to modify the engine, add a special square and label like "random square #25, option 0" and "random square #25, option 1" Maybe this is how CSB was designed (who knows?)

Now if you add a level setting... a door (triggered by an invisible plate) which opens to a room filled with beholders, scorpions and 30 gigglers :P ... but you can replace that door (or the square just before that door) with a straight wall (for difficulty) then you can have up to 100 (maybe more) different combinations.

I remember the game dungeon hack, you could virtually tweak everything, from the number of keys, multi-level puzzles, water level, food level etc. I just wonder how they did it...

Well these are my 2 cents.
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

cheap tricks

Post by beowuuf »

CSB used a few easy tircks...like having gigglers with items falling down random pits to levels, and having teleporters activate by speed of a party through passages knowing that this would mix up where the party would start each time a way was started

I never got to play dungeon hack, but rememebr when it first came out, and wandered how it managed to randomise the dungeon while still being playable...must rememeber to try and look for it on the web...
Was unable to (permenantly) kill off ian_scho (Haynuus), Ameena, oh_brother (Westian), money (Falkor), raixel (Petal) and Lord_Bones (Aurek) in the DM D&D game Time's Champions!

CONGRATULATIONS TO THOSE WHO MADE THE GAME WHAT IT WAS - GREAT!
User avatar
sucinum
Pal Master
Posts: 872
Joined: Wed Apr 18, 2001 1:00 am
Location: Karlsruhe, Germany
Contact:

Re: cheap tricks

Post by sucinum »

i played dungeon hack a lot, and i came to the conclusion that its crap, and the random dungeons arent very playable and very similar to each other.
a good idea would be random item drops by monsters (like in nethack, moria, omega, larn or, newer: diablo 1 and 2)
User avatar
cowsmanaut
Moo Master
Posts: 4378
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

uhm..

Post by cowsmanaut »

diablo 1 and 2 had random map creation.. not just item drops. Some map portions remained the same but the general map changed. for example the butchers room was always the same layout inside but the surrounding map would change.

this is a good way to set up randomness. You create open dungeon chunks (puzzle sections, rest areas, monster areas, etc) and give some rules based on where these can show up.

rat room: area=dungeon, level(s)=5-7

soemthing like that.. however this is entirely complicated to make it work because you have to keep track of how many map portions per level you also don't want a level unbalanced where you have one level is all mosnters and the next is all restareas. you also have to keep track of entrance and ext of bothtthe sections and the levels. You don't want to get trapped on a level or in a section cause the door leads to a brick wall.
DjArcas
Apprentice
Posts: 31
Joined: Sat Sep 15, 2001 2:48 pm

Re: uhm..

Post by DjArcas »

Well, you COULD have random maps... but they'd be just that, random, with dead ends, no riddles (except human designed ones), etc... the only real use for these would be levelling up... I say human desgiend dungrons all the way!
User avatar
amaprotu
Adept
Posts: 211
Joined: Thu Jan 25, 2001 9:47 pm
Location: California, USA
Contact:

Re: uhm..

Post by amaprotu »

The actual theory behind it would be similar in structure to how Diablo is random:

Basically you would have human made puzzles and rooms of varying difficulty (a difficulty setting for each level). So you have say 5 puzzles for each difficutly level. The generator knows how to connect puzzles to rooms and add random monsters. The generator would take say, between 2 and 4 puzzles from each difficulty range and connect them together to make each level. Idealy the generator would be able to use multi-piece puzzles, or even puzzles with one part on one level and one part on a nearby level. It would add random monsters to the levels.

Cons:
- Puzzle design would likely be at best slightly more complicated than dungeon design.
- 5*15 = 75 puzzles, and thats not a very random dungeon.
- No story, coherency likely, unless some puzzles 'mandatory' / not random.
- Difficult for little / no benefit.

This was just an idea I had over the summer, and now that I am back in school I not only don't have the time but I see better options. These include other peoples ideas about giggler rooms with pressure pads, 'blinking' pressure pads, pressure pads activiated by difficulty level (if implemented) etc. <p>Amaprotu
Mahkahl Darkwolfe "Avvisione"
Flezz Fuu
</p>
- Amaprotu
Kevin
Novice
Posts: 18
Joined: Sat Sep 08, 2001 3:03 am

random vs human

Post by Kevin »

Speaking as an ordinary punter (ie, not some geek/whiz-kid) I say why not have both options, although I think human designed dungeons are much more fun - especially for the one doing the designing. I once had a level editor for the Atari DM and spent as much time building dungeons as playing the game!
User avatar
Gambit37
Should eat more pies
Posts: 13718
Joined: Wed May 31, 2000 1:57 pm
Location: Location, Location
Contact:

Re: random vs human

Post by Gambit37 »

Well, that's one way to set yourself apart... I doubt anybody here would consider themselves a geek OR a whiz-kid (though we probably all are in one respect or another). We're all "ordinary punters" - some are just a little more obsessed than others...
User avatar
Zyx
DSA Master
Posts: 2592
Joined: Mon Jun 05, 2000 1:53 pm
Location: in the mind
Contact:

already done

Post by Zyx »

I think "dungeon hacker" followed exactly this principle.
I was quite boring but I would enjoy to program something like this anyway!
Also, moria-like games used random levels and reached quite a perfection in this domain.
Kevin
Novice
Posts: 18
Joined: Sat Sep 08, 2001 3:03 am

random vs human

Post by Kevin »

I meant no offence my my 'geek/whiz-kid comment. But many of the contributors use a lot of mystifying 'math(s)' and technical stuff that this middle-aged fart (56) can't help but feel a bit out of it. Now where's my zimmer frame.....?
User avatar
Gambit37
Should eat more pies
Posts: 13718
Joined: Wed May 31, 2000 1:57 pm
Location: Location, Location
Contact:

Re: random vs human

Post by Gambit37 »

ROFL. Yeah, I know you didn't mean offence! :) In fact, that was probably just my own small way of trying desparately hard NOT to look like a geek, when in fact I know that I *am* :)
User avatar
amaprotu
Adept
Posts: 211
Joined: Thu Jan 25, 2001 9:47 pm
Location: California, USA
Contact:

Re: random vs human

Post by amaprotu »

Moria?

And basically the whole reason I initially brought up the idea was that I thought it might be fun to try and create it.... just to see if I could really. Still might, but not this semester for sure.

/me looks around...
Who me? a computer geek? [typed as I sit in the school food court, on my lunch break with my laptop connected to an I-net jack, posting comments to a forum about a game being developed, while I should be doing my homework project of making a simple java program to caclulate the mean, mode and median of any given set of integers, or the programs to create my own token ring network from scratch....] <p>Amaprotu
Mahkahl Darkwolfe "Avvisione"
Flezz Fuu
</p>
- Amaprotu
User avatar
Zyx
DSA Master
Posts: 2592
Joined: Mon Jun 05, 2000 1:53 pm
Location: in the mind
Contact:

moria, rogue, angband, nethack...

Post by Zyx »

Roguelike games are very old and are about an adventurer in a maze full of objects and monsters.
Check this site for more information:

<a href="http://www.win.tue.nl/~kroisos/roguelik ... ke.html</a>
User avatar
amaprotu
Adept
Posts: 211
Joined: Thu Jan 25, 2001 9:47 pm
Location: California, USA
Contact:

Re: moria, rogue, angband, nethack...

Post by amaprotu »

I'm just thinking in type here but <b> <i> if</i></b>[/i] I were to try and create a random dungeon generater here are some of the things I need to consider. I'm thinking in type so I can get some response as to whether I'm missing anything or am wrong about stuff...

A puzle is a fully populated room or set of rooms hopefully with some interconecting goal or something.

* Puzzles with multiple pieces, all peices must be included
* Puzzles with one peice (one set of rooms already connected, easiest by far)
* Multiple entrances/exits from puzzles
* Ability to rotate puzzles
* Multiple puzzle connectors, including some with monsters and items (most likely mundane like food, torches etc.) I can't just connect everything with straight halls.
* Make sure everything is accessible (easy enough... pick a puzzle, add a random puzzle connector connect a puzzle to that etc..... well easy enough if linear much harder if not)
* A required flag, for puzzles that be included in the dungeon.

These restrictions would make it much much easier to implement but would they destroy any real playability of the dungeon?
* Every puzzle have (at least or only?) 1 entrance and one exit.

I don't know the more I think about it the more daunting a task it seems. If I made it where puzzles had to have at least a entrance, but not necisarily an exit that would make nicer dungeons, but harder to cnonect everything. I would probably have to implement it with puzzle peices. Each puzzle has a set of peices that don't have to connect. If done right there could be choices, for example a puzzle consists of peices A, B, C, and D but there are three choices for A, B, C and D each (basically just a different shaped room or different monster selection, or maybe more complex).

If done right I think it could be playable (even enjoyable?) the question is how hard is it to do it right??

Also if I were to create such a system (big if!) it would require a lot of puzzles. Would I be able to find vonlunteers to create puzzles?

Lotsa of questions and ideas here and all of it on a lot of speculation.....
<p>Amaprotu
Mahkahl Darkwolfe "Avvisione" (48th level Enchanter [EQ])
Flezz Fuu (27th Level Rogue [EQ])


Deja Moo - The distinct feeling you have heard this bullshit before.</p>
- Amaprotu
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Re: Random dungeon generator

Post by beowuuf »

You got me starting a dmute example in the opposite direction, showing how the dungeon itself can be made to randomise rather than having a seperate programme bringing together elements. I don't know when I can get back to it though, so I can post it somewhere if anyone wants to see the start of implementing some of the earlier suggestions
Was unable to (permenantly) kill off ian_scho (Haynuus), Ameena, oh_brother (Westian), money (Falkor), raixel (Petal) and Lord_Bones (Aurek) in the DM D&D game Time's Champions!

CONGRATULATIONS TO THOSE WHO MADE THE GAME WHAT IT WAS - GREAT!
User avatar
Zyx
DSA Master
Posts: 2592
Joined: Mon Jun 05, 2000 1:53 pm
Location: in the mind
Contact:

interested

Post by Zyx »

yes, could you mail it, please?
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Re: Random dungeon generator

Post by beowuuf »

Crashing comp is making it hard to do it, but once i get back to it i'll mail it to you, np

It's very simplistic to show how to randomise a 3 x 3 grid of rooms to provide 27 paths, random items, and neccessary item placement, plus random monsters
Was unable to (permenantly) kill off ian_scho (Haynuus), Ameena, oh_brother (Westian), money (Falkor), raixel (Petal) and Lord_Bones (Aurek) in the DM D&D game Time's Champions!

CONGRATULATIONS TO THOSE WHO MADE THE GAME WHAT IT WAS - GREAT!
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Re: Random dungeon generator

Post by beowuuf »

It doesn't work yet, but you can see get the random level at http://www.geocities.com/beowuuf

It's all set up, but some of the randomise options arent working correctly yet...they should though! It's all on level 4, and there is an inital wall blocking entrance that should allow the gigglers a little time to wander around and randomise.
It gives an idea of what I was talking about earlier...hopefully I'll get back to it soonish : )

(Note, there is a cheat in that I used cloning of tiles for the neccessary object placement - three tiles the same, but each using a different teleporter depending on the object. In RTC, I hope the equivalent would be to have two teleporters on a square, one open and one closed. A toggle option could switch these round so that you can create junction points so teleporters can have two destinations...which ould lead to other jucntions...so that differnt options or destinations can happen depending on what has been toggled)
Was unable to (permenantly) kill off ian_scho (Haynuus), Ameena, oh_brother (Westian), money (Falkor), raixel (Petal) and Lord_Bones (Aurek) in the DM D&D game Time's Champions!

CONGRATULATIONS TO THOSE WHO MADE THE GAME WHAT IT WAS - GREAT!
User avatar
George Gilbert
Dungeon Master
Posts: 3022
Joined: Mon Sep 25, 2000 11:04 am
Location: London, England
Contact:

Post by George Gilbert »

Done for V0.35
Post Reply