UE4 Mech Game Update #8: Procedural City PT.1

TL;DR: I’m using Houdini to generate a procedural city level. Houdini allows me to build assets in a layered non-destructive way, which is ludicrously efficient.

The awesome thing about Houdini is that it mixes procedural operations with manual operations so that you can give the mesh a bit of a human touch while automating the repetitive parts.

Now that I’m focused on environment design, I need to get an efficient pipeline going. I knew long ago that I was going to take a procedural approach. Pre-made assets are alright for rapid prototypes, but I find that they have too many unneeded polys for a VR poly rendering budget. Houdini gives you both creative and technical control over assets.

I started with a grid then moved, scaled, rotated, deleted and merged groups of vertices to create shapes that would resemble real life blocks of buildings. From there, I extruded each surface inward to create the roads, then extruded upward to create the buildings themselves. Extruding can get tricky when it comes to the direction of each normal- buildings only go up, they don’t go at an angle even if the surface is at an angle. Nonetheless, Houdini has such edge cases covered if you reach for the right nodes.

The goal is to create the buildings, streets, street lights, and sidewalks procedurally, then manually add in foliage, cars and unique geometry. Or heck, some of that stuff can even be added procedurally perhaps. Only time can tell.

The next immediate step is to randomize the height of the buildings, add textures and get it into the game engine ASAP to see how the bare minimum results look. I’m giggling with excitement at the prospect that I can start polishing early and still be able to go back and completely restructure the flow of the level without consequence.

Part 2 coming soon…