Adaptive Wilds / TreeGen

Sphere original · Game in development

Growing a forest
from data.

Sphere’s procedural vegetation tooling for Adaptive Wilds, an original game in development. The in-engine system uses Rust and Bevy; the interactive browser study below demonstrates a selected part of that work.

The challenge was not producing one convincing tree. It was defining many species through compact parameter data, reconstructing exact trees for interaction, and prebaking their runtime representations without losing the structure behind them.

Change the inputs.
Preserve the structure.

Change the starting form, watch the tree grow, then remove a branch and restore it. The preview shows software responding to your choices while keeping track of the structure behind the image.

Try it in three steps Quick walkthrough
  1. 01

    Make it different.

    Choose a Starting form, then use New seed to generate a variation. Drag the preview to look around the tree.

  2. 02

    Watch it grow.

    Select Grow tree to reveal how the branches develop. Use Stop to return to the complete tree.

  3. 03

    Cut. Restore. Compare.

    Use Prune example to remove a branch, then Restore seed to bring back the original structure.

This is a browser study from Adaptive Wilds, a game in development. It demonstrates interactive tooling; the full game and export pipeline are outside this preview.

A conifer generated by the Adaptive Wilds TreeGen system
Interactive system studyThe generator loads when it reaches your screen.Seeded forms · pruning · lifecycle · emitter hierarchy

01 The browser implementation reproduces the production system’s seeded authorship and editability at a deliberately reduced scope; project serialization, persistent world state and the full LOD export pipeline remain outside the study.

A tree is a graph
before it is a mesh.

At authoring time, a tree is compact data: a seed, a species preset, whole-tree ranges and an ordered hierarchy of branch emitters. Each emitter bounds characteristics such as coverage, survival, angle and foliage distribution. The seed samples those ranges deterministically, allowing variation without giving up reproducibility.

Generation expands that source into parent-child branch edges with stable identifiers. Geometry and foliage are outputs of the graph, not its only record, so a branch can still be found, pruned or damaged and the exact tree reconstructed when gameplay needs its full structure.

The browser study exposes this data model at a reduced scale. It demonstrates ranged authorship and hierarchy editing without presenting project files, serialization or production export controls.

  1. 01

    Source

    A seed, species preset and authored ranges provide compact, repeatable inputs.

  2. 02

    Resolve

    Ranged values and nested emitters become deterministic branch events.

  3. 03

    Structure

    Stable identifiers preserve parent-child relationships for growth, cuts and damage.

  4. 04

    Deliver

    The graph produces geometry, foliage and distance-ready representations.

One source.
Two representations.

One detailed tree is not a rendering problem. A forest is: repeated branch geometry, foliage materials, shadows and wind compound into thousands of potential draw calls. Keeping every tree fully generated and simulation-ready would make vegetation the frame-rate bottleneck.

Adaptive Wilds keeps two representations of the same tree: compact seeded source data for reconstruction and interaction, and prebaked multi-LOD outputs for forest rendering. Detailed silhouettes survive up close while geometry and material cost fall progressively with distance.

  1. 01

    Source

    The seed, species preset and emitter hierarchy remain the compact source of truth.

  2. 02

    Bake

    The resolved tree becomes detailed geometry, cheaper LODs and distance-ready representations.

  3. 03

    Render

    Each tree uses the cheapest appropriate output, with foliage batched to keep forest draw calls down.

  4. 04

    Reconstruct

    Interaction rebuilds the exact hierarchy from its seed, then resolves cuts against stable branch identifiers.

  • Seeded species presets and deterministic ranged generation
  • Nested branch emitters and an editable hierarchy
  • Stable branch replay for growth, pruning and felling
  • Authored or browser-local materials with batched foliage
  • Deciduous growth and seasonal state playback
  • Production species library and high-detail swept geometry
  • Prebaked LOD and impostor outputs
  • Persistent damage, physics, wind and environmental response
  • Integration with world simulation state

The forest is rendered.
The tree remains editable.

Adaptive Wilds is in development. This browser study isolates one production concern: preserving procedural structure as useful game data while delivering forest-scale runtime outputs.

Discuss a technical project