Created for /r/proceduralgeneration's monthly challenge.

Press Enter to generate a new dungeon, more shortcuts here. All the options are available via the context menu (right-click on the generator).

🃏This generator is a part of Procgen Arcana.

Made with Haxe + OpenFL.

You can use images created by the generator as you like: copy, modify, include in your commercial rpg adventures etc. Attribution is appreciated, but not required. Please consider supporting this project on Patreon☕!

StatusPrototype
CategoryTool
PlatformsHTML5
Rating
Rated 4.9 out of 5 stars
(943 total ratings)
Authorwatabou
GenreRole Playing
Made withHaxe, OpenFL
TagsDungeon Crawler, Generator, Procedural Generation
Average sessionA few seconds
LanguagesEnglish
InputsKeyboard, Mouse, Touchscreen
AccessibilityColor-blind friendly, High-contrast
LinksPatreon, Twitter

Development log

Comments

Log in with itch.io to leave a comment.

Viewing most recent comments 1 to 40 of 240 · Next page · Last page
(+1)

Came here looking for chess. Not sure how exactly I wound up here. Seems like a nice community here in these comments. Maybe this project could be used to make alternative chess maps! I think we have some potential there perhaps? I will be leaving this page soon, but before I do that I am compelled to recommend the greatest game of our time: Chess. Give it another go, there are many lovely versions right here on this website! But no matter, I am just a 47 year old man, trying to make the world a better place through chess. Thank you all and have a blessed day my friends. 

Kind regards, 

CL

(+1)

Ok so I don't understand something here. I have the Tags window up and have selected tags I want to use. Then I select generate and it adds additional Tags I don't want. Why is it doing this? Am I doing something wrong?

(+1)

In 1PDG tags work a bit differently comparing to my other generators (e.g. Perilous Shores). The idea here is that you need to specify only aspects of the dungeon you care about. For example, if you need a totally random dungeon, select no tags. You won't get a featureless dungeon, instead your empty choice will be augmented with a few random tags. If you need a large dungeon, but you don't care water, select the "large" tag and sometimes the "dry" or the "wet" tags will be added. But if there has to be no water, select "dry". And so on.

(+4)

Love this, made an account just to say that lol

Is there a way to(or for you to implement) a way of "marking" doors/stairs so they remain in the same spot for the next map generation? I'm going to use these for a video game and it would be easier if I can load up multiple maps and have the entrances already aligned. In the end its not really a big deal just a time saver, thanks

(1 edit) (+3)

No way to do this, other than brute-forcing it (i.e. generating maps untils their doors coincide with marked locations), sorry. I don't know how useful this is for you, but the entrance (the staircase) always has the same coordinates (0, 0).

(+1)

Thanks for the reply, like I said not a major issue just a little time saver. Great work on this generator, most others I used just don't have the same quality

(+1)

Would it be at all possible to implement something to manually adjust room sizes?

Sometimes you get a dungeon that's just near perfect but it needs a few little tweaks.

(+2)

you can upload it into dungeon scrawl and edit everything

That's what I was going to suggest. And Dungeon Scrawl is not the only editor capable of importing these maps.

(+2)

These look nice, but the contents are pretty random. Gnome with key…man hiring you (while sitting alone in a dungeon)…blood stain (why?).

I had a think about alternative methods, and came up with a new procedure:

  • make dungeon (caves or mine)
  • allow [elves/ dwarves/ gnomes] to make it a liveable space underground, with libraries, rooms, art, traps, et c.
  • have invading [lich/ goblins/ sickness] kill everyone (or turn them undead), and errect some new traps.

There’s a basic python example: https://github.com/Andonome/dungen

Would something like that be possible here?

(+4)

Hey, sorry it took me so long to reply. It's actually a big topic, so I didn't answer right away to think about it first, and only now I remembered that I didn't answer at all. Here is a list of my thoughts:

  • Yes, these dungeon notes are too random, can’t argue with that.
  • The generator is inspired by “one page dungeons” and they tend to be like that (because of the format). The idea is that one is supposed to connect the dots somehow to see a “story” behind small pieces of text.
  • One of the reasons why it doesn’t really work is the generator was made for a jam and I didn’t have much time to implement this part properly*. After the jam ended, it turned out that people were more interested in the hatching and in the way rooms connect.
  • *I did try to make this all more coherent by introducing “themes”. For example, a dominant race is chosen for each dungeon, so if it’s a dwarven dungeon, dwarf npcs are more likely to spawn.
  • Another (probably more important) reason is that compelling (even if random) vignettes are needed and text generation is a special skill I am lacking.
  • I don’t know python, so I can’t comment on your example, but I encourage you to make it into a full-fledged application :)
  • Regarding the approach you suggested, I personally wouldn’t adopt it here. It’s a question of “faking vs. simulation” and I am a proponent of “faking”.
  • You see, I believe that if a screenshot (e.g. a map) of a complex system (e.g. a dungeon) is needed, in most cases  just “painting” such a screenshot is a better way to make it than creating and running a model of the system.
  • Models are harder to implement, fine-tune and debug. Models are prone to getting stuck in a limited number of states including bad ones. 
  • Of course, you can’t do without simulation if not a still image is needed, but a running thing. Or if a still image is expected to be very closely inspected (e.g. like in Obra Dinn).

