Projects

Noise Playground

2026

  • Web
  • WebGL
  • OpenSimplex2
  • Procedural Generation

A procedural noise editor and visualization tool designed to enable the creation, composition, and real-time exploration of complex terrain and parameter generation systems for Gildenkrieg.

The Noise Playground is built around a node-based graph architecture inspired by systems like Unreal Engine Blueprints, allowing users to construct arbitrary procedural functions by combining noise generators, mathematical operations, and custom parameters. Each node represents a discrete operation (e.g., Perlin noise, domain warping, blending, or scalar transforms), and connections between nodes define the data flow that produces a final output value.

At its core, the system is designed for flexibility and extensibility. Users can define not only terrain heightmaps, but also arbitrary “maps” such as temperature, moisture, biome distribution, or any custom scalar field. These maps act as first-class inputs into higher-level systems like biome placement and world generation.

The editor is structured into multiple focused workflows:

  • Biomes: Define biome types, configure rules and thresholds based on input maps, and author biome-specific noise graphs
  • Maps: Create and manage reusable parameter maps (e.g., temperature, humidity, elevation) using graph-based definitions
  • Placement: Control how biomes are distributed across the world using map-driven rules, blending, and weighting systems
  • Preview: Visualize outputs in real-time using a chunked terrain renderer with support for multiple preview targets (heightmaps, individual maps, biome masks, etc.)

The rendering system is designed to support real-time feedback while editing:

  • Chunk-based terrain rendering with configurable radius
  • Level-of-detail (LOD) scaling for distant terrain
  • Multiple view modes (static “map view” and free-fly camera)
  • Dynamic switching between preview targets (e.g., right-click to preview a specific map or node output)

To support responsive editing, the system is being designed with GPU acceleration in mind. Noise evaluation and graph execution can be offloaded to the GPU where possible, enabling fast recomputation of large terrain regions and smooth interaction even with complex graphs.

The graph system itself supports:

  • Arbitrary chaining of noise functions and mathematical operators
  • Mixing of scalar values and procedural inputs
  • Parameter exposure for real-time tuning
  • Reusable subgraphs and modular composition (planned)
  • Deterministic evaluation for consistent world generation

A key goal of the project is to bridge the gap between low-level procedural generation and high-level world design. Instead of hardcoding biome logic, users can define their own generation pipelines by combining maps and rules, enabling highly customizable and emergent terrain systems.

Planned features and future improvements include:

  • Full GPU-based graph execution pipeline
  • Advanced biome blending and transition systems
  • Spherical terrain support (cube-to-sphere mapping for planets)
  • Persistent graph assets and versioning
  • Debug visualization tools for inspecting intermediate outputs
  • Integration with physics and gameplay systems (e.g., collision mesh generation)
  • Collaborative editing and tooling

This project prioritizes usability, flexibility, and performance, aiming to provide a powerful procedural generation workflow that scales from simple noise experimentation to full planetary terrain generation systems.

Embedded demo

External content shown in a restricted frame. Prefer opening the demo in a new tab.