G
Guest
Guest
Archived from groups: rec.games.roguelike.development (More info?)
Since I have been working on my roguelike game, much of my focus has
(perhaps wrongly) been placed on the the random virtual dungeon editor.
I would like to give each dungeon a different flavor, so I have some
generic randomization routines and specialized building routines for
each dungeon. Eventually I would like to remove the separate routines
and just toss them all into a nice config file.
Now that I'm done with my introduction, I want to talk about the
randomization routines in general. Most routines people use seem to
center around carving rooms and corridors, with some slightly more
sophisticated routines for ensuring an adequate floor-wall ratio
(typically 45%) and adding interesting features (monsters, chests, and
other non-map features).
Has anyone explored more unique randomization techniques? For instance,
one of my dungeons features two towers that are connected by bridges at
various levels. The towers themselves are the same shape (round), and
each floor contains stairs, some monsters, a central hallway, and a
partition of rooms. The probability of whether or not a bridge will
cross at a particular floor is a poisson distribution. Players will
have to cross to the other tower frequently because of locked doors -
each tower requires its own keys to unlock the doors. The basic
algorithm is to first build the towers with the bridges randomly
distributed (the towers themselves have 50 floors, and the bridges have
a mean of 5 floors, and always a bridge on the first floor). Next, I
"carve" out the floors from the connecting bridges in a way that
insures that every floor is reachable and connected to every other
floor of both towers. Lastly, I include the locked doors and the keys,
this time making sure that it is possible to obtain every key and
unlock every door, and of course, add in features like chests,
monsters, and fun dungeon features.
Here's a theoretical side-view of the two towers. Each row represents a
level of the tower, K stands for key, L stands for Locked Door, and the
key to the bottom door on the right tower is the one in the center of
the top bridge:
*....K....*
*L* *.*
*.* *.*
*** *.*
*.........*
*K* *L*
*.* *.*
*........K*
*K* ***
*.........*
*.* *.*
*L* *.*
*.........*
*.*~~~~~*L*
. ~~~~~ .......
.. ~~~~~ .......
. ~~~~~
. ~~~~~
So that's one of my ideas, I've got some more, but why spoil the fun?
;-)
Since I have been working on my roguelike game, much of my focus has
(perhaps wrongly) been placed on the the random virtual dungeon editor.
I would like to give each dungeon a different flavor, so I have some
generic randomization routines and specialized building routines for
each dungeon. Eventually I would like to remove the separate routines
and just toss them all into a nice config file.
Now that I'm done with my introduction, I want to talk about the
randomization routines in general. Most routines people use seem to
center around carving rooms and corridors, with some slightly more
sophisticated routines for ensuring an adequate floor-wall ratio
(typically 45%) and adding interesting features (monsters, chests, and
other non-map features).
Has anyone explored more unique randomization techniques? For instance,
one of my dungeons features two towers that are connected by bridges at
various levels. The towers themselves are the same shape (round), and
each floor contains stairs, some monsters, a central hallway, and a
partition of rooms. The probability of whether or not a bridge will
cross at a particular floor is a poisson distribution. Players will
have to cross to the other tower frequently because of locked doors -
each tower requires its own keys to unlock the doors. The basic
algorithm is to first build the towers with the bridges randomly
distributed (the towers themselves have 50 floors, and the bridges have
a mean of 5 floors, and always a bridge on the first floor). Next, I
"carve" out the floors from the connecting bridges in a way that
insures that every floor is reachable and connected to every other
floor of both towers. Lastly, I include the locked doors and the keys,
this time making sure that it is possible to obtain every key and
unlock every door, and of course, add in features like chests,
monsters, and fun dungeon features.
Here's a theoretical side-view of the two towers. Each row represents a
level of the tower, K stands for key, L stands for Locked Door, and the
key to the bottom door on the right tower is the one in the center of
the top bridge:
*....K....*
*L* *.*
*.* *.*
*** *.*
*.........*
*K* *L*
*.* *.*
*........K*
*K* ***
*.........*
*.* *.*
*L* *.*
*.........*
*.*~~~~~*L*
. ~~~~~ .......
.. ~~~~~ .......
. ~~~~~
. ~~~~~
So that's one of my ideas, I've got some more, but why spoil the fun?
;-)