Procedural Generation Pipeline

jjmontesjjmontes Posts: 27Member

I'm experimenting with a tool that takes Godot scenes, processes them and writes back a generated scene. It is a python process that currently loads and writes .tscn files:

In my first test, this is the input:

And the generated scene, including polygons and static bodies with colliders:

I might keep working on it: this approach allows to automaticlally generate colliders, add props or details, lights, occluders, etc... But the possibilities are many:

  • Generating rooms for 2D games: caves, buildings, mazes, rooms...
  • Generating 2D polygon based levels or tilemaps
  • Augment levels with props, foreground, backgrounds, instances of scenes
  • Analysing depth and generating normal maps
  • Transform data from other sources and incorporate them into scenes

I plan to release this stuff by the end of the year.

Tags :


  • jjmontesjjmontes Posts: 27Member

    I guess the topic might be a bit confusing. This is an example of a different pipeline using the same toolset. Here (the main use case) it generates GLTF 3D Models of cities from OpenStreetMap data (though this is not strictly Godot related):

  • jjmontesjjmontes Posts: 27Member

    More procedural 2D: separating floors and ceilings, added light occluders, adding some "grass" polygons that might be textured later on, adding lamps aligned to polygons, and random placement of game items. 3D view is used for development, represents z-index.

  • jjmontesjjmontes Posts: 27Member

    We've been trying to use this to generate maps using voronoi diagrams, and put this together as an experiment:

  • jjmontesjjmontes Posts: 27Member

    I have added some support to call this tool directly from within godot, and I put together a video showing some results generating 2D polygon-based levels from basic shapes:

  • jjmontesjjmontes Posts: 27Member

    I have uploaded the talk about this tool I presented in last year OSM State of the Map conference:

  • jjmontesjjmontes Posts: 27Member


    I have finally managed to upload my toolchain repo to GitHub. The project is broken, undocumented and incomplete. I'm trying to polish it up a bit. Anyway, here it is:

Sign In or Register to comment.