Jump to content

  • Curse Sites
Become a Premium Member! Help
Latest News Article

[1.7.2] MCDungeon v0.13.0

map tool dungeon roguelike

  • Please log in to reply
1784 replies to this topic

#1

Eggplant!
  • Minecraft: orphu

Posted 29 March 2011 - 04:33 AM

*
POPULAR

Posted Image



MCDungeon will create a procedurally generated dungeon in a preexisting minecraft map. It is not yet feature complete, but can already generate dungeons with quite a bit of variety. It is written in Python and makes use of code from Paul Hodge's minetown project and codewarrior's pymclevel.I primarily use this for SMP and multiworld via Craftbukkit and MultiVerse. But it works just fine in single player too.Thanks to the following for their interest, inspiration, and great ideas! (in no particular order)BeeTLe BeTHLeHeM, codewarrior, Link1999, SoNick, Commander Keen,Yelik, NoiGren, whoiscraig, ChocolateySyrup, Sevminer, AnderZ EL,SuddenLee, Silre, NuclearDemon, bking1138, BarthVader,  koredozo,janxious, compgurusteve, and JiFish.

http://mcdungeon.bubblemod.org

Videos



Screenshots

Spoiler:

Current Features
  • Automatically finds a good location on a map based on range, size, and depth parameters. Can detect player structures and try not to overwrite them.
  • Dungeons can be removed from a map later and the landscape allowed to regenerate.
  • Dungeons can be regenerated in place with a new layout, mobs, and treasure.
  • Can generate multiple of dungeons in a map, or try to fill the map with as many dungeons as possible.
  • Generates room layouts based on a random weighted selection of rooms. Rooms are filled with ranomd hallways, floors, room features, and ruins on the surface, all of which are configurable.
  • The density and placement of doors, portcullises, and torches are configurable. Option to place fewer torches as levels go down. Less light == more danger!
  • A "hard mode" that will attempt to fill in nearby natural caves in an attempt to concentrate random monster spawns inside the dungeon.
  • Places stairwells between levels, and a tower entrance with a spiraling staircase. The tower height is configurable so it can be seen for many chunks.
  • Optionally places a MultiVerse (Craftbukkit plugin) portal at the bottom of the dungeon to teleport players out to the world of your choice.
  • Places chests with loot around the dungeon in (probably) hard to reach places. An arbitrary number of loot tables can be configured to provide variety. The density of chests is configurable.
  • Places mob spawners throughout the dungeon. These will likely be near chests, but not always. Mob types are configurable. The density of spawners is configurable. Some 'non-standard' mobs are available. Posted Image
  • Random placement of secret traps.
  • Output floor maps to a terminal with color on ANSI systems.
  • Output entire dungeon maps to HTML.
  • Other things I've left out to avoid spoilers. Posted Image
Changes in v0.13.x - This version requires Minecraft 1.7.2 or higher
  • New Feature: WildGrowth (JiFish)
  • New entrance variations for Mesa and Ice Spike biomes. (orphu)
  • River and ocean biome exclusions are now configurable. (orphu) See default.cfg for details.
  • Interactive mode will now prompt for max_dist value to help avoid confusion for new users. (JiFish)
  • Progress now reports how many dungeons have been placed. (orphu)
  • Changed config layout to make distributing themed configs easier. (JiFish)
  • Improved carpets in chapels. (JiFish)
  • Added more paintings. (JiFish)
  • Updated existing paintings to use expanded map palette. (JiFish)
  • Added 1.7 materials to various dungeon features (JiFish, orphu)
  • Added 1.7 fishing pole enchantments. (orphu)
  • Lowered the default silverfish concentration since explosions now trigger silverfish to spawn. (orphu)
  • Moved blocks out of items.txt to materials.cfg. This allows more control over how blocks are used in the dungeons without requiring code changes. (orphu)
  • Fixed a bug that caused the dungeon placer to give up early when placing multiple dungeons of a fixed depth. (orphu)

Posted Image GIANT WARNING TEXT  Posted Image


This tool will write data to your minecraft maps and may destroy them! MCDungeon will attempt to avoid player structures, but there is no guarantee. NEVER run this against a map that is currently loaded into Minecraft! Make Backups! Work with copies! I'm not responsible if it destroys your 120+ hour Justin Bieber pixel art!

Support Tips

When asking for help, you'll get the best response if you are sure to include the following:
  • A clear description of the problem you are seeing.
  • Include your OS version, MCDungeon version, Minecraft version, and any Minecraft mods you are running.
  • If running from the command line, include the command exactly as you typed it.
  • Use pastebin to post the complete console output from MCDungeon.
  • pastebin your .cfg file if you have modified it.
Downloads and Usage

Download the latest version from the official MCDungeon site.
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

Register or log in to remove.

#2

Link1999
    Link1999

    Tree Puncher

  • Members
  • 28 posts

Posted 29 March 2011 - 06:20 AM

