Procedural generator of random castles

   758   6   2
User Avatar
Member
14 posts
Joined: Feb. 2018
Offline
https://vimeo.com/391984606 [vimeo.com]
https://vimeo.com/391945236 [vimeo.com]
https://vimeo.com/391985059 [vimeo.com]


This generator allows you to quickly create both simple houses and huge castles. A base is randomly created from which walls, roofs, towers, etc. are extruded. The size (complexity) of the castle is controlled by the “Module count” parameter. There are many settings for influencing the randomness of generating the base form. There are controllers for the probability of building doors (2 types) and windows (3 types + windows of towers and roofs). For complex buildings, there is a «low/High» switch with which you can quickly select the desired basic shape and settings and not wait for the creation of each high poly model. The “Straight probability” parameter of the basic form affects the straightness of building creation, the “Turn probability” parameter, on the contrary, makes the building turn more to the right or left. Part of the base of the castle can be placed on brick columns (“First floor probability” parameter), you can choose the probability of creating towers from the roof (“Square tower probability” parameter), and you can also adjust the creation of large towers and roofs with the “Union Primitives probability” parameter. Balconies are created automatically where the geometry of the basic shape allows (it is possible to influence the places of generation and the number of balconies, but these parameters are not put to the top of the generator), the location of the balconies (all but small) will change only when the basic shape is changed or the location of the doors changes. After the generator selects locations for doors and balconies, selects locations for windows and small balconies (parameters “Window 1”, “Window 2”, “Small balc”). The generator itself will remove windows and doors where it would not be entirely logical to consider their creation. All roofs are built automatically without providing any parameters for the user (they can be controlled, but you need to go deeper into the generator). Where possible, the generator will create a triangular roof, for the towers there are various roof options, they are randomly selected. The generator itself chooses the possibility of creating slopes. For towers there is the possibility of creating bridges, you can specify the minimum and maximum permissible bridge length, select seed or the probability of construction. For all walls (basic form, towers and protrusion balconies), it is possible to create UV coordinates (overlaped) with the regulation of their scale. Each type of window has its own floors for location (balconies have their own windows), the parameters for their settings are only inside the generator (also for doors). For protrusion balconies, the generator can build rounded corners where it is possible. Part of the walls can be used to create stained-glass windows, seed and probability are avialable (you can configure other parameters of the stained-glass windows only inside the generator).

Attachments:
RC_5_2.jpg (331.0 KB)
RC_5_3.jpg (293.8 KB)
RC_40_2.jpg (464.2 KB)
RC_40_4.jpg (413.4 KB)
RC_200_1.jpg (340.8 KB)

User Avatar
Member
20 posts
Joined: March 2014
Offline
Wow, that's an amazing tool. This must have been a ton of work. I don't really need a castle generator, but are you going to make this available in some form?

What happens when you set “Module Count” to 1000? What's the biggest castle you have every made?

Will this be used in a film some day that we could see?

Very cool.
User Avatar
Member
14 posts
Joined: Feb. 2018
Offline
Thanks!
It took about 3 months to create.
If someone needs or wants to see how everything is done inside, of course I will post the file here.

The maximum that I completely calculated was 300 modules and this is already very slow for my computer (i5 8265u, 16 GB RAM, integrated video card). Low poly geometry - I can set 10000, but this is not very similar to a castle, but rather to an intergrown city. Of course, this asset can be easily adapted for creating low poly geometry manually and only calculation of everything else will be automatic, but I am not an artist and can not see the whole picture in one part of it, it is more convenient for me when everything is created at once.
I have nothing to do with professional activities in advertising, cinema, or something like that, at the moment it’s a hobby for me, and I’m not so interested in the render itself as creating geometry, but if someone wants to use this asset for themselves, I’m not against it at the mention of my name

Attachments:
Снимок экрана от 2020-02-20 10-13-53.png (764.5 KB)

User Avatar
Member
653 posts
Joined: Oct. 2016
Offline
Amazing results - that looks really, really fun!

If you wanted to pursue this idea further, what I would suggest is to allow the user to pick structural points like “here's the well, here's bad-lands etc” and then “weight” certain parts/elements of the structure set accordingly (i.e. create court-yard, create back-side/kitchen-area etc).

You could also think about allowing for components to be edited, so that, additionally to the “19th century reconstruction style” you are currently building, the tool could do various “styles” (you would need to limit heights and block sizes etc).

Not meant as a critic in any way, just throwing in ideas to keep you going - and I LOVE your statement about not being interested in the rendering but in constructing the tool. Very much my world-view!


Marc

Software Sewers Service (aka Pipeline Problems Solver)
https://www.marc-albrecht.de [www.marc-albrecht.de]
User Avatar
Member
14 posts
Joined: Feb. 2018
Offline
malbrecht
If you wanted to pursue this idea further, what I would suggest is to allow the user to pick structural points like “here's the well, here's bad-lands etc” and then “weight” certain parts/elements of the structure set accordingly (i.e. create court-yard, create back-side/kitchen-area etc).

You could also think about allowing for components to be edited, so that, additionally to the “19th century reconstruction style” you are currently building, the tool could do various “styles” (you would need to limit heights and block sizes etc).
These are good ideas, thanks
User Avatar
Member
24 posts
Joined: Sept. 2017
Offline
Amazing! It's really hard for me to judge what are the premodelled parts, which are just copied procedurally, and which parts are actually modelled inside the hdaprocedurally. Or is it only the actual geometry for the windows and doors premodelled and than copied to certain points? Overall it definitely looks like the real thing!
User Avatar
Member
14 posts
Joined: Feb. 2018
Offline
Thanks, Kaloyan! Of course there are some ways to model it. Simple and similar parts (doors, windows, lantern, small roof-corner-towers and other) are premodeled by me and was created separated subnetworks or hdassets with some basic parameters. Some parts (top of towers, roofs, bricked corners, bridges etc.) are subnetworks which use input geometry. Many times and nodes was spent to find points for copy or separate parts of geometry that need for ForEach cycles (there are many diferent ForEach cycles, as far as I remember there are cycles with three or more levels of investment). Some balcons are subnetwork for copy (rounded balcon corner are separated subnetwork) and some are hda which use input geometry (depends on the location and the number of levels). And the base of it is simple LSystem with a rotation angle of 90 degrees and copying to the points of square polygons. and the disadvantage of this is that all angles are 90 degrees! Now I'm working on a new generator in which this shortcoming will not exist.
  • Quick Links