Procedural Building Generator for 3DForge Village Exteriors

My current project is a bundle of scripts that can create a medieval/fantasy village from scratch, using the 3DForge Village Exteriors modular building set.

The first stage of that was to manually place the core blocks and have a script generate the walls, to go from picture one to picture two with nothing but the pressing of the “play” button:


As you can see, it doesn’t just randomly place anything, but keeps consistent style throughout a level of a building, for example.

The current status is that it also generates frames, doors, balconies and even stairs to doors on the 2nd floor as well as some more tuning to regulate frequency of things (so that you don’t get 4 doors in a row or such nonsense).

The result is this, all at procedurally generated except the building cores:

The next steps are more details for the buildings and then I will move to getting the actual building layout procedurally generated as well.

The purpose of this set of scripts is to generate an entire village or town from basic input (road layout and density). It can serve as either a starting point for a first person game, where you would manually change the buildings important to the story to conform to your vision - or as the generator for places in the background, such as towns to fly over or to see in the distance or even to walk through.

It does not generate building interiors, though a similar approach could be used to do that and it might be a future enhancement. At this time, however, I am at step two of my six step roadmap and I’ll complete that first before I branch off into other ideas.

I plan to sell this on the asset store when finished. It will be relatively cheap, but an exact price has not yet been determined. While the version I create is specific to the 3DForge set, it can be adapted to other modular building sets easily, and if any author of such is interested, I’ll be happy to make an adapted version for that set. But - shouts to 3DForge - the well structured and named assets in the Village Exterior bundle really make it fairly easy to build procedural generation on top.

1 Like

My actual roadmap:

First step - build a house by hand, using the blocks (blocks + roof), then generator builds a house from it with some parameters. Just walls + roof.

Second step - add details - balconies, stairs to 2nd floor, props <== this is where I am right now

Third step - consider neighbourhood. Raycast out from walls to see if you hit something and make more or less windows depending on result. (i.e. few windows to narrow side streets, more windows to wide front street)

Fourth step - build the blocks as well procedurally

Fifth step - add simple procedural road network, or take from the town maker SVG files maybe ?


Sixth step - add people walking around. Easy using pathfinding, just let them walk randomly between intersections and such.
Just to add some life, no need to add complicated behaviours.
Also add some animals, for the same reason. Maybe horse carts, dogs, cats, birds, etc.

That step will probably not be part of the asset, it is for the project I am building all this for.

1 Like

Just a quick update: Working on dormers, roof corners and more, which turns out to be slightly more difficult than I thought.

1 Like

You Must get MEdal And,