Created for PROCJAM 2018.
Most of the following commands/options are accessible through the context menu.
Press Enter to generate a new mansion.PressShift+Enter to generate another mansion with the same ground plan.
Camera keys:
"Style" keys:
Other settings:
In plan view mode:
In blueprint editor:
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☕!
Log in with itch.io to leave a comment.
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!
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.
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).
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.
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.
Wow, just (re)discovered your work, was already impressed with the medieval city generator but this isgreat
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
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, butthere 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
I'd love to see your take on a spaceship generator like this one: https://ship.shapewright.com/
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 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...
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...