Press Enter to generate a new house, 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 plans 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☕!

Updated 5 days ago
StatusIn development
CategoryTool
PlatformsHTML5
Rating
Rated 4.9 out of 5 stars
(202 total ratings)
Authorwatabou
Made withHaxe, OpenFL
TagsFantasy, Generator, Tabletop
Average sessionA few seconds
InputsKeyboard
AccessibilityColor-blind friendly, High-contrast
LinksPatreon, Twitter/X

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

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

Would it be possible to put a generator tag for making apartments? (Lobby floors, basements, and then contained apartment units) I think it'd work great for generating random inns, apartments, taverns, etc. Could really be interesting to see how it blends with the other parameter tags.

(+1)

Inns/taverns are definitely on my list, but right now the generic algorithm I use is probably not good enough to deal with requirements this specific.

(+1)

This tool is pretty cool, but sometimes the room layout doesn't make any sense. I really wish I could edit the interior walls rather than having to constantly re-randomize everything.

(+1)

You can try "restrictive rerolls":

  • Shift+Enter rerolls the inner walls, but doesn't affect the ground plan, number of floors etc.
  • Ctrl+Enter (Cmd+Enter on mac) keeps all the geometry, but rerolls the room labels, so it can turn a Hall into a Kitchen for example.
(+1)

Helpful! Though usually it was just one floor that would be a little wonky, or even sometimes just one wall. I don't recall if I found those hotkeys in the keybind list, but I do remember fiddling with what I did find and not being satisfied.

In one case the placement of the stairs was almost almost perfect:

The "stairhall" is pretty useless (it goes down to the cellar/basement, occupies the largest room in the house, and isn't even redibly accessible from the kitchen), but the thing I noticed first was the useless corridor that would have worked perfectly if the stairs to the upper floor connected to it directly (basically mirror that 1x2 room and open it to the west instead of the north).

There was also this house, where the only way to reach the upper floors was via a secret passage (???). The other stairs go down into the basement. It also leaves that central room weirdly shaped.

Or there's this house where one room is only accessible via its two neighbors. Most houses don't do this, because it creates a bedroom-like space that has no privacy. That said, a town house my dad owns had a room like that on the 2nd floor: the stairs came up from below along the south wall, with bedrooms to the east and west, the central area at the top of the stairs being open to both exterior walls. Couple friends of mine in a completely different city an hour away had an identical layout, except it had a wall that separated that space from the stairs (creating a hallway), which allowed it to actually serve as a(n admittedly small, but still usable) bedroom or office.


This one's trivially fixable by splitting the living room in half vertically, then merging the left half with the room just above the entrance. It was the only thing wrong with it. 

Additionally, as the ground floor stairhall was essentially the same, just 3 tiles tall instead of 2 (with a 1x2 bath in the remaining space), you could shift the stairs one tile north, which would let that stairhall be a 1x2 on both floors, creating room for another 2x2 on the lower floor out of its excess space, and adding a 1x2 bath on this level from the same.

Or you split that room above the entrance in half horizontally, turn the part with the doors into a hallway/corridor, and turn the other half into a bathroom that connects to either the hall, the living room, or both.

---

I realize allowing more fine grained editing would be a fairly large task, but I honestly went looking for other applications that would do both random generation and editing, but I found... nothing. The only other random generators I found were worse (in all respects, and still didn't have editing) and applications that allowed editing were either very basic (visually speaking) or lacked other features (like different floors).

https://floorplancreator.net/ was the best. It's still lacks decent visuals (no textures, just solid colors, but also strangely high poly models, and in some cases, strangely small default sizes--like the toilets are a third smaller than the smallest possible in the real world). And while it had a 3D view... it didn't have roofs. So if a floor was smaller than the floor below it, it just left this gaping cavity. Also some other minor UX complaints, like inconsistent snapping or settings buried inside submenus, but overall a decent freeform editor.

Regarding editing

Personally, I'm not interested in editing - I’m interested in procedural generation. If the output of my generator requires too much manual editing, I'd rather not publish it than spend time on tools for making those adjustments. However, if there's an easy way to implement some editing capabilities in a generator, I do it. I don't see how this could be done here, but maybe I'll figure something out later.

Regarding generation

There are several reasons why these layouts often make only a “limited amount of sense”. One of the main ones is that I’m not making an app for planning real houses, it’s not CAD. This generator is designed to create maps of "house-like dungeons”. Some features unconventional for regular houses are added specifically to make these plans suitable for in-game exploration, loops for example. So too many non-rectangular rooms are not a problem imo. Access to the living room only through the kitchen is a problem, but not a huge one. The lack of support for circular plans IS a problem. Ideally, there should be a slider for setting the desired level of “normality” and maybe there will be one someday.

(1 edit) (+1)

Yeah I totally getcha. I love proc-gen too and I absolutely understand wanting a better generator than it needing editing tools.

Ditto on your need for it as a dungeon generator. It just happens that this is also the only somewhat reliable totally normal house generator.

Either way, my comments are just that, wishes and dreams that you're free to disregard because they don't fit your vision of your own project. :)

An edit:
Oh yeah, that reminded me of a thing. Had to go find the thing again, and fortunately knew the breadcrumbs.

Introversion Software (Prison Architect) had originally developed a lot of framework for a game that ended up too ambitious and was cancelled, but they did a lot of work on city and building generation.

Main list of blog posts:
https://web.archive.org/web/20120504053028/https://www.introversion.co.uk/subver...

The building floorplan specific one:
https://web.archive.org/web/20120506213155/http://forums.introversion.co.uk/intr...

Thanks for the link!

I’m having trouble importing svg exports to illustrator, can I have some tips on how to do it or which software to use? Truly amazing work nonetheless.

(+1)

Really great!
Hope to use it as soon as possible ^_^

(1 edit) (+1)

Your work is amazing, watabou!
Througout the year I've been using it for a personal project - a Phasmofobia-inspired tabletop game. Would it be possible in a future update to allow rooms to interweave? By that I mean, allow two or more paths to lead to a same nook for example (and maybe even two stairs in opposite sites that lead to the same floor!)
Love your work, thank you for the hours of entertainment :)