As I said, it's a big topic :)

(+1)

I don’t know how to generate images (or code really - that’s my first python project up there), but if you ever change your mind I’m happy to jump on a project to generate text and such. I’ve not seen your code, but I’m sure what I’ve done is simpler.

(+2)(-2)

Hey! I don't know how to get in contact with you, but I think someone on Amazon is using this generator to make and sell their own dungeon books.

(+5)

In the footer it says the maps are free for commercial use and even attribution is optional. But yeah, does feel like the author deserves more than credit, these maps are hella cool.

I know https://www.reddit.com/r/FantasyCities/comments/yydmeg/comment/ixc5x76/?utm_sour... :-/

(+2)(-1)

Hi! I was looking for a way to generate these kinds of maps for a roguelike game. They're amazingly organic and feel man-made. Are there any clues about how this was developed on your patreon, or can I get in touch here to ask a few questions about your methods?

(+1)

Hey, I was wondering if there's an easy way of importing these maps into Godot. Can you point me in some direction @watabou?

thanks!

You can try parsing exported JSONs. Their structure is very simple, it's basically a list of rectangular rooms (incl. corridors) and a list of doors.

(+1)

right, it was more of a godot question :D

(+1)

vmaark

Right click on the map to export as JSON. In GODOT you can load JSON files just like any text file, then you can work with it as a dictionary in GODOT, which will allow you to place rooms, doors, items, secrets etc... in your game.

(+1)

thanks, I'll try this

thanks, I'll try this

(+2)

These little maps give you the impulse to play new adventures!

I'm trying to switch from squares to hexagons, have you ever thought to add a hexagon option? Straight walls and hexagons means a lot of badly cutted hexagons, we know, but... :)

I'll consider it. I did the opposite thing with caves before -  there I overlay maps made of hexes with poorly matching regular grid :)

(+1)

Amazing webpage, I often use it for my dungeons when playing on Foundry VTT through the importer.

There are two things I think could be huge improvements:
1. Have  hard corners automatically have walls that stop line of sight past them. Here is a link to a number of examples where I added the corner manually: https://imgur.com/ghXx6gY

2. Allow the grid to be half as large as it currently is (or perhaps even smaller?) for dungeons that were built by larger than average creatures. Optimally, this would only change the grid size (allowing 4 creatures in each normal square on the map) while still maintaining the placement of walls and doors.

(1 edit)
  • This generator produces maps, but I have no idea how they are imported in Foundry and how generator-specific map geometry is converted into los-blocking walls (the generator itself knows nothing about line of sight) . You may want to ask the author of the importer you use about those walls.
  • In the generator you can enable Layers > Grid > Small tiles to make the grid squares twice smaller. I'm not sure about Foundry, maybe some additional actions are required to make it work there.
(+4)

A small review in Portuguese. People here are enjoying it.
(+1)

have you thought about having an option where doors don't take up a full square/the rooms are flush with each other? either way, fantastic tool and fantastic work! thank you!

I agree that such an option would be useful, but with my current algorithm it is much harder to implement than it may seem.

(+1)

Any chance we could have an option to produce dungeons on a hex grid rather than a square grid? I know you've done this with a few other random generators, but I don't know how hard it will be to implement here.

Overlaying a dungeon map with a hex grid isn't difficult, but I doubt it will be useful: nothing on the map will be aligned to the hex grid (and there is no way around it because dungeons are generated on a square grid).

(3 edits) (+4)

Found the answer to my own question. Just had to click around in the right places. Love the generator. Thank you. I am new to this and a little confused about how to get the images that are generated for us. Tried right clicking and checked all links on the page to no avail. Anyone care to share other than printing the screen? Thanks in advance,

(+1)

