Description
Changelog
Reviews (0)

Planet Generator

Planet Generator is a GPU-accelerated procedural planet generation addon for Godot 4.

It generates complete 2:1 global planetary maps from configurable physical and procedural parameters and can be used directly from GDScript without depending on the standalone Planet Generator application or its user interface.

The addon is intended for games, simulations and procedural world-building tools that need reusable generated planetary data.

Features

Procedural planetary generation

Planet Generator can generate several types of planets, including:

  • Terran worlds
  • Toxic worlds
  • Volcanic worlds
  • Airless worlds
  • Dead / irradiated worlds
  • Sterile rocky worlds
  • Gas giants

Generation parameters include values such as:

  • Planet radius
  • Seed
  • Average temperature
  • Precipitation
  • Sea level
  • Terrain scale
  • Tectonic configuration
  • Hydrology
  • Climate
  • Administrative regions
  • Biome distribution
  • Natural resources

The same parameter system is shared with the standalone version of Planet Generator.

GPU-accelerated generation

Most of the generation pipeline uses Godot RenderingDevice compute shaders.

Generated systems include:

  • Base terrain and elevation
  • Tectonic plates
  • Crust age
  • Erosion
  • Temperature
  • Precipitation
  • Ice caps
  • Water bodies
  • Rivers
  • Biomes
  • Land regions
  • Ocean regions
  • Administrative subdivisions
  • Natural resources
  • Final rendered planetary maps

A persistent GPU worker is used so repeated generations do not recreate the entire RenderingDevice pipeline for every planet.

Runtime API

Planet Generator is designed to be used from another Godot project.

The public API includes:

  • PlanetGeneratorService
  • PlanetGenerationTemplate
  • PlanetGenerationSpec
  • PlanetGenerationJob
  • PlanetGenerationResult

Example:

var template := PlanetGeneratorService.create_template("Earth-like")

template.seed = 123456
template.planet_radius = 150.0

var spec := PlanetGenerationSpec.from_template(template)

var job := PlanetGeneratorService.generate_planet(spec)
var result := await job.wait_for_result()

if result:
    var map := result.load_layer_texture("final_map")

Changelog for version v1.0.0

No changelog provided for this version.

Reviews

Planet_Generator has no reviews yet.

Login to write a review.

Consider supporting the creators!

If you enjoyed this asset consider supporting its creator. Follow the link below.