Thanks! 

The generator does that, but quite rarely (example). That's not not how rooms are usually connected in real buildings, at least in relatively small ones. However I understand that having loops in games makes sense, so I'll probably add a tag to request more connected plans 👍

(+2)

stellar work

(+1)
Thank you so much for your work. Will adding JSON allow me to "re-import" a saved plan to modify it? Or will it allow me to import it into another tool? Thanks again for your work.

There is no import feature at the moment, so JSON export is only useful for those who want to import these plans into their own tools. Implementing the import wouldn't be difficult, but I don't think it's really necessary, as the generator doesn't allow much editing.

(+2)

I love your generators.  I am sure that at some level internally there is a graph-style representation of the structure, i.e. rooms are nodes with attributes, edges exist where rooms connect.  If this was available as an output in a JSON form, it would be super useful for input to various in-game navigation algorithms.

(+2)

Yeah, the upcoming JSON export will provide enough data to easily reconstruct the graph of each floor (and the entire house).

(+1)

I've always loved your generators, but I noticed something while playing around with it today, that I thought might be neat for parameters. It would be nice if certain room types were also parameters to guarantee they're generated in a structure. I generated 4 houses in a row with nary a toilet in sight. It'd be nice to have bathrooms (and many other room types) be selectable, or for a parameter to be set for a time period, maybe? Like a "modern" home would have the expectation of indoor plumbing, while a "medieval" style might not (without additional params).

(1 edit) (+2)

There are a couple of problems with guaranteeing specific rooms. The first one is technical: the method I use is not suitable for this. To generate a house I first create a floor plan (or plans if it's a multi-storey buildings), a set of rooms of varying sizes. Then I try to assign them "roles" - bathroom, kitchen etc. As a result, it may happen so that there is no suitable room to become a bathroom for example. There is a core set of "roles", which my algorithm kind of tries harder to assign, but...

Another problem is UI: creating a tag or a checkbox for each room type doesn't sound like an elegant solution :)

Hopefully, I'll find a way to resolve all this somehow, but I don't think it's a huge problem. After all, if you need a specific room to be present, you can take any other room and rename it.

(+1)

Excellent generator.  I had been trying to program something similar myself and hadn't got anywhere near as far as this.  I was still stuck at a single story!  From playing around with this, I can see that you have had some of the same issues I had - namely illogical room layouts - particularly in larger structures, sometimes with redundant corridors, sometimes with bedrooms that lead to other bedrooms etc.  Trying to wrap my head around the logic there was a nightmare, so I take my hat off to what you have achieved!

Some future features you might want to consider.  
1) Additional external doors.  Most houses have a front door and a back door - sometimes more than one.
2) User defined room labels
3) Grid size.  Is it supposed to be a 5 foot grid?  (i.e. usual D&D battlemap size!)  Some of the rooms come across a bit small based on that size, but if it one considers it to be a 10 foot grid then that makes most of the corridors and rooms that should be small (I'm looking at you bathrooms), would be rather large.
4) Improvements to the "furniture" in the rooms from the bare outlines of rectangles and odd shapes.   There are quite a few libraries of top-down graphics of furniture that could be dropped in - with suitable ones selected for genre/room type.
5) Export Options.  Might be worth considering collaborating with a Foundry module developer to enable an export to Foundry.   Especially the multi-floor views of a building.    Also, maybe an export to a graphic format that will effectively save the building as a set of graphic files labelled appropriately, one for each floor/elevation view.

I can probably come up with further suggestions - but that might be more than enough to start with!   Again, major Kudos for your efforts!

Matthew

Yeah, I'd like the layouts to have more sense, but I don't think it's a huge problem - after all they're not plans for real world buildings. Some weirdness and "maziness" in the game doesn't hurt (much).

  1. Agree.
  2. If you mean renaming rooms, you can do this by clicking on an existing label.
  3. To be honest, I don't know what scale this is, since I don't use these maps as battle maps (I don't use battle maps at all). It's difficult to keep proportions right on a fixed grid, so the goal wasn't to make the bathroom 10 times smaller than the bedroom and the bedroom 10 times smaller than the ballroom, but just to make the bathroom the smallest room and the ballroom the largest.
  4. That was my initial plan. In the end I chose abstract shapes instead for two reasons: first, creating a meaningful layout of specific furniture items is a non-trivial task by itself, I can't just scatter beds and chairs randomly. Second, I want to keep the generator somewhat "setting-agnostic" and there is no such thing as a setting-agnostic table :)
  5. None of my generators support any VTT export because VTT is another thing I personally don't use. But yes, that's on my list.
(1 edit)

would love the option to have these display as svg skeletons to make it easier to convert to 3d objects

(+2)

Do you possibly have something like this but for Taverns?

(+1)

I think this could be used to create taverns, you just need to name rooms manually. In the future there will be an explicit option to generate taverns (and some other building types e.g. shops, watchtowers, etc.)

(+1)

this is wonderful! thank you so much for creating it. would it be possible to add a no stairs/elevator option?

Why would you need a house with unconnected floors? But if you do need it, you can generate its floors as separate one-storey buildings with the same ground plan using the Blueprint editor.

(+1)

if there is an elevator, there is no need for stairs! while i realize most irl building codes require both, i figure my ttrpg campaigns can have unbreakable magic elevators. thanks for the reply, i'll figure out how to adapt the floor plans for my needs 👍

(+1)

Definitely a very cool application, I use it to get some ideas.

However, I have an observation when generating structures, most of the time the structures are generated with excessive corridors, to go from one room to another you have to go through more than one.

Another thing I would like to give you an opinion on is that in Bluprint, when we design and generate the structure, the main door is placed randomly, it would be interesting if it were possible to choose where the door will be generated, so we can create a more fluid structure according to the need.

That's it, thank you very much.

...most of the time the structures are generated with excessive corridors...

I don't think there are *too* many corridors, but I'll probably add a tag for preventing them from spawning entirely.

...it would be interesting if it were possible to choose where the door will be generated...

That's on my list👍

(+1)

Very cool. I'm making a multiplayer top-down 2D fantasy RPG, and have been wondering about generating houses from scratch. This is inspiring.

(+1)(-1)

Just wondering what that star symbol is supposed to represent. Thank you! Very cool generator.

(+1)

This is a 'statue', one of three special symbols (the other two are 'altar' and 'tapestry'). I'll probably remove all of them in the next update in favour 'abstract furniture'.

(+1)

Ah, thank you! I was figuring it was something like that since they popped up in galleries. Looking forward to the next update!

(+2)

Hello Watabou, I was wondering if you could consider adding a JSON export option. It would make it much easier to work with the generated data in other projects. Cheers :)

