Hm, I don't think it's the apostrophe; I have a test world called "this'll work" and I've managed to generate two random dungeons in it (I'm exploring one of them right now!). This was using the latest posted version of my launcher batch file and MCDungeon v0.0.2
[*:25xsj1a2] A few tweaks to the default .cfg file.
[*:25xsj1a2] Removed --world option and replaced it with a positional argument.
[*:25xsj1a2] Added --interactive option. This will prompt for SAVEDIR, Z, X, and LEVEL
[*:25xsj1a2] Added batch file for windows to start in interactive mode.
[*:25xsj1a2] Added a little more progress feedback.
@SoNick -- Your batch script will still work, but you'll need to make a small change... The map name no longer requires -w or --world. Just make sure to list the arguments in the order listed in --help.
I hope this version will make life a lot easier for our Windows users, and I can get back to adding more stuff!
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
[*:n1mp52sz] A few tweaks to the default .cfg file.
[*:n1mp52sz] Removed --world option and replaced it with a positional argument.
[*:n1mp52sz] Added --interactive option. This will prompt for SAVEDIR, Z, X, and LEVEL
[*:n1mp52sz] Added batch file for windows to start in interactive mode.
[*:n1mp52sz] Added a little more progress feedback.
@SoNick -- Your batch script will still work, but you'll need to make a small change... The map name no longer requires -w or --world. Just make sure to list the arguments in the order listed in --help.
I hope this version will make life a lot easier for our Windows users, and I can get back to adding more stuff!
Right, I've tested it and it works fine!
Interactive mode in the EXE itself seems to work nice! The only thing it's missing that my script has is a prompt asking if the user'd like to generate HTML files, but I'm sure that'll be in the next version! =P
Here's [likely the last] version of my batch file, for those who don't want to run in interactive version for whatever reason:
@echo off & setLocal enableDelayedExpansion
Name: MCDungeon_Launcher.bat
Author: SoNick
Date: 4/2/2011
Description: A simple batch file for running Eggplant!'s MCDungeon program
Version: 1.3
:setNorSou
@echo off
cls
SET /P norSou=Please enter the number of rooms North/South (No less than 2, or enter -1 for random):
if %norSou% GEQ 2 (
goto :setEasWes
) else (
if %norSou% NEQ -1 (
echo That number is too small!
pause
goto :setNorSou
) else (
goto :setEasWes
)
)
:setEasWes
@echo off
cls
SET /P easWes=Please enter the number of rooms East/West (No less than 2, or enter -1 for random):
if %easWes% GEQ 2 (
goto :setFloors
) else (
if %easWes% NEQ -1 (
echo That number is too small!
) else (
goto :setFloors
)
)
pause
goto :setEasWes
:setFloors
@echo off
cls
SET /P floors=Please enter the number of floors (Enter -1 for random):
if %floors% NEQ 0 (
goto :setWorldName
) else (
echo I'm sorry, but 0 is not a valid number of floors!
)
pause
goto :setFloors
:setWorldName
@echo off
cls
SET /P worldName=Please enter the name of the World to add a Dungeon to:
SET worldName=%worldName:"=%
if exist %cd%\%worldName%\level.dat (
goto :setHTML
) else (
echo %worldName% does not exist!
)
pause
goto :setWorldName
:setHTML
@echo off
cls
SET /P setHTML=Would you like to the program to generate HTML maps of the dungeon? (Y/N)
if /i %setHTML%==Y (
goto :mcDungeon_html
) else (
if /i %setHTML%==yes (
goto :mcDungeon_html
) else (
goto :mcDungeon_nohtml
)
)
:mcDungeon_nohtml
@echo on
mcdungeon "%worldName%" %easWes% %norSou% %floors% --write
@echo off
pause
GOTO:EOF
:mcDungeon_html
@echo on
mcdungeon "%worldName%" %easWes% %norSou% %floors% --html "%worldName%" --force --write
@echo off
pause
GOTO:EOF
Ha, and I had a crazy idea while I was at work today, but to try I'm going to have to wait until Crytech updates AdventureCraft. Granted these dungeons won't really take advantage of many of AdventureCraft's features but in theory nothing should be stopping me from simply adding the Heart Container item to the final treasure chest's spawn list and then adding pieces of heart with low odds of showing up in random chests..!
I can't seem to get it to work. I'm on Mac OS X 10.6, I had python installed before, but an old version, so I updated to 2.7. I had to install another library for noise. (or numby, can't remember which) I tried launching it via the command line and it said it wanted argparse, even though I'm on 2.7! I installed that, and then it would work and display the help message, but when I try to generate a dungeon, this happens:
~/Downloads/mcdungeon-0.0.3$ ./mcdungeon.py -i
Reading items database: items.txt ...
Loaded 230 items.
Traceback (most recent call last):
File "./mcdungeon.py", line 90, in <module>
from dungeon import *
File "/Users/Cole/Downloads/mcdungeon-0.0.3/dungeon.py", line 7, in <module>
from noise import pnoise3
ImportError: No module named noise
The only thing it's missing that my script has is a prompt asking if the user'd like to generate HTML files, but I'm sure that'll be in the next version! =P
Actually, I had that in there at first, and then took it out. Like you mentioned previously, the maps are cool, but they kind of detract from the fun of exploring the dungeon. After some thought, it figured it was too much to have them accessible from the "easy button"
Credit really goes to you for the concept of that mode. I'll not likely add much to that from here.
Ha, and I had a crazy idea while I was at work today, but to try I'm going to have to wait until Crytech updates AdventureCraft. Granted these dungeons won't really take advantage of many of AdventureCraft's features but in theory nothing should be stopping me from simply adding the Heart Container item to the final treasure chest's spawn list and then adding pieces of heart with low odds of showing up in random chests..!
Sounds fun!
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'm going to try reinstalling numby though, just to make sure.
EDIT: numpy install seems to work: http://pastebin.com/qgXrb76K (unless that only built numby and I still need to move it somewere, kinda unsure on that)
But I still get this when running mcdungeon:
~/Downloads/mcdungeon-0.0.3$ python mcdungeon.py -i
Traceback (most recent call last):
File "mcdungeon.py", line 6, in <module>
from pymclevel import mclevel, nbt
File "/Users/Cole/Downloads/mcdungeon-0.0.3/pymclevel/__init__.py", line 1, in <module>
from mclevel import *
File "/Users/Cole/Downloads/mcdungeon-0.0.3/pymclevel/mclevel.py", line 179, in <module>
import nbt
File "/Users/Cole/Downloads/mcdungeon-0.0.3/pymclevel/nbt.py", line 28, in <module>
from numpy import array, zeros, uint8, fromstring
ImportError: No module named numpy
It certainly seems like you are getting issues from running different versions of python at different times. For example, 2.7.1 already has argparse as a built in module. That must have been 2.6 complaining. I'm wondering if the modules are being installed in the wrong locations?
Have you tried using easy_install? As long as you have the proper toolchain installed it should work, and make good assumptions about module installation locations.
1) The default Python 2.6.1 that ships with OS X works fine. It includes version 1.2.1 of numpy, which is also fine. You do need to install argparse and noise.
2) Install XCode. I installed 4.0.1 from the App Store. You need this for gcc to build noise. There are other (free) ways to get gcc on the system, but this is how I did it.
3) Install argparse:
sudo easy_install argparse
4) Install noise. For some reason, (it makes no sense) GCC wanted to default to a PPC arch. I ended up forcing it to build x86_64 with the env variable. If for some strange reason you need 32 bit, use "-arch i386" instead.
Oh, glad to see a new random dungeon generator being developed! The results aren't bad at all.
The rooms look fine, and the structure is nice enough as far as I can see. Good job so far.
But I found a few things...
Thanks for checking it out!
1) The test level I generated was full of dead ends. Are the results intended to use in an "adventure" setting? (do not break blocks etc). Most doors lead to dead ends or gates that need to be destroyed to proceed, unless I am missing something.
All the things you mention are purposeful. With the default .cfg file all the rooms are reachable without tunneling, but you may have to hack thorough a closed portcullis, or build your way across a chasm. The intent is that this is a ruined dungeon. There may have been cave-ins, sealed portcullises, or collapsed bridges. Chests and spawners are typically placed in "dead ends" since those are probably the hardest to reach areas. In fact, the default starting gear tries to supply you with at least a sword and a pickaxe so you can get around.
2) No starting gear. This is fine for several game styles, but like in MCmapper, a small option to give a small starter kit would be useful. The rationale is using fresh maps to build dungeons into (to avoid destroying any existing world by accident), so one can do a "roguelike" session of sorts. Right now from a blank slate there is no way to equip yourself with dungeon items...I have yet to see one chest with equipment too.
There is starting gear! Maybe you just didn't look hard enough. People tend not to look up. :wink.gif:
Now, I can't claim all the loot tables are perfectly balanced yet... you may have gotten unlucky. A "roguelike" is exactly what I'm going for.
3) Running using Ubuntu, at least two of the required packages aren't available in packages. This is a minor concern for me, as I know my way around, but other users in similar systems might be better running the windows version from WINE if they aren't savvy enough.
There is only one package I know of that is not available in Ubuntu 10.10, and Debian Squeeze (the noise package). But, all packages are available via PiPy, which is very easy to use. I agree this is a little bit of a bummer, and may change if I can find or write a good replacement for the perlin noise functions.
I will be running other maps to see if an "Adventure mode" setting is possible. Either way I will keep an eye open for this tool, I was saddened by the "demise" of MCmapper and I can't wait to see another generator fill its void.
Thanks! And please keep the suggestions coming!
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
If there isn't any, redstone stuff can do wonders to increase the depth of dungeons (like multilock doors, fake traps (imagine a pressure plate and a dispenser with arrows. But instead of activating the dispenser through the pressure plate, make the door switch fire the arrow. The plate would be linked to nothing just to confuse)...anything else would be extra variety in rooms and stuff, the possibilities are huge.
Excellent! Yes, I've started adding a few things. There is currently one redstone powered trap type, and I plan to add more. The trick is making them fun and not aggravating. For example-- pressure plates on top of TNT is easy, but not a lot of fun.
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 looks really cool. Can you use this to make dungeons for server play at all? :>
Absolutely! In fact, SMP was the original use case. I use it on my server. I generate a new random dungeon in a MultiVerse world each week. It's a great way to give players an alternate way to get rare resources, but still make them work for it.
The command line tools make this easy to automate!
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
Do you really have an apostrophe in your world's folder name?
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
[*:25xsj1a2] A few tweaks to the default .cfg file.
[*:25xsj1a2] Removed --world option and replaced it with a positional argument.
[*:25xsj1a2] Added --interactive option. This will prompt for SAVEDIR, Z, X, and LEVEL
[*:25xsj1a2] Added batch file for windows to start in interactive mode.
[*:25xsj1a2] Added a little more progress feedback.
@SoNick -- Your batch script will still work, but you'll need to make a small change... The map name no longer requires -w or --world. Just make sure to list the arguments in the order listed in --help.
I hope this version will make life a lot easier for our Windows users, and I can get back to adding more stuff!
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
Right, I've tested it and it works fine!
Interactive mode in the EXE itself seems to work nice! The only thing it's missing that my script has is a prompt asking if the user'd like to generate HTML files, but I'm sure that'll be in the next version! =P
Here's [likely the last] version of my batch file, for those who don't want to run in interactive version for whatever reason:
Ha, and I had a crazy idea while I was at work today, but to try I'm going to have to wait until Crytech updates AdventureCraft. Granted these dungeons won't really take advantage of many of AdventureCraft's features but in theory nothing should be stopping me from simply adding the Heart Container item to the final treasure chest's spawn list and then adding pieces of heart with low odds of showing up in random chests..!
I'm sure I installed noise:
Is there something I'm doing wrong?
[1.16.4] Safechat
Actually, I had that in there at first, and then took it out. Like you mentioned previously, the maps are cool, but they kind of detract from the fun of exploring the dungeon. After some thought, it figured it was too much to have them accessible from the "easy button"
Credit really goes to you for the concept of that mode. I'll not likely add much to that from here.
Sounds fun!
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
Try a couple of things for me:
Validate which version of python is getting called:
and:
Also, try running it this way:
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
With python mcdungeon.py -i, it says it wants numpy, which I did install. As for the version number:
I'm going to try reinstalling numby though, just to make sure.
EDIT: numpy install seems to work: http://pastebin.com/qgXrb76K (unless that only built numby and I still need to move it somewere, kinda unsure on that)
But I still get this when running mcdungeon:
[1.16.4] Safechat
Have you tried using easy_install? As long as you have the proper toolchain installed it should work, and make good assumptions about module installation locations.
I'll fire up my macbook and poke around.
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
Here is how I got this working under OS X 10.6.7.
1) The default Python 2.6.1 that ships with OS X works fine. It includes version 1.2.1 of numpy, which is also fine. You do need to install argparse and noise.
2) Install XCode. I installed 4.0.1 from the App Store. You need this for gcc to build noise. There are other (free) ways to get gcc on the system, but this is how I did it.
3) Install argparse:
4) Install noise. For some reason, (it makes no sense) GCC wanted to default to a PPC arch. I ended up forcing it to build x86_64 with the env variable. If for some strange reason you need 32 bit, use "-arch i386" instead.
5) Run MCDungon!
I'll update the OP with specific tested configurations and a link to this post.
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
Thanks for checking it out!
All the things you mention are purposeful. With the default .cfg file all the rooms are reachable without tunneling, but you may have to hack thorough a closed portcullis, or build your way across a chasm. The intent is that this is a ruined dungeon. There may have been cave-ins, sealed portcullises, or collapsed bridges. Chests and spawners are typically placed in "dead ends" since those are probably the hardest to reach areas. In fact, the default starting gear tries to supply you with at least a sword and a pickaxe so you can get around.
There is starting gear! Maybe you just didn't look hard enough. People tend not to look up. :wink.gif:
Now, I can't claim all the loot tables are perfectly balanced yet... you may have gotten unlucky. A "roguelike" is exactly what I'm going for.
There is only one package I know of that is not available in Ubuntu 10.10, and Debian Squeeze (the noise package). But, all packages are available via PiPy, which is very easy to use. I agree this is a little bit of a bummer, and may change if I can find or write a good replacement for the perlin noise functions.
Thanks! And please keep the suggestions coming!
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
Excellent! Yes, I've started adding a few things. There is currently one redstone powered trap type, and I plan to add more. The trick is making them fun and not aggravating. For example-- pressure plates on top of TNT is easy, but not a lot of fun.
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
Absolutely! In fact, SMP was the original use case. I use it on my server. I generate a new random dungeon in a MultiVerse world each week. It's a great way to give players an alternate way to get rare resources, but still make them work for it.
The command line tools make this easy to automate!
The volume of a pizza of thickness a and radius z can be described by the following formula: pi*z*z*a
Running around in an 8 by 8 by 6 dungeon...
This terrified me.
http://i536.photobucket.com/albums/ff32 ... 1302067687