(with "+" being a door, portcullis or just plain space). A dead end with something is not a dead end. There is not even air, just wall!
I've been thinking about this, and I can definitely see cases where you might want to create a world with build turned off to force players not to "cheat" buy tunneling or building. The dead ends are a bit odd as well. I'm going to address these things in few ways:
1) The case you diagrammed is specific to "corridor" room types that only have one hall connected to them. I have a nice idea to add a special behavior to these rooms if they only have one hallway.
2) The other thing that bugs me about the current algorithm is that the mazes are too random, and you get too many artifacts like this. The current method is pretty dumb, but at least it results in no isolated areas. It was a brute force approach to get things off the ground. I'm going to rework this as a variant of the "hunt and kill" maze generation algorithm, with a randomness factor that will sprinkle additional hallways throughout the dungeon. This will provide a number of benefits:
a) At one extreme (randomness = 0%) this will produce mostly linear levels from stairwell to stairwell with a few branches, but no loops. Most rooms will have two exits, a few will have one or three, and four will be very rare. A player can be sure to navigate the entire level if they use a backtracking-like method when faced with a fork. I like this because it provides a way to make levels that are easier to navigate and not get lost in. For those folks that are completionists (me!) you can be sure to explore the entire level without getting hopelessly lost. :smile.gif:
:cool.gif: At the other extreme (randomness = 100%) this will produce a more random maze layout with lots of looping branches much like the current algorithm. This is for those that like a more lost-in-the-dark-omgimgoingtobeeatenbyaGRUE Moria-like experience.
c) This will add a little more customization to the layouts. People can adjust and tweak between these cases to taste.
d) This will also make it more likely that the entry and exit rooms on a given level will be further apart, allowing players to see more of the levels before moving on. You'll be far less likely to "luck out" and find stairwells right next to each other.
e) The bridges that are constructed in pit rooms currently have a random chance to NOT connect one or more doors, forcing players to build bridges if to continue or see certain areas. With the new maze method I can do away with this and end up with fewer (or no) cases where you'd have to build a bridge to continue.
3) I'll add a config option for the frequency of closed portcullises. If you don't like them, turn them off.
The other thing you can do currently is change the config to use bedrock for all the wall, floor, and ceiling blocks. :biggrin.gif:
Rollback Post to RevisionRollBack
MCDungeon - Procedural Dungeons
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
This is one of the neatest looking things ever. My friend just added a dungeon to our server, and we've only seen the outside so far--about to go exploring, and lemme say, we're very excited! This adds a whole new layer to the game, and with little to no work to get it functioning. I would LOVE to see the type of stuff you could do with this using redstone.
Install instructions for Debian/Ubuntu: (linked from OP)
I've tested this on Debian 6 (Squeeze) and Ubuntu 10.10 (Maverick). Both distros use Python 2.6.6. numpy and argparse are provided as packages in apt. The only trick is getting noise installed. Python should already be on the system as quite a few system tools use Python.
Install numpy and argparse modules and their dependencies:
Noise is tricky. Normally, I'd use stdeb/pypi-install to get this, but the noise package breaks trying to install on every system I've tried. You'll have to install manually:
I just wanted to say thank you for this. I was hoping there would be some sort of dungeon generator, as playing dungeon master isn't fun when you know when and where traps are located and where all the spawners and chests are located. The ability to have fun with my friends on the server and be just as surprised as they are when we run into something is extremely refreshing.
The dungeons I've generated with the tool so far have been extremely rich and though some places were quite random, it added quite a bit more challenge to how to complete them. There's nothing like getting the crap scared out of you by a spider scaling the ceiling and dropping down onto you. Thanks so much for this wonderful tool.
Rollback Post to RevisionRollBack
Host of the 2 Girls 1 Game indie gaming podcast.
2G1G Minecraft server proudly provided by Brohoster. "She's like Beetlejuice, except she's not dead and you summon her with the word 'indie'."
First let me say I am using this on my server and you have made them a very happy bunch of minecrafters because these dungeons are REALLY fun. I cannot stress enough how awesome what you have done here is. 5/5 for cooperative gameplay fun
As far as the danger level of your dungeons, I would rate them only a 2/5 with night time being a 3/5.
the only truly scary thing ive seen in minecraft is the random dungeons the the Primordial Desert map generator by SeiBai. those have truly terrifying traps and ingenious use of mob and animal spawners. My buddy and i got utterly wrecked multiple times.
TL;DR the Primordial Desert has traps that could be put to good use here.
Rollback Post to RevisionRollBack
Sit your five-dollar ass down, before I make change!
5/5 for cooperative gameplay fun
As far as the danger level of your dungeons, I would rate them only a 2/5 with night time being a 3/5.
Thanks!
Yes, the default config isn't so hard. Some things you can do to make it harder:
[*:4ucrwjca] Increase the spawner density in the cfg file.
[*:4ucrwjca] Lower the torch percentage.
[*:4ucrwjca] Lower chest density or pull out the good loot.
[*:4ucrwjca] Play larger, not deeper dungeons. Not counting spawners, mobs won't spawn naturally within a certain radius. If you get further away from a section, it will spawn more mobs.
[*:4ucrwjca] Play in the DAYTIME. Yes, daytime. It's actually harder during the day because the mobs will be concentrated in the dark areas underground instead of spawning on the surface. Remember Minecraft only spawns a fixed number of mobs at a time, and of you limit the areas they can appear they will become concentrated.
I love the primordial desert generator, and it is super difficult. I've got some more trap ideas floating around that I'll be adding.
I was also thinking of including some different example config files. Just to showcase the different styles of dungeons that are possible. Maybe I'll include different difficulty levels as well.
Rollback Post to RevisionRollBack
MCDungeon - Procedural Dungeons
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
I hear what you're saying. I have plans for larger multi-cell rooms and caverns. I don't think it will change the spawn rates much though.
The thing is, this can never have the monster density of something like Primordial Desert. The reason is that the desert worlds have hardly any dark underground areas that are not the dungeons or lower caves. So, all the monsters are concentrated in those tunnels since they have no where else to spawn. Since I'm rendering into a standard Minecraft map with all sorts of natural tunnels outside the dungeon, it will never be as thick with monsters as PD.
If you render one of these dungeons into a PD map, you'll see what I mean. Suddenly the dungeon will be just as nasty as everything else in PD. It has more to do with the world around it than the dungeon itself.
BTW-- rendering into a PD map is tricky. It won't work out of the box. The compression libraries Python provides and the files .net produces are not always compatible. You can work around this by loading a PD map into Minecraft first and run around to make Mincraft re-compress the chunks. (see this post for details.)
Rollback Post to RevisionRollBack
MCDungeon - Procedural Dungeons
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
IndexError: index (145) out of range (0<=index<128) in dimension 2
I ran the stand alone windows batch file, and got this error.
What did I do wrong?
Also, the thing looks epic already.
Hmmm.. hard to say without knowing some additional lines above this. I know of an issue where pymclevel sometimes gives me chunk coords out of range when trying to place a dungeon at one edge of the map. Usually if you try again it doesn't happen the second try.
Rollback Post to RevisionRollBack
MCDungeon - Procedural Dungeons
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
Right, my AdventureCraft + MCDungeon idea didn't work out; after 10-20 minutes or so of searching out information I decided to just give up on the idea for now and [maybe?] come back to it later.
Other than what's in the OP, Eggplant!, do you have any further information on additional rooms you have planned?
Other than what's in the OP, Eggplant!, do you have any further information on additional rooms you have planned?
Other than what I have in the OP, mainly just larger versions of the existing rooms, and some sort of end of dungeon treasure rooms. Right now everything is one "tile" (one chunk) in size. Now from there, I can start adding more things to go IN the rooms, like floors, and room features that are larger in size. Maybe themed features like a forge. Plus redstone gadgets and traps.
Quote from RedValkyrie »
Do you take ideas for challenges to include? If so, I'd love to include a couple things.
You bet! Always open to new ideas.
Quote from Commander Keen »
Any news on 1.4? I want to combine your dungeons with my map ruiner app, but I can't as long as there's the unremovable bedrock in walls..
Yeah, things are going slower than expected because I've not had as much time to work on this. I'll try to put out a quick fix to address this instead of waiting on the 0.1.0 features.
Rollback Post to RevisionRollBack
MCDungeon - Procedural Dungeons
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
I dont found Dungeons i generate...
But that say that generated!
HELP ME
( i have Standalone Windows version )
*I do not mean to sound rude, I had to figure out what you meant*
To start off, you may want to work on your grammar, I understand English may not be your first language, but it will make it easier for us to help you.
To answer your question, when you generate the map, did you do it with the bat file provided in the zip file, if so, when you selected a world, did you type it exactly as you saw it.
When it finished rendering did it say that it saved the changes, and did it fully finish? I have quit early too and relized I corrupted my save. *Backup before you start this program!*
If you cannot find the dungeon, make sure that your distance from the spawn is with in a set limit, then do a sweeping search of the chunks that could contain the dungeon start, if all else fails, remake the dungeon, but edit the cfg file so that the tower is VERY tall.
This will make it easier to find.
- Craig.
Rollback Post to RevisionRollBack
E=mc² | There, not only do I look smart, I can use special characters. REI'S MINIMAP - Cause its freakin easy to get lost!
I've been thinking about this, and I can definitely see cases where you might want to create a world with build turned off to force players not to "cheat" buy tunneling or building. The dead ends are a bit odd as well. I'm going to address these things in few ways:
1) The case you diagrammed is specific to "corridor" room types that only have one hall connected to them. I have a nice idea to add a special behavior to these rooms if they only have one hallway.
2) The other thing that bugs me about the current algorithm is that the mazes are too random, and you get too many artifacts like this. The current method is pretty dumb, but at least it results in no isolated areas. It was a brute force approach to get things off the ground. I'm going to rework this as a variant of the "hunt and kill" maze generation algorithm, with a randomness factor that will sprinkle additional hallways throughout the dungeon. This will provide a number of benefits:
a) At one extreme (randomness = 0%) this will produce mostly linear levels from stairwell to stairwell with a few branches, but no loops. Most rooms will have two exits, a few will have one or three, and four will be very rare. A player can be sure to navigate the entire level if they use a backtracking-like method when faced with a fork. I like this because it provides a way to make levels that are easier to navigate and not get lost in. For those folks that are completionists (me!) you can be sure to explore the entire level without getting hopelessly lost. :smile.gif:
:cool.gif: At the other extreme (randomness = 100%) this will produce a more random maze layout with lots of looping branches much like the current algorithm. This is for those that like a more lost-in-the-dark-omgimgoingtobeeatenbyaGRUE Moria-like experience.
c) This will add a little more customization to the layouts. People can adjust and tweak between these cases to taste.
d) This will also make it more likely that the entry and exit rooms on a given level will be further apart, allowing players to see more of the levels before moving on. You'll be far less likely to "luck out" and find stairwells right next to each other.
e) The bridges that are constructed in pit rooms currently have a random chance to NOT connect one or more doors, forcing players to build bridges if to continue or see certain areas. With the new maze method I can do away with this and end up with fewer (or no) cases where you'd have to build a bridge to continue.
3) I'll add a config option for the frequency of closed portcullises. If you don't like them, turn them off.
The other thing you can do currently is change the config to use bedrock for all the wall, floor, and ceiling blocks. :biggrin.gif:
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
I've tested this on Debian 6 (Squeeze) and Ubuntu 10.10 (Maverick). Both distros use Python 2.6.6. numpy and argparse are provided as packages in apt. The only trick is getting noise installed. Python should already be on the system as quite a few system tools use Python.
Install numpy and argparse modules and their dependencies:
Noise is tricky. Normally, I'd use stdeb/pypi-install to get this, but the noise package breaks trying to install on every system I've tried. You'll have to install manually:
Download the tar.gz from here: http://pypi.python.org/pypi/noise/
Unpack, build, and install (assuming you already have gcc installed):
Run MCDungeon!
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
I just wanted to say thank you for this. I was hoping there would be some sort of dungeon generator, as playing dungeon master isn't fun when you know when and where traps are located and where all the spawners and chests are located. The ability to have fun with my friends on the server and be just as surprised as they are when we run into something is extremely refreshing.
The dungeons I've generated with the tool so far have been extremely rich and though some places were quite random, it added quite a bit more challenge to how to complete them. There's nothing like getting the crap scared out of you by a spider scaling the ceiling and dropping down onto you. Thanks so much for this wonderful tool.
2G1G Minecraft server proudly provided by Brohoster.
"She's like Beetlejuice, except she's not dead and you summon her with the word 'indie'."
Awesome! Glad to hear you're enjoying it.
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
Love it, can't wait for the next version.
:biggrin.gif:
As far as the danger level of your dungeons, I would rate them only a 2/5 with night time being a 3/5.
the only truly scary thing ive seen in minecraft is the random dungeons the the Primordial Desert map generator by SeiBai. those have truly terrifying traps and ingenious use of mob and animal spawners. My buddy and i got utterly wrecked multiple times.
TL;DR the Primordial Desert has traps that could be put to good use here.
Arg... yes, you are correct. There is a bug here in 0.0.3. This will be fixed in the next version. sorry!
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
Thanks!
Yes, the default config isn't so hard. Some things you can do to make it harder:
[*:4ucrwjca] Increase the spawner density in the cfg file.
[*:4ucrwjca] Lower the torch percentage.
[*:4ucrwjca] Lower chest density or pull out the good loot.
[*:4ucrwjca] Play larger, not deeper dungeons. Not counting spawners, mobs won't spawn naturally within a certain radius. If you get further away from a section, it will spawn more mobs.
[*:4ucrwjca] Play in the DAYTIME. Yes, daytime. It's actually harder during the day because the mobs will be concentrated in the dark areas underground instead of spawning on the surface. Remember Minecraft only spawns a fixed number of mobs at a time, and of you limit the areas they can appear they will become concentrated.
I love the primordial desert generator, and it is super difficult. I've got some more trap ideas floating around that I'll be adding.
I was also thinking of including some different example config files. Just to showcase the different styles of dungeons that are possible. Maybe I'll include different difficulty levels as well.
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
The thing is, this can never have the monster density of something like Primordial Desert. The reason is that the desert worlds have hardly any dark underground areas that are not the dungeons or lower caves. So, all the monsters are concentrated in those tunnels since they have no where else to spawn. Since I'm rendering into a standard Minecraft map with all sorts of natural tunnels outside the dungeon, it will never be as thick with monsters as PD.
If you render one of these dungeons into a PD map, you'll see what I mean. Suddenly the dungeon will be just as nasty as everything else in PD. It has more to do with the world around it than the dungeon itself.
BTW-- rendering into a PD map is tricky. It won't work out of the box. The compression libraries Python provides and the files .net produces are not always compatible. You can work around this by loading a PD map into Minecraft first and run around to make Mincraft re-compress the chunks. (see this post for details.)
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
I ran the stand alone windows batch file, and got this error.
What did I do wrong?
Also, the thing looks epic already.
Hmmm.. hard to say without knowing some additional lines above this. I know of an issue where pymclevel sometimes gives me chunk coords out of range when trying to place a dungeon at one edge of the map. Usually if you try again it doesn't happen the second try.
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
Not sure what you mean? This is compatible with post-1.3 maps if that is your question.
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
Other than what's in the OP, Eggplant!, do you have any further information on additional rooms you have planned?
I run a server, and this will make a great addition to it. It's lots of fun discovering these random dungeons.
Do you take ideas for challenges to include? If so, I'd love to include a couple things.
Other than what I have in the OP, mainly just larger versions of the existing rooms, and some sort of end of dungeon treasure rooms. Right now everything is one "tile" (one chunk) in size. Now from there, I can start adding more things to go IN the rooms, like floors, and room features that are larger in size. Maybe themed features like a forge. Plus redstone gadgets and traps.
You bet! Always open to new ideas.
Yeah, things are going slower than expected because I've not had as much time to work on this. I'll try to put out a quick fix to address this instead of waiting on the 0.1.0 features.
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
This contains a single bug fix for properly reading the subfloor setting from the cfg file. There are no other changes.
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
Tomorrow I will have an epic render of a 3 level tower for your post. :smile.gif:
*Edit: 6Hrs later and still its not done rendering... :S
*Edit2: Its Done! Woot, here it is, you may have to download it and put it up somewhere else for it to display here though.
REI'S MINIMAP - Cause its freakin easy to get lost!
*I do not mean to sound rude, I had to figure out what you meant*
To start off, you may want to work on your grammar, I understand English may not be your first language, but it will make it easier for us to help you.
To answer your question, when you generate the map, did you do it with the bat file provided in the zip file, if so, when you selected a world, did you type it exactly as you saw it.
When it finished rendering did it say that it saved the changes, and did it fully finish? I have quit early too and relized I corrupted my save. *Backup before you start this program!*
If you cannot find the dungeon, make sure that your distance from the spawn is with in a set limit, then do a sweeping search of the chunks that could contain the dungeon start, if all else fails, remake the dungeon, but edit the cfg file so that the tower is VERY tall.
This will make it easier to find.
- Craig.
REI'S MINIMAP - Cause its freakin easy to get lost!