(+1)

I'll think about it, but with multiple floors and "thin" walls it's much less obvious how to export these plans (that is compared to dungeons).

(+1)

Hello, do you have any updates regarding this idea? It would be amazing to have a JSON from that

I'll try to implement this in the next update of the generator.

(+2)

I no longer have to look for floor plans!!! YUSS!!!

this is amazing

(+2)

It would be cool to add/subtract walls/doors to existing plans.

(+1)

It's not too hard to implement, but it will make everything... conceptually messy. For example, if you remove a wall between two rooms, will they become one new room? This would affect labels, props (furniture), rooms connectivity.

(1 edit) (+1)

What if you added it to the blueprint editor mode in some way?

Regardless, thanks for continuing to produce amazing tools!

(+1)

Thank you for making such generators! Extremely convenient to use and play. I ran into a problem: with advanced exports of buildings with multiple floors, all floors except the last one are unloaded without walls. I hope you can fix this bug. Thanks again for your work, you're cool!

(+1)

Yeah, I'm going to release an update with a fix for this bug (among other changes) in a couple of days. Cheers!

(+2)

Fantastic generator. Once you switch to "Blueprint" mode it's not obvious how to get back to "Floor plan" or "Elevation". I'd keep these options in the drop-down menu. Also there's a typo ("Discrad").  

(1 edit) (+1)

Astounding work! Two things:

  1. if I ask for a single storey building it still put a staircase inside. Update: this is because it always generates a basement. Can I turn that off?
  2. can you add a ‘huge’ option? I was hoping to use this to make a floorplan for an office block.
(1 edit) (+1)
  1. There is currently no way to request a building strictly without a basement. But it doesn't always spawn a basement, for a single-storey building the probability is 50%.
  2. My algorithm tends to produce very unrealistic plans for buildings larger than "large", and I wouldn't like to expose it by offering the "huge" option. However, using the blueprint editor, you can request a significantly larger building than those built with the "large" tag.
(+1)

I didn’t notice the blueprint editor, but yeah you’re right the algorithm sort of falls apart when it gets too big. Such an amazing tool though!

(+6)

Simply put: You are my hero. The work you do is amazing, and to provide it for free is a great work of generosity. The fact that you would allow others to use your tools to create a salable item is beyond magnanimous. To those who would abuse it to mass produce maps just for financial gain — shame!

(+2)

Cheers!

(+1)

what would be best used for indoor maps in dnd? this or mansion generator? since this is not on procgen archana

If you're looking specifically for building maps (rather than dungeon or cave map) then this generator is preferable as plans produced by Procgen Mansion are pretty useless imo. Dwellings will replace Procgen Mansion on the Arcana  soon.

(1 edit) (+2)

Would be awesome if you could place/edit doors/windows etc.

(+1)

At the very least there will be a way to mark the entrance.

(+1)

This is an amazing resource - thank you!

(+3)

Hi! I love this generator and all your work for that matter, would you add exporting all floors to pdf for easy print? I'm doing that manualy and it takes hefty amount of time ;) First page with all the sides (on one page) to show players what they see, and then the rest. Thanks in advance! 

(+2)

Implementing something like this (but probably not exactly like this) is on my list 👍

(+3)

That's great! Looking forward to it, I already bought binder for the prints :D

(+1)

Wonderful job, may i ask some improvements ? like, allow the input of number of each rooms, room we want on each floor,etc... (the idea behind my request is to create a "fallout vault generator" :p)

Thx in advance, and wonderful job

I hope to find a way to implement this kind of customization, but for now I don't know how to do it "gracefully", because each room type is not just a name, but also its average size, how regularly shaped it should be, how many windows it requires etc...

(+2)

i'm pretty sure since you are a genious, that these could be viewed in an elevations view? 

I am really impressed with all of your work.  is any of it open source to learn from ? 

i'm  a patreon supporter too, your stuff is one of the best things on the web. 

(+4)

In the next update of Dwellings I'm planning to implement something like elevations based on the code of Tiny Pubs

There are a few projects on my GitHub (https://github.com/watabou), but most of them are pretty old (and also in Haxe).

(+1)

Thank you!

(+1)

After looking at a bunch of 19th/20th century books with floorplans I have 2 suggestions, option to set floor colour transparent to background + vignetting (basically like your procgen mansion floorplan does)

If by setting the floor colour to transparent you mean making them the same, then it's possible to do via the Style dialog.

(+2)

I'd love to be able to rename rooms!

(+1)

I got a small 2 story "Noble's House" which had two bathrooms and no bedrooms... in fact I'm finding bedrooms to be very rare but most plans have unmarked rooms so I'll use those as bedrooms I guess?

Even a large three story slab with a spiral staircase (confining all the stairs to one corner of the building) and a basement had space for only one bedroom!?! (I got an armoury, gallery, kitchen, two bathrooms and a lounge...)

This generator works like this: first it creates floor plans made of rooms. Then it builds a list of room types this house needs: kitchen, bedrooms, armoury etc. It's always a reasonable list (e.g. there are as many bedrooms as there are floors). Then the generator tries to assign the room types from that list to the rooms of the house and here it often fails, because each room type has its requirements (e.g. a bedroom can't be placed in the basement). 

(2 edits) (+1)

Hmmm... I find it odd that it doesn't assign the bedrooms then... maybe the problem was the rooms weren't rectangular... in which case it needs to create less "wiggly" hallway rooms and more rectangular rooms (which would seem to make more sense anyway as human houses (at least) tend to be dominated by rectangular rooms... even hallways often are! :)

Edit: Just want to add that I agree with your strategy, I can't think of a better way to organise it without changing the result entirely and creating a cave / underground habitat / hobbithole generator where I would expect round rooms and twisty passages and so I'd probably decide the rooms, place them in proximity and then add linking passageways... so kinda the reverse of this house generator! :D

(-1)

Okay, I've been fiddling with the Javascript and I can now get bedrooms (unreliably), I just wasn't getting them and then I changed the counter that was adding them (_g) from 1 to 0 so there was an extra one added and now I regularly get one... but only one!

I also tried to add tiny and huge buildings by adding them (almost) everywhere a search found the word "large" (it found a function "*enlarge" which was clearly not relevant) but it hangs for some reason, I can't find anywhere where the number of possibilities is only allowed to be three and I made sure to fix the bits in the grammar.json so the naming was not messed up but no joy... other minor tweeks seem to have worked in the naming and it seems like that would get entirely run through every time the program runs so it seems sound, it is just the runs that include a "tiny" or "huge" tag or randomly include one (one in nine times for each - I changed the frequency to 1,2,3,2,1 to reduce the number of extreme buildings).

Any thoughts?

(+1)

the shift+click for a description for tags feature doesn't work

(+3)

Are you sure? It's supposed to look like this (but without the red arrow :))

(+2)

Amazing as usual!

Some requests that may help:

Any chance you might consider delving into this app, with parameters (eg. shape, street entrance side, size) from VG, MFCG, or even NG for that matter?

ROOFS PLEASE!

Back doors might be great. 

Selecting number of bedrooms would be welcome  

Types of larger structures (perhaps for Mansion though) could be super useful. Inns, temples, churches (an obvious and cool link through to OPD)  

So glad you continued this project. 

Support this guy on Patreon!!!

Cheers! Here are some comments:

  • I consider replacing Procgen Mansion with Dwellings as a generator for "exploring" buildings (in MFCG and VG). But not until this one becomes more polished.
  • Yeah, back doors are on my list.
  • Currently the generator is trying to place as many bedrooms as there are floors. I don't think you need more than that, so I guess the problem is that often you get much fewer than that, am I right? In such cases you may try rerolling rooms by pressing Ctrl+Enter.
  • Inns are relatively easy. Temples are harder because usually they are expected to be symmetrical in plan and the current algorithm is not suitable for that. I'll think about it.
(+1)

Awesome news!

Keep it up and we hope all is well with you and yours. 

Tmexx

(+1)

Any chance we could get exports in Universal VTT format?

Maybe, but definitely not in the next update.

(+1)

Это очень полезный генератор. Спасибо!

(-1)

A 3 floor house without a bedroom?

(+2)

This is such a lovely little tool! In the future, if you're going to add tags, would you please consider an option for staircase type? The spiral ones were very charming and unique, I was sad to see them go:(

Sure. But spiral staircases are not gone, they are just made *relatively* rare in favour of regular ones.

Honestly, more utility than the manor generator

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