Procedural City Generator

Go Back
Test Image
Github

I was given the task to create an offline tool that, when given a set of parameters, can procedurally generate Cyberpunk’s “Night City”. Although the resulting algorithm is missing a lot of features that make it look like Night City, I did learn quite a lot from this project.

Procedural Building Generation

Test Image
Test Image
Test Image
Test Image

Each of the buildings in night city were part of the one of the four architectural styles. Because each style was very different from each other, 4 separate algorithms were created in order to create each style. The images above are the buildings generated by my algorithm for each style.


Entropism Buildings

One notable algorithm is the one used to create the “entropism” style, which consist of sprawling favela-like structures. In order to do this, I created a custom algorithm based on shape grammars and binary space partioning. As shown in the video below, the algorithm is able to create relatively unique buildings.


Procedural Mesh Generation

I was also requested to create some of the buildings found in the westbrook district of Night City. These consisted of n-gon prism like buildings. In order to do this, procedural object placement was not optimal because variations in the shape and number of sides of the n-gon was requested. So, in order to generate this type of building, procedural mesh generation was used. These buildings are displayed above (Pic no. 3 from the left).

City Layout Generation

Test Image

The buildings that were created also needed to be procedurally placed. In order to do this, I created an algorithm that when given a set of points that show where a certain district lies, the algorithm will decide what type of building will be generated and how many of it can it generate given the space available.