Procgen Mansion
🃏 This generator is a part of Procgen Arcana.
Created for PROCJAM 2018.
Most of the following commands/options are accessible through the context menu.
Press Enter to generate a new mansion. Press Shift+Enter to generate another mansion with the same ground plan.
- Z - generate a small mansion
- X - generate a medium mansion
- C - generate a large mansion
Camera keys:
- 1 - Ground level perspective view
- 2 - Default bird eye view
- 3 - Top-down perspective view
- 4 - Orthographic view
- ` - Toggle auto-rotation
- Arrow keys - Rotate the model
- + / - / mouse wheel - Move the camera closer/farther
"Style" keys:
- 5 - Northern
- 6 - Southern
- 7 - Central
- 8 - Winter
- 9 - Night
- 0 - Random
Other settings:
- S - Toggle shadows
- A - Toggle ground AO
- T - Toggle trees
- E - toggle elevation
- V - Toggle vignetting
- D - Toggle decoration (smoke, flags, lamps etc.)
- W - Toggle "weather effects" (rain, snow, clouds etc.)
- P - Switch to the plan view
- B - Switch to the blueprint editor
In plan view mode:
- Up & Down - switch floors
- Enter - Export plans as SVG
- 1, 2, 3 - Toggle grid size
- V - Turn on/off vignetting
In blueprint editor:
- Shift+click - mark a cell as a tower
- Ctrl+click - marke a wall as a door
- Enter - generate a mansion from a blueprint
- R - create a random blueprint
- Backspace - clear
Made with Haxe + OpenFL + Away3D.
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☕!
Development log
- 2.1.2: permalinksApr 27, 2022
Comments
Log in with itch.io to leave a comment.
nice generator, kinda funky but I'll get used to the controls.
Do you plan on updating to where you can add/remove walls and doors (more specifically remove doors) while editing?
Not in this generator, but probably in Dwellings.
For those who are interested in 3d printing those models (as I was) here is an option. If you tried to load those models into a 3d slicing application you noticed that the hollow roofs are an issue. I solved this by importing the model into Blender and applying the Remesh modifier with a pretty low Voxel Size. It worked perfectly for me! Hope it helps!
Would it be possible at some point to import floorplans? Like ones that have been downloaded, maybe edited but as long as it looks the same style, it'll work?
I don't think it's possible. What kind of changes do you make?
like importing something you'd already made and downloaded from the site for example, or importing something to make an overhang where there wasn't one before. But importing a creation previously made here also seems pretty cool to me
just amazing, so nice
IF YOU'RE ON MOBILE CLOSE THE GENERATOR RIGHT NOW.
I spent like an hour tweaking and messing with settings and had generated a house with a story that was really firing me up. I tapped "copy permalink" hoping to save it but the android keyboard pops over the text box with the permalink in it, so i couldn't tap and hold on the text to copy it. I thought, "that's fine, I'll just screenshot the floor plan and a few exterior shots." But the app is completely soft locked once you enter the floorplan view. You cannot proceed past floor 1, you cannot toggle back out of it, you're just done. I even tried installing teamviewer remote support to see if i could send keystrokes, making sure to tab back into the generator as often as physically possible, but the act of connecting remote support caused the generator to crash completely and when i tabbed back in the page said "run" instead of "restore" and all that was left was my screenshot of the first floor.
RIP house with cool towers and annexes situated in such a way as to suggest a crammed city street the house sprung up around... EXTREMELY good and feature rich otherwise, and I'll be going back for more. Just not on mobile.
I was going to reply something like "I know it's inconvenient on mobiles, but you can do this and that to make it work". Then I checked and it turned out that this generator lacks any touch support for the floorplan mode! It's an obvious oversight and I'm sorry about that. It will be fixed in a couple of weeks when I get back to my computer.
I do want you to know that this generator changed me in some way and im thinking about Stories again for the first time in ten years. Like I'm extremely happy this came into my life and being so crazed and desperate to save one house out of infinite mansions made me realize how important it was to me so thank you for that as well.
I love this generator but I have also a question. Is there an option to save the region/world with same names as on begining? Beacuse when I copy link and paste it in new window I got same world but with diffrent names.
Am I understanding correctly that you don't change the names manually, but you still get different names after opening the link? If so, then it's a bug that I hoped I had already fixed before and I'll have to look into the issue again. If you are talking about custom names then they don't get encoded in permalinks (same as changes made with the warp tool for example).
Yes, exacly.
For example - I'm creating a new region. He has got cities with names A,B,C. When I close my browser and open it or send link to someone else they have same region but with names X,Y,Z. Hope now it more understandable :)
The generator is super.
I miss in the Blueprint a few possibility
- To place or remove walls inside the building.
- Set or remove windows.
- To set or remove doors.
- To set or remove stairs inside the building.
would it be possible to add some options to make these more defensible? one door and no windows on ground level, something like that
You can try setting "base height" to 1 (effectively creating an additional floor without windows) and optionally increasing "floor height" for a more castle-like look.
I love this. The generator is great but I think it needs the ability to have walls around the mansion. Also sometimes the generator creates towers when you don't want a tower. Is there a way to fix this? Other than that this is great. I can work around the walls and other things.
We NEED one of these for castles
any news on updates using tool to fabricate buildings for a venice like city im using for a ttrpg but venice buildings are almost always 2+ storys across the entire building and this always generates a part of the building as only 1 story tall so im having to edit each one
In the current version the number of storeys at any particular place of a building is defined by its ground plan. One-cell wide pieces usually (but not always) end up being 1 story tall. I was planning to introduce more control over number of storeys (or at least ability to specify a minimum height), but for now you can try avoiding blueprints with those 1-cell pieces: example.
Hey, when I export file as obj it only exports as the mtl, is there a problem with the current version?
Nothing has been changed regarding the export recently. For me (on my mac) it works normally in Chrome and Opera, but not in Safari - the obj is "skipped" as you described. I'll try to find a solution for this issue, but I am pretty sure it's about how the browser handles multiple files downloaded simultaneously.
yeah, the problem was with safari because im on mac as well, it works normally on chrome, thanks
could you add an option for a minimum hight before parts of the buildings end in a roof, and a room segregation thats not based on roof hight sections please <3
I'm going to update Procgen Mansion to make its rooms look like this: tweet.
<3 nice thats amazing
You already have caves, cities, buildings, villages. Any plan to generate interiors (props, furniture, doors etc) of the buildings?
The same building can be furnished "correctly" in too many ways depending on its purpose, historical period etc. So there won't be a universal "interior generator", but perhaps I'll try making something for specific cases such as taverns or small castles.
OK, yes, furnishing has too many choices to make. But can their be rooms and stairs and doors (or just the entrances) like an unfurnished but complete house? in short an empty floor plan for the whole building?
But these mansions do have rooms, doors and stairs. The floor plans are not very interesting (as they just a byproduct of the algorithm responsible for creating exteriors), but... they are there.
I am an idiot, just noticed there is already a 2d floor plan view. I just wanted to be able to go inside any generated building and may be see outside/inside through windows may be.
Wow, just (re)discovered your work, was already impressed with the medieval city generator but this is great
small question, is it normal that the blue print is missing the randomly generated doors ? you can add new space / door & tower, but can't seem to remove them one already there
anyway, i'll try some more, thanks for the great work
Thanks! I'm not sure I get what you are asking about:) Clicking an empty cell fills it and clicking a filled cell clears it. When you open the context menu over a cell there will be either "Unmark tower" or "Mark tower" depending on whether it's already marked or not. Same with the doors.
Sorry, just getting back to your gen, and again I encounter the same "problem", so i'll try to reword my first post :
When you generate a mansion from scratch, some doors exists, the 3d model and floor plan display them correctly, but the blueprint does not.
What this means is once in blueprint i can force A door on a marked cell, but this does not mean that this will be the only door of the mansion,
when you hit enter, it feels like it generates randomly with a set number of door, and then "adds" marked blueprint door, resulting in mansions with a bit too many doors for my taste
What i thought it would do is use marked cell blueprint first, and if there is not enough opening, add some more during generation. Since the room generator seems perfect, it would allow to make mansions with less openings but more convoluted routes between rooms, ultimately making it more "dungeony" for RPGs (which is what i'm after :) )
Once again, it's already great as is, props to you
It's more complicated than that. A mansion consists of "wings" - rectangular blocks, each with its own roof (roofs are important!). Wings are grouped into "clusters" - sets of wings whose roofs can be merged "organically". When doors are generated, each cluster is considered independently. Depending on the area of a cluster, the generator tries to place one or more entrance doors, but there can't be more than one door per wing. The algorithm picks wings of the cluster one by one trying to spawn doors in them (it's not always possible) until it gets the required number of doors. To spawn a door in a wing the generator first check if there is a "marked" door in that wing. If there is, that marked location is used, otherwise a random valid location is chosen. Sometimes at the end of the process some marked doors are left unused. In this case they are added despite the fact that there are enough doors already.
Why it may be required to have more than one entrance in a mansion? I don't really remember - it was implemented long time ago. Probably I didn't like large mansions having a single inconspicuous door.
Thanks for the detailed answer & insight into how it works !
So if i read that right, by marking an appropriate number of doors, for the size of the mansion, i can at least try to control the layout a bit !
I'll have to look again at the settings, see what may affect wings & cluster generation more finely :D
Hit H to manually adjust style settings. Just thought people should know.
The Style dialog is also accessible via the context menu.
I'd love to see your take on a spaceship generator like this one: https://ship.shapewright.com/
3D is not my thing, but generators like this one make me want to create something "3d-printable"...
Finally, a mansion to accommodate my abundant estate in Decentraland
Wow, this is a great tool to make quick mansions... popped it into Blender, added some simple textures, and in 2 min, you have this. Would have taken me 30 to 40 min to build this manually - and probably would not have looked as great.
Hi, great work =) did you try to import it in Unity? I can't make texture work inside...
Sadly have not had the leisure to work with Unity for a while now :( That said, I suspect you will want ot import it first into a 3d tool (such as blender) and do a bit of work on the model before importing it into Unity - maybe set some default flat textures on the faces for example, then save in a more Unity friendly format (it used to support Blender out of the box way back when - not sure if it still does?)
Hey that looks awesome! You seem like you know stuff. I'm struggling to load the obj file into blender at all. I click import > wavefront > import obj and I end up with I tiny node or something with the file name that can't be scaled. I'm very new to blender if you can't tell haha. Any help would be appreciated.
I'm still running Blender 2.9 and the import works with no issues. I will assume you are already using Blender 3?
Is there away to add to or take away from floors? I have things that are on a higher floor than I want.
I'm not sure I get your question. If you need to generate a building with more or fewer storeys, you need to make its plan larger or smaller in the Blueprint mode. There is no way to request a specific number of floors.
Its not that I want to add or take away floors. I want to move rooms from one floor to another. Either bringing a room up or down.
I am new to this, I really like it but I have no idea how to return to view after going to blueprint or floor plan. Can someone please help me?
You can switch between these 3 modes (3D view, Floor plan, Blueprint) via the context menu. In Blueprint you'll need to either Submit your changes or Discard them. It is also possible to do (almost) everything using hotkeys.
This is so amazing to me! (I'm unable to make anything that I can't see with my hands, so this is computer magic to me) Thank you for sharing, I really appreciate it and am very excited to have this for future reference.
I like this generator, but I wonder if it would be possible to add options to control, for example, the location of the doors, the number of floors... personally, I would find these interesting updates.
hello, your work is so awsome! I love it. I have a question about a license. I would like to use this generator in part of my product. Do I need a pemission or posssible to use it?
Thanks you! As it's said in the description "You can use images created by the generator as you like…". Permission to use the generator itself as a part of something else depends on the nature of that something and… on many other things. But without knowing details it's rather no than yes.
is there a possibility of making mansions of architectures inspired in other countries around the world?
Try random styles (0) to get idea an idea of the range of possible styles.
You're a genius. I really like all your apps. Thank you for your work!
An amazing tool! I was wondering if it's possible to make the context menu able to be opened on the screen? This would make it possible to be used on android/ios
Sure, I can add a button for the context menu like in MFCG.
That's awesome! I enjoy rotating the mansion on an iPad so being able to use it fully without needing a keyboard would be great
OK, I've uploaded an updated version. Instead of clicking a special button you need to tap anywhere to display the menu. Please note that for now it only works in the 3D View - you can switch to Floor plan or Blueprint, but you won't be able to get back without refreshing the page.
This is incredible!! I love this generator and your other ones!!
I'm having a hard time getting my interior floor plan to match what I would want it to be as well as how the inside would correspond to how the outside looked. Would it be possible to be able to change the floor plan within the "plain view mode" so you could decide what doors lead where and which rooms would be what?
Nothing like that is planned. You see, there is no separate algorithm for generating rooms inside a building which could be customized. In this generator for any mansion there is a one-one match between its exterior and floor plan. Maybe one day I'll make something more useful for generating rooms from a specific ground plan...
hello! ive been running into some problems regarding the 3d view of the generator, the screen appears a greyish color and doesn't display the 3d model.
Hey,
What is your os/browser? Does the rest of the app work? Can you switch to plan view for example?
the rest of the app does work, but the 3d view does this weird thing where it starts working but after a little awhile it will turn into the greyish screen. the browser i'm using right now is google chrome.
It sounds like something is wrong with webgl in the browser. I don't think I can fix it, sorry.
Could you turn this into an app maybe? like one you could download on a phone or on a desktop?
oooo i'm going to use this so much for minecraft!!! i love architecture and building but i'm not very creative when it comes to it unfortunately (the floor plans feature is especially useful in this case, tysm <3 )
I love this so much and yes very much colourblind friendly. Has been very helpful tool in the short time I used it. need to get use to figuring everything out though but BPs are great!
Great generator, is it possible to add the ability to import mansion plans? Either using the exported JSON or (preferably) URL params? It would be great to be able to load a mansion that was prepped earlier.
I'll try to implement something like this in the next update.
Great, thanks watabou!
Hi, thank you for an amazing generator!
Hi watabou,
is there amyway you can make it so that we can export the obj with uvmap and a flat image texture.
im trying to get your models to play nice with tabletop simulator, and even with blender inbetween its a pain as TTS does not suporrt mtl files.
it would be fantastic if there was an option to download the obj with a properly mapped flat image texture so that the colours schemes can be determined and exported straight from your generator.
many thanks
Hi!
So if I understand correctly there are 2 issues, both related to using exported OBJ's with TTS, right?
Hi Watabou,
thanks for your reply, and sorry to ask you to do more work.
to answer your quesitons
Firstly I used a saved .json from MFGC reimported it into City Viewer and downloaded the .obj output.
if the .obj is directly imported to table top simulator the normals are wrong.
The additional blender step was simply me attempting to fix the normals fast and failing. However after further investigation i think i may have been wrong in my initial post.
Either the normals of the basic .obj output are simply inverted, not random - OR its possible that as this was a new .Obj output file that the normals are different to my first file - you would obviously know more about how your code is handling this.
here are the normals of the same .obj after being imported to blender, luckily either with this model or in general, a simple flip of the normal direction solves the issue in TTS. It may be possible that the normals were further screwed up due to me recalculating them, rather than flipping all.
one possible solution to get an object straight to TTS or anything else that is having an issue would be for and option for output from (City Viewer) to have flipped normals?
Procgen Mansion - the models seem to be fine or at least there are no flipped walls etc that I have seen.
Textures / materials
yes I'm aware of the MTL issues with TTS (its a great tool but its also janky as hell and rubbish in many ways) - the issue is currently to get a nice looking model, I have to unwrap the model, assign each different material to an image, then bake the render output to create the texture - its not the end of the world but its just an extra / unnecessary step when I'm wanting the colour output from your generator because it looks good that way :).
an added advantage of having some form of unwrap and basic texture file would be that people could "paint" the models very easily with other textures or materials in blender without having to unwrap the model assign then bake.
i did find this solution that is supposed to solve the .Obj Mtl texture issue.
GitHub - theFroh/imagepacker: Takes a Wavefront OBJ with textures and attempts to squash them into a single texture file.
but unfortunately i could not get it to work for me :/ but maybe looking at it may be of some help ??
finally I just want to say ...
Thank you your generators are amazing and have helped me so much already I cant wait to see what you build next, an integration between MFCG and Procgen mansion perhaps...so we can get cities with all building mapped and models for all, ... one can dream one can dream.... ;)
Hey,
Sorry that it took me so long to reply to your detailed description of the problem. As I said, I don't specify normals explicitly in obj, they are derived from the vertex order. Yes, I can add an option to reverse that order. Or I can specify vertex normals and that will also allow me to implement smooth surfaces. I'll try both options next time I update City Viewer or Procgen mansion. Maybe I should buy TTS, it's not expensive...
no problem :) thanks for looking into it for me, keep up the good work ! :D
The night time style with lit rooms doesn't light rooms consistently. If you look at corner rooms, often one side will be light while the other is dark, despite being the same room.
Would it be difficult to add a menu for the style options to quickly adjust colors, roof shapes, time, etc?
This will be implemented in the next update.
Any way to download the resulting model(s)?
Not yet. I'm planning to add OBJ export later.
oh, that'd be amazing. thanks
My latest Mansion