TL;DR: Added variable height and geometry cuts on each block + roads and sidewalks. Further getting the hang of Houdini.
My main takeaway was that I needed to use a for loop to iterate over each block, then divide the block up, and iterate over those divisions which would eventually turn into buildings. I can certainly see it being easy to go in and add more interesting features to the buildings and continue randomizing with seeded random values.
Identifying which polys were part of the “road” was pretty interesting. I ended up filtering the polygons based on surface area. The spaces between the roads (where the buildings are) should usually have a larger surface area than a given polygon that makes up the road, so I figured out a threshold, and it mostly worked in separating the two. To get an even better result, I tweaked the road bevel so that it subdivided the road polygons to be even smaller, further differentiating the size of a road polygon from others.
I’ll put textures on the backburner right now and prioritize level design and gameplay. It’s strange how I’m starting to use Houdini as a modeling tool…