If you "right click" & choose "save as PNG" from the drop-down menu.   That saves it as a PNG (picture file) in your Downloads folder. In that same drop-down menu you can click on "Notes Mode". This gives you a sub-menu that allows you to change the map so it only displays "Room Numbers". You can then "Save as PNG" & upload or email it to your players, giving them a map they can use but keeping the contents of the rooms a surprise to your players. You should also be able to edit the PNG in whatever picture editing tools you have on your computer, ie. MS Paint, PhotoShop etc. FYI: Once you right-click to get the drop-down menu, you may have to "scroll down" the page to see all the options in that drop-down menu, as the drop-down menu can be quite long. I hope this helps :-)

(+3)

I posted this on the reddit/FantasyCities...

Would you consider making an editor to create the dungeons? (Non-generated) I know there are editors out there but your work is very polished and feature rich. (You have round rooms!)

(2 edits) (+3)

Sometimes I think I could make one, but most of the time this idea doesn't seem attractive to me. Editors are all about UI, and making UI is boring and tedious.

BTW, those round rooms are fake. Creating a generator supporting proper round rooms (and also diagonal and arched tunnels) would be a more interesting task :)

(+2)

In the json format, what parameter is determining whether a door is a front or back door?
Also just a note for you, because in your json file the notes are named "ref", it means the notes part of the json file cannot be read within unity without renaming it before parsing it through, as there is an inbuilt parameter in C# called ref that you cannot override.
Loving the project!

(+1)
  • There is no explicit way to distinguish front and rear entrances in json: they are both "stairs" ("type": 3). In most case they are situated in different rooms and it is possible to check which room's description  contains "rear entrance" as a substring. Probably I should introduce a separate door type for back doors.
  • That's unfortunate, but I guess (i.e. I hope) it's not too hard to replace all "ref"s with something else before passing json code to the parser.

Cheers!

(+2)

Nice work watabou. This is a cool update. 

I'd like to +1 the request for naming the different doors. That means as a game designer I can use them with more deliberate intent. 

Also numbering the rooms e.g. room 1, room 2, room 3 in the JSON would be would be a huge win for me. That way I can programatically do what you're doing in this image and use the custom notes feature to write about each of digital dungeon in my campaign. Pretty please ;) 



If you right-click & choose "Notes Mode" from the drop-down menu, you can change the map so it only displays room numbers

(+1)

Would have to go an extra step to replace all "ref" using C# with the Unity engine, as to parse the json file I have to use a custom class that matches all of the naming conventions, which I can't since I can't name anything "ref" in c#. 

(1 edit) (+1)

I can't replace "ref" because that would break compatibility with applications supporting the current format. I can duplicate it with another attribute ("symbol"?) if it helps.

(+1)

I suspected that wouldn't be possible, yeah duplicating it would be a good work around that problem, sorry to be a pain with it all

(1 edit) (+1)

Hey Watabou, I really like this generator's style. I think it's the best dungeon generator out there currently.  You've done amazing work!

I saw on your devlog that you're looking to make a cavegen again. I hope this comment serves as encouragement in your attempts to make that. A cave generator in this style would be a godsend since this is best looking map generator I've seen so far.

Cheers!

(+1)

i just read your idea on how to do this in Patreon. 

Please please please  make them compatible. I am importing the dungeon json into a game and I can envisage a version of this where players could move between dungeon and cave.  

I'd like to be able to generate maps combining the two styles (something like this) but it's too early to say how hard would it be. For one thing, the cave generator is going to utilize a hex grid (vs. a square grid of 1PDG)...

(+1)

If there’s anything I could do to convince you not to go hex I’d do it. 

Dungeons & Caves make sense to work together and this sounds like you’d be intentionally making them not compatible  from the start 🤔

Unless of course the JSON was indifferent and I could use the JSON from hex caves tool to draw the same caves using tiles as I do with the dungeons. 

Bro, those caves look sick! My fingers and toes are crossed. Either way love your work. I’m still your number 1 kiwi fan 😎

(+1)

does this support hexes?

Are you asking if there is a way to display a hex grid instead of a regular one? No, currently it's not possible.

(+1)

yes, thankyou for the answer :)

(+1)

i have a cuestion, meaby a dumb one, but whats the meaning of the cricled star simbol?

https://dysonlogos.blog/2013/12/23/the-key-to-all-this-madness/

A statue or just some "notable" object.

(1 edit) (+1)

