Home > Procedural Generation

Procedural Generation

For the IMTNS project I teamed up with 8 other people to create aa RPG, inspired by the Yakuza series. My task was mainly the generation of the city of Bangkok, in which the game was set.

The goal was a designer-friendly workflow that could be easily used to generate cities quickly.

The tools have been developed for Unity 6.0


Road Generation

The road generation is based on splines, allowing the creation of custom roads in any form. Sidewalks are extruded automatically and dynamically adjust to neighboring roads. Intersections connect different road segments together, using the triangle fan method.


Building Generation

First a lot shape is created by the user, forming a concave polygon. The building is generated upwards, with each story sometimes shrinking along an edge.

The building is defined by multiple Scriptable Objects that can be reused for multiple buildings:

Building Generation Screenshot

After building generation, the decorative generator attaches decoratives to the building. Every decorative prefab defines simple rules such as attachment type, offset, and bounding box, which the decorative generator uses to decide where each decorative is placed.


Final version

The procedural generation tool is currently still in active development. After 8 weeks of development, this is the current state: