The Dungeonator

Overview
The Dungeonator is, as the title indicates, a procedural dungeon crawl generator. When completed, it will override the native world generation code entirely, producing an infinite expanse of mines, tunnels, caves, and more, packed with mobs, traps and treasures.
Potential future additions include: biomes (lava, ice, forest, aquatic), classes, NPCs, quests, an automated DM (Dungeonator Master), procedural or prefab puzzles, ...
Technical Details
I'm using a combination of pure procedural generation and tile-based prefabs to assemble the dungeon. This allows for a great deal of flexibility and variety, as I can seamlessly drop nice hand-made tiles or sets of tiles into the sea of procedural content.
Underground biomes are also a possibility.
Prefab 'widgets' can be used to decorate tile-based chunks. They can also be used to dynamically populate procedural chunks based on dimensions and tags.
Roadmap
This information is laughably preliminary and subject to significant change. This rough road map comprises the earliest phase of this project. At the end of this phase, the Dungeonator will be generating an infinite (a little birdy told me it was 8 times the size of the Earth) labyrinth of very uninteresting rooms and passages. After that, the real fun can begin.
- [Done] 0.0.1 “Flatland” - Flat, featureless terrain generation with stone base.
- [Done] 0.0.2 “Labyrinth” - Simple NESW tile-based generation and edge/entry matching. Effectively an infinite random maze. Experiment with storage and import mechanisms for tiles. Build basic Chunk Editor.
- [Done] 0.0.3 “Compass Rose” – 12-exit tile-based generation and matching. More complex pathways can emerge. Experiment with exit weighting to vary likelihood of loops and overall difficulty of traversal. Experiment with procedural generation for passage chunks.
- [In Progress - 67%] 0.0.4 “Great Hall” – Experiment with room types, e.g.: storage/cell (1-exit), wide passage (2-exit), hub (3+ exit). Experiment with room weighting vs. passage weighting in overall generation scheme. Multi-chunk rooms. Candidate selection based on exit and wall compatibility. Experiment with size weighting and need for chunk pre-reservation.
- [Not started] 0.1.0 – Revisit design and formulate further goals
-
View User Profile
-
Send Message
Posted Dec 8, 2011Some progress on the AMT system:
http://i.imgur.com/mC7DB.png
http://i.imgur.com/6ilNt.png
-
View User Profile
-
Send Message
Posted Dec 7, 2011This is AWESOME, once finished I may run a dedicated server of this, keep it up!
-
View User Profile
-
Send Message
Posted Dec 6, 2011Here are the planned features for 0.0.4: https://github.com/Timberjaw/Dungeonator/issues?milestone=6&state=open
My goal is that 0.0.4 will actually be roughly playable. The primary features are:
I'm still proceeding with the assumption that I'll be doing all of this myself, but if any reasonably experienced plugin devs out there are interested in:
I would definitely be interested in talking to you. :)
-
View User Profile
-
Send Message
Posted Dec 4, 2011@lawliet555
It's not currently possible, but it will definitely be possible in later versions. I'm intentionally avoiding it for now because I don't want anyone to be using this on a real server yet. The first version I expect to maybe be ok for real use will be 0.1.0. In that version, I plan to offer a couple basic configuration options:
I also hope to have zone teleports in that version (i.e. if you're using the dungeon as an extra world, you can specify zone teleports in the default world that will take adventurers to the dungeon).
As always, I'm open to feedback and suggestions on this or any other feature.
-
View User Profile
-
Send Message
Posted Dec 4, 2011Is it possible to get this as a loadable world though Multi Verse or other such plugin. I would like to look at using this in the future when you have the different types of rooms and such more complete but want to run this along side a couple of other maps.
Thx
Sayomie
-
View User Profile
-
Send Message
Posted Dec 1, 2011Some early work on room theme palettes for automatic material translation: http://dev.bukkit.org/paste/4308/
Basically the idea is that you can flag a room as available for multiple themes (e.g. "default,wood,frozen"), and Dungeonator will instantiate the room in the generator with key materials converted to their thematically appropriate counterparts. Thus you can build a room once, and have it appear in multiple forms (with different materials) with no extra work.
-
View User Profile
-
Send Message
Posted Dec 1, 2011Everything is to throw an error but may be able to be here for test server with a few plugins
-
View User Profile
-
Send Message
Posted Dec 1, 2011@PyPKjE
Your folder structure should look like:
craftbukkit.jar
libs/
- jnbt-1.1.jar
plugins/
- dungeonator.jar
- dungeonator/
- - dungeonator.db
- - tiles/ (a bunch of files in here)
- - widgets/
-
View User Profile
-
Send Message
Posted Dec 1, 2011Add to quit the same :/
-
View User Profile
-
Send Message
Posted Dec 1, 2011@PyPKjE
You need to add JNBT 1.1 to your libs folder.
-
View User Profile
-
Send Message
Posted Dec 1, 2011@grindle2000
Did you copy the dungeonator.db file and the library folder as well?
-
View User Profile
-
Send Message
Posted Dec 1, 2011Why quit problem?
[SEVERE] Error occurred while enabling Dungeonator v0.0.3 (Is it up to date?): org/jnbt/Tag
java.lang.NoClassDefFoundError: org/jnbt/Tag at com.aranai.dungeonator.Dungeonator.onEnable(Dungeonator.java:135) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:188) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:957) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:280) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:176) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:159) at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:118) at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:52) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:141) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:388) at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
Caused by: java.lang.ClassNotFoundException: org.jnbt.Tag at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 11 more
-
View User Profile
-
Send Message
Posted Nov 30, 2011@grindle2000
AH i didnt have a libs folder at all . I made one and dropped in the file and it loaded right up :)
I tried it and it generated a world of rooms all exactly the same lol from bedrock to sky :)
-
View User Profile
-
Send Message
Posted Nov 30, 2011@grindle2000
It will be in your base minecraft server folder, e.g. the following structure:
craftbukkit.jar
libs/
- jnbt-1.1.jar
plugins/
- dungeonator.jar
-
View User Profile
-
Send Message
Posted Nov 30, 2011@grindle2000
im sorry to ask what is probably a newbie question but where is the libs folder lol?
-
View User Profile
-
Send Message
Posted Nov 30, 2011@grindle2000
In your libs folder.
-
View User Profile
-
Send Message
Posted Nov 30, 2011where does jnbt-1.1.jar go ?
-
View User Profile
-
Send Message
Posted Nov 30, 2011Please add some screenshots :D
-
View User Profile
-
Send Message
Posted Nov 30, 2011:D Omg this will be awesome ill be putting up a test server soon for it.
-
View User Profile
-
Send Message
Posted Nov 30, 2011New version, 0.0.3 "Compass Rose" is up for download. Still very much an alpha release; use at your own risk, on a server that contains no other worlds. This version adds a better room editing and generation process, improves performance and adds a starting room library.