Looks really good! i can't wait for release. If you need a tester, I'll be happy to help!
EDIT: Bookmarked. Can't believe i forgot to.
Posted Image

#3

Mattarias
    Mattarias

    Stone Miner

  • Curse Premium
  • Curse Premium
  • 93 posts
  • Location: Somewhere.. Somewhere.
  • Minecraft: Mattarias

Posted 29 March 2011 - 08:28 AM

This looks absolutely impressive. Keep up the good work! I'm free to help as well, if necessary. Good luck! These dungeons are gonna be awesome!
Ex incendia et flamma.

#4

Fadasa
    Fadasa

    Zombie Killer

  • Members
  • 192 posts

Posted 30 March 2011 - 12:23 AM

ME DO WANT NOW
I loved MCmapper, too bad it's not working, the faster you work the happier I be

#5

SoNick
    SoNick

    Iron Miner

  • Members
  • 325 posts
  • Location: Kansas, USA

Posted 30 March 2011 - 09:00 AM

As a fellow fan of MCMapper I must say that I, too, am excited for the release of this tool!

I noticed that you said that this will require a few python dependencies in its current state. What are the dependencies, if you don't mind saying so prior to the release of the tool? It might be nice to download them now so I'm good to go when you're ready to release! =P
- SoNick

#6

Eggplant!
  • Minecraft: orphu

Posted 30 March 2011 - 03:37 PM

SoNick said:

I noticed that you said that this will require a few python dependencies in its current state. What are the dependencies, if you don't mind saying so prior to the release of the tool? It might be nice to download them now so I'm good to go when you're ready to release! =P

No problem! I've tested on Python 2.6 and 2.7. My recommendation right now will be to use 2.6, as the depedencies are a little harder to deal with under 2.7, especially under Windows. In fact, Windows is such a PitA, I'm looking into distributing a standalone version built with PyInstaller.

If you want to get a leg up, I'd appriciate the feedback:

Python 2.6 or 2.7. I've tested on 2.6.6 and 2.7.1.

Python Modules:

For Linux users, if you can find these in your disributions package repo, I'd recommend installing them from there. Noise is probably the only one that would need to be manually downloaded under Debian/Ubuntu.


Building the noise module is a bit of a pain on Windows. Other systems should be fine, just make sure you have gcc installed. Quick and dirty howto for building the noise module for 2.7 on windows:

    [*:24ptj3d7] Install Python. Make sure the python command is in your path.
    [*:24ptj3d7] Install the mingw compiler:
    http://sourceforge.n...ts/mingw/files/
    [*:24ptj3d7] Make sure the mingw bin folder is in your path.
    [*:24ptj3d7] from the noise install folder:
    python setup.py install build --compiler=mingw32

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

#7

Sleaker
    Sleaker

    Tree Puncher

  • Curse Premium
  • Curse Premium
  • 17 posts

Posted 30 March 2011 - 04:02 PM

Does this use pre-defined rooms and link them together? or does it generate the rooms dynamically?  

Vault style definitions similar to Angband vaults would be cool.

#8

Eggplant!
  • Minecraft: orphu

Posted 30 March 2011 - 04:17 PM

It's more like Angband style vaults. There are no schematics or predefined rooms. Rooms are constructed dynamically by randomly selecting different room shapes, floor styles, room features, traps, etc and then connecting them with halls, and stairwells.

In the spirit of Minecraft I wanted everything to be procedural. You can affect certain aspects of the dungeon and frequencies of features via a config file.
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

#9

Eggplant!
  • Minecraft: orphu

Posted 31 March 2011 - 01:43 AM

Okay folks! Just updated to OP with download info for the 0.0.1 release. :)

Please backup your maps! Good luck, godspeed, and let me know what problems you encounter.
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

#10

shaggythepaul

Posted 31 March 2011 - 04:03 AM

This is cool but I'm not really familiar with command prompt... Things.

It says 'mcdungeon.exe' is not recognized as an internal or external command, operable program or batch file.


What do I need to do?

#11

SoNick
    SoNick

    Iron Miner

  • Members
  • 325 posts
  • Location: Kansas, USA

Posted 31 March 2011 - 06:50 AM

Hm... The EXE version doesn't appear to work; I can't even get it to produce an HTML output.
The python version, however, appears to be working fine; I've been playing with the options a bit and the maps are kind of interesting! As of this post I have yet to be sure it will successfully write to a world, however; I'm going to play with the config files until I get a decent idea of how to get dungeons I like then I'm going to test that out and do some dungeon-crawling!
- SoNick

#12

Sleaker
    Sleaker

    Tree Puncher

  • Curse Premium
  • Curse Premium
  • 17 posts

Posted 31 March 2011 - 07:12 AM

Ahh Angband does both dynamic, and the vault system lets you have 'preset map configurations (templates)' that are sometimes loaded in too. I was wondering if you would be able to allow mixed dungeon generation with both vaults (maybe a % of the rooms created are 'vaults').  Vaults are usually the special rooms in the dungeon which is why it's nice to have have them templated as you could put a boss and the better rewards in them.

#13

Eggplant!
  • Minecraft: orphu

Posted 31 March 2011 - 02:29 PM

shaggythepaul said:

It says 'mcdungeon.exe' is not recognized as an internal or external command, operable program or batch file. What do I need to do?

It probably says that because the mcdungeon.exe is not in your command path, which is normal. You have to be sure to be in the directory that contains the file.

1. unzip the contents somewhere.
2. Open a command prompt (start menu >  run "cmd \d")
3. cd to the folder that contains the files you unzipped
3. mcdungeon.exe --help
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

#14

Eggplant!
  • Minecraft: orphu

Posted 31 March 2011 - 02:31 PM

SoNick said:

Hm... The EXE version doesn't appear to work; I can't even get it to produce an HTML output.

Can you give me details? What happens when you execute the command? What output does it produce? What is your OS? 32 or 64 bit?

I've tested it on a couple of systems and it appears to work fine. Although I just figured out that I forgot to include the HTML images in the exe zip file. They are in the python archive.
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

#15

Eggplant!
  • Minecraft: orphu

Posted 31 March 2011 - 02:36 PM

Sleaker said:

Ahh Angband does both dynamic, and the vault system lets you have 'preset map configurations (templates)' that are sometimes loaded in too. I was wondering if you would be able to allow mixed dungeon generation with both vaults (maybe a % of the rooms created are 'vaults').  Vaults are usually the special rooms in the dungeon which is why it's nice to have have them templated as you could put a boss and the better rewards in them.

Ah, yes that is true. Right now it's all dynamic, but there are a couple of built-in special "vault-like" rooms. The max tier treasure room at the bottom (always has the best treasure), the MultiVerse portal room, and the entrance room are special rooms that only appear once in a given dungeon. Unless you mess with the config to make them appear more.

Some sort of room definition method is something to think about. Maybe using Angband-like definitions would be cool.
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

#16

Commander Keen

Posted 31 March 2011 - 03:40 PM

Is there any way to generate random number of rooms and levels?

EDIT: The example line showing how to use it with the appdata folder doesn't work.

#17

Eggplant!
  • Minecraft: orphu

Posted 31 March 2011 - 05:21 PM

Commander Keen said:

Is there any way to generate random number of rooms and levels?

Not directly... you could script this pretty easy. That would be neat though. Something to add.

Quote

EDIT: The example line showing how to use it with the appdata folder doesn't work.

It works if you have a map folder named "dungeon." Are you getting a particular error?
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

#18

SoNick
    SoNick

    Iron Miner

  • Members
  • 325 posts
  • Location: Kansas, USA

Posted 31 March 2011 - 10:50 PM

Eggplant! said:

SoNick said:

Hm... The EXE version doesn't appear to work; I can't even get it to produce an HTML output.

Can you give me details? What happens when you execute the command? What output does it produce? What is your OS? 32 or 64 bit?
Ah... I didn't remember the specifics of it so I tested just now and it appears to work fine? This is odd...
In any case, you're correct about the HTML not working for the reason you specified; it creates the HTML files just fine but they're just sets of broken images.
If you still want the data I'm running Windows XP SP 3 32-bit.

I also ran into an odd error wherein the program errored out partway through creating a dungeon on my Beta 1.3_01 world. I later found one of the three dungeons I'd generated in the world that had the tower and everything, but after journeying down to the base floor it had roughly five rooms with no steps to go deeper; digging down revealed the bedrock between the floors, and a small bit of wall-digging revealed no additional rooms. Odds are good that this was my partially-generated dungeon, and I did not get a chance to find the other two dungeons I'd generated before moving all of my Beta 1.3_01 saves to an archival directory to start a new world for Beta 1.4.
I will test dungeon generation on my new map, although it -should- work fine as the save format has not changed between Beta 1.3_01 and Beta 1.4 and the HTML output worked fine.

I'm actually a little torn here! For testing I probably should generate an HTML file to go with the dungeon(s) I generate on the map, but having an easily-accessible cheat sheet takes some of the fun out of exploring them!
The random option sounds rather nice as well! I have an idea how to script that myself, but I may just wait until it's implemented into the program so I don't have a script that will be depreciated shortly after I've written it! =P
- SoNick

#19

Eggplant!
  • Minecraft: orphu

Posted 31 March 2011 - 11:47 PM

Glad to hear the winexe version works!

I know what you mean by the HTML maps being too tempting! :)

It seems to work fine under 1.4. I generated several maps without issues. Next time it errors out, please capture the output and pastebin it for me.

Don't bother scripting the random dungeon sizes. I've already added it! I've also added cookies, and other stuff from 1.4. I should have a small update posted later tonight.
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

#20

Yelik
    Yelik

    Zombie Killer

  • Members
  • 196 posts
  • Minecraft: yelik

Posted 01 April 2011 - 12:13 AM

It doesn't seam to work on my windows 7 64 bit computer and the command window closes instantly so I can't get the error.
Posted Image