Skip to main content

Editor-Time vs Runtime Proceduralism

Infinity Creator provides two primary modes for procedural generation:

  • Editor-Time Proceduralism - Generates content before runtime, used for static world-building.
  • Runtime Proceduralism - Generates content dynamically during execution, enabling adaptive environments.

Understanding when to use each approach helps optimize performance and maintain control over procedural generation.

Comparison: Editor-Time vs Runtime

FeatureEditor-Time ProceduralismRuntime Proceduralism
When It HappensBefore execution (pre-baked)During execution (dynamic)
PerformanceFaster since assets are precomputedUses system resources dynamically
FlexibilityFixed procedural resultsCan adapt and evolve during runtime
Use CaseLevel design, static world-buildingAdaptive worlds, AI-driven generation
tip

Use Editor-Time Proceduralism for prebuilt content and Runtime Proceduralism for interactive and dynamic systems.

tip

It is sometimes optimal to use Editor-Time Proceduralism to produce assets that then are used in Runtime Proceduralism. This can yield significant computational savings.

Editor-Time Proceduralism

Editor-time proceduralism occurs before runtime, allowing assets to be generated and stored ahead of execution.

How to Use Editor-Time Proceduralism

  1. Build a Procedural Graph
    • Drag in and connect any nodes required to build your procedural asset.
  2. Run the Graph
    • Press "Run System" in the Node Graph until you have a desired variation.
  3. Export
    • Right click the output in the inspector to save asset to file. Alternatively, select Export → Export 3D Scene... from the File menu to save the entire scene.

Runtime Proceduralism

Runtime proceduralism occurs dynamically during execution, allowing environments to adapt and change as needed.

Use Cases

  • Infinite Procedural Worlds - Generates terrain and biomes on the fly.
  • Adaptive AI & Gameplay - Modifies level design based on player interactions.
  • Efficient Memory Usage - Loads and unloads content as needed.

How to Use Runtime Proceduralism

  1. Build a Procedural Graph
    • Drag in and connect any nodes required to build your procedural behavior.
  2. Run & Preview
    • Click Run System to observe runtime procedural updates in action.
  3. Proxy Inputs and Outputs
    • Proxy desired input and output data past the desired top-level systems. Read more about preparing top-level ports for deployment here.
  4. Deploy to Your Project
    • Click the Deploy button to deploy the required runtime core and assets to your project.
  5. Use the Infinity SDK
    • Build your application or game against the Infinity SDK to use the deployed core and assets.

Example Workflow:

  • Create Mesh + Noise Deform → Runtime Terrain Generation
  • LSystem + Replicate → Procedural Object Placement at Runtime

Hybrid Approaches

Some workflows combine both Editor-Time and Runtime proceduralism.

Example Hybrid Workflow

  1. Generate base terrain using Editor-Time proceduralism.
  2. Use Runtime proceduralism to dynamically populate details like vegetation and NPCs.

Example:

  • Editor-Time: Pre-generated landscapes.
  • Runtime: Dynamic weather, object spawning, or AI placement.

Best Practices

  • Use Editor-Time for Performance - If content is static, export or save it to avoid runtime processing.
  • Use Runtime for Dynamic Worlds - If content needs to adapt, set up procedural runtime nodes.
  • Mix Both When Needed - Static terrain with dynamic object placement is a common hybrid approach.