If you go back to some older editions of D&D, especially BECMI; you'll find a "standardised" key/legend of dungeon features that hasn't changed much & should be familiar to "old school gamers".  The developer seems to be using a lot of those standard symbols. The "circled star" is a classic. I love it!

(+1)

how feasible would it be to implement a smaller grid?  i love the old school look of 10x10 grids but 5x5 are easier to fit to roll20's grid

Just added that: https://www.patreon.com/posts/68450169

(+1)

dungeonscrawl lets you import .tsv files [e.g. from donjon] for editing; any plans to implement exporting OPD as .tsv ?

I don't mind implementing another export format (in addition to 1PDG json which can be imported in RPG Map Editor 2 and Mipui) but I'm not sure about TSV - it's marked as "deprecated" on donjon, and are there other editors and generators supporting it?

(+1)

Honestly you've certainly done more research on this than me, so I couldn't tell you who else uses TSV, dungeonscrawl is just the editor I've gotten most comfortable with.  Thanks for the other editor recommendations, I'll have to check those out!

(+2)

How would you most appreciate having the work attributed?  Map by watabou?  Map by watabou.itch.io?  The full url?  PROCJAM in there somewhere?  Inquiring minds want to attribute!

(+1)

I think the full phrase is something like "Map created in 1PDG by Watabou" but fill free to shorten it as you see fit :) Cheers!

(1 edit) (+2)

ooh this is perfect for one of my physical games I'm working on!

(+12)(-1)

Hey Oleg! My name is Artur Kurasinski and I am the co-creator of Never Ending Dungeon (NED) which is a tool for Game Masters and RPG players to create maps and adventures using AI. Here is our latest video:

https://youtu.be/3b0oE9-JlR4

I am a huge fan of your games and the tool you create - I have a question if it is possible to use the One Page Dungeon engine to teach our AI to create rooms more sensibly?

Best,

Artur

(+4)

Boost

(1 edit) (+1)

The map app puts the current seed in the URL meaning ctrl+r doesn't generate a new map.

EDIT: nevermind just found out the controls. R only rotates, Enter generates a new one.

(+1)

Just made an account to tell you how amazing your work is! Love all your DM tools, they are my absolute favourites! :)

(+1)

I love this editor so much. I am really fascinated with how the maps have an architectural quality to them. Parts feel very well planned, and then other parts feel like they had to break the rules as buildings often do. Do you ever explain how you made this? I'd be very interested to know. Thanks.

(+2)

I explained this somewhere, but right now I can't remember where. Anyway, the idea is very simple: the generator builds imperfectly symmetrical dungeons. Every dungeon is grown recursively and when a room needs to be expanded, usually identical wings are spawned to the left and to the right from it. Usually, but not every time - occasionally these wings are not identical, but still (imperfectly) symmetrical. How often this happens depends on the desired level of chaos. This all is supposed to produce something in between boring perfectly symmetrical cross-like or T-like plans and too chaotic layouts typical for more common algorithms. That's it.

(+5)

Hello,  I wanted to ask if you´re getting any money from this . I got it as a gift and I can provide photo proof of the pages. it´s using your generator to make dungeons and then they sell them off as original material. I think you should know. Hope you get to the bottom of the issue and are recognised for your work. Let me know if you need any extra info

(+2)

Hi! Yeah, I've seen this thing. No, I don't get any money from it. It's not nice, but technically it doesn't violate that informal license ("you can use images created by the generator as you like... attribution is... not required"). The problem here is not that someone makes money from it and I don't, but that this book is actually a fraud, the "author" sells stuff which is supposed to be free. There are a couple of reviews mentioning this fact, but unfortunately they are not top voted.

(+1)

OK, I´ll try and report it to amazon (Amazon prints it for them too). Wish you could get recognised for your work. 

(16 edits) (+1)(-2)

Hello. I'll say right away that that isn't me, but I understand why they'd sell them.

Fraud is a strong word and I don't think it applies because you never say anywhere on the generator details not to sell them and you imply that you're ok with them being used commercially with the way you phrase things. You say credit is not required either. Theres at least 1 post on reddit that I just found that comes to the same conclusion as well.

To have these words up there for all this time, since October 2019 according to 'TheWaybackMachine', and then voice anger about it and possibly condone some action against it when you find out someone took advantage of something you say is ok to take advantage of...

 Wouldn't that in itself be the fraud or some kind of trickery? Thats likely how it would feel from their POV, as you're basically saying "You own the rights to what you generate. Do as you like with them." To act against someone for doing so is pretty much a 'rug pull'.

You may not like that they are selling the maps, but you literally gave them the right to do it.

I doubt there was any malicious intent on their part. For one thing you didn't have that license on your neighborhood generator for a long while, and in that time that seller never made a neighborhood map book. You only just recently added it, but since you did I'm sure a book will pop up eventually. On top of that, they actually mention it in the details that it is generated, which they are not actually even obligated to do.

 It is perfectly reasonable for them, or anyone, to believe that you were either ok with how they're being used or just did not care. I'm not a lawyer, I don't know about the legality of changing it after all this time, but even if you did I don't think it would be fair to whoever that seller is or anyone else that acted before some change was made to it.

(+1)

I came here for the same reason, I found that many of the product sold by Silent Wave Press are just prints from your generators. I wanted to find someway to contact you. But it looks like you’ve already been notified. Very uncool that they are profiting off of assets you created.

(+1)

Hey there watabou, I absolutely love the generator, and have been looking around. It doesn't look like the generator itself is open source, however is there any (preferably free) licensing available? The why: We run a volunteer camp for kids in the area, and one of the main things the kids like doing the most (and let's face us, us adults as well) is playing tabletop games like Dungeons and Dragons. We just got donated a license to FoundryVTT which has an amazing importer for this tool, but our issue is while we have tools and everything for kids to play on the campsite, the site itself has no signal or internet available, so unless we pre-generate a multitude of dungeons in advance we won't be able to get any new ones for the kids to play with once we're actually out there. 

So if there's any way at all possible to run a local copy of the generator at our campsite to be able to make on-demand content to use that would be so amazingly useful. Thanks for such an amazing and free tool, and I hope to hear from you whether the news is good or bad. :)

I'm not sure the easiest way to contact outside here, but I have Discord and normal contact options as well like email etc. Thanks again!

(+1)

Hi! I have a Patreon which I use mostly as a blog (with most posts being public). The only real "reward" for my patrons there is that occasionally I build and make available native versions of my generators including 1PDG. So if you want you can become a patron to access those native (win, macos) applications.

Alternatively, you can try to download all the files of the generator from itch.io to run it locally. It is definitely possible, but I can't provide any instructions - that's not my area of expertise.

Cheers!

(+1)

Hello good afternoon! Very good work, I wanted to know if there is any way to talk privately with you, and if you make paid changes

Hi! Unfortunately, it looks like there is no way to pay me anything at this moment.If you think the changes you need could be useful not only for you, you can try to pitch your idea here :)

(+1)

Brilliant work. Is it possible to select exactly which tags to include/exclude? If there are hotkeys for this, I can't find them.

(+1)

Thank you. Click tags to select/unselect them and press Generate to build a dungeon with selected tags. The resulting dungeon may include other tags and some of selected tags may be missing, but overall it's pretty close to what you are asking about. There is no way to request a dungeon without a specific tag, but I'm planning to add a number of "opposite" tags to achieve the same effect (e.g. "single level" for existing "multi level"). 

(+1)

where did the options go? it says to use the context menu to access them but i don't remember doing that before and also i dont know where the context menu is...

Right-click anywhere on the generator to access the context menu.

(+1)

Would it be possible to exclude specific tags from the generator? Like multi-level, for example, really throws off an otherwise good dungeon.

I can try implementing the "single-level" tag for this particular case.

(+1)

That would be super helpful. Thanks and keep up the awesome work. Seriously, your generators bring me so much joy.

(+2)

Also, a generic "skull" icons on some rooms to indicate where random monsters encounters could occur would be nice?

(-1)

I could suggest rooms for random encounters but they would be just random locations and this doesn't sound very helpful, does it?

(+1)

Would be possible to add a "cave" style, to create caves in addition to dungeons?

I thought about making a separate cave generator (https://www.patreon.com/posts/hatching-in-1pdg-31716880), because caves are too different from regular dungeons.

(+1)

Can I export to TSV format? 

No.

(+1)

I'd love to have a "Number all rooms" option since I'll probably want to generate some details for all of the rooms myself. And an option for exporting the notes to a .txt (or .rtf) file would be sweet too. :-)

(+3)

You can number all rooms by checking Notes mode > Numbers.

(+2)

What an awesome one page dungeon generator! The maps look better than a lot of maps in published books!

(+1)

I love your tool, it's so helpful and easy to use, it really saves time!

Would it be possible to add the option to generate caves, and not only man made dungeons? That would really make it next level.

Thanks for all the great tools you provide!

(+1)

Wow. So cool and fun. Thank you.

Viewing most recent comments 1 to 40 of 240 · Next page · Last page