
I wanted to create a Hogwarts style castle in Houdini, with halls, walls, towers, bridges on a mountain top, to make any wizards inhabiting the place look more impressive.
I have not yet modelled the doors because I wanted the interiors to be walkable in a game engine so decided to simplify things. I have also not yet modelled interior stairs and rooms.
I had an idea of placing towers around what had already been placed. Put down a hall, and a houdini tool places towers around it. So I used a font sop based on the frame number to generate an initial shape to put towers around:

These towers are then analysed to place smaller towers around them. Here is the geo around the towers to scatter new towers on:

I created the towers based on a tube at the origin, then used CopyToPoints to put them in their places. The variations are done in a straightforward way – each tower is created in a foreach loop and randomly seeded on the iteration number. Towers can have 4 or 18 faces, which changes the look somewhat, as well as 2 types of roof. The door points are output with the tower for, e.g. placing doors in a game engine.

Each tower has solid floors, at various heights for different effects if you walk around. Window and door “subtraction” geometry was instanced on rings around the tower, aligned to a face’s centre and booleaned out. The tower is made bottom-heavy using a bend modifier:

I broke apart the basic tower to make a hall for the centre of the castle. And what hall is complete without a grand entrance staircase?

The bases of the towers feed into the terrain generation – the terrain around them is flattened out. I also generate paths between each tower, using their doorways. The paths are used to colour the terrain as if hundreds of students tramped along them every day. 
Any doorways on upper levels have the chance to be connected with bridges. Bridges are limited in their slope to allow easy walking (not sheer rock climbing), so I clamp the bridge’s verticality to 3 metres and generate a spiral staircase on the bridge to the high door.
Bridges have scaffolding, to hold them up (generated with connect adjacent points), and railings – only on one side though: these magical castles lack some of the health and safety standards of modern buildings!
I generated walls by taking some of the points generated by the buildings, and using Triangulate2D to make them into a polygon. I clean it up using divide and polydoctor, and converting it into lines. I use pathfinding on the terrain to find the best paths from point to point, playing with the cost of changing angle to make it more grid-like. Then smooth it out and sweep some geo along it.
Here is a small bug caused by the paths between building doors being created before the walls, so goes through the wall. I could add another entrance to allow the path, or change the way the paths are generated.
The lights are generated from the door points, as well as just lazily scattered on a peaked version of the tower geometry. I used an object level Instance to copy point lights (was about to write some messy python but the docs came to the rescue). I added some fog by rasterising the door points into a low res volume. I had hoped these would work better in the viewport but ah well!
I hope you enjoyed this little breakdown!
The top image is from Unity, the lower one was rendered with Houdini before I textured the towers. I think I prefer the top one!
