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
| Feature | Editor-Time Proceduralism | Runtime Proceduralism |
|---|---|---|
| When It Happens | Before execution (pre-baked) | During execution (dynamic) |
| Performance | Faster since assets are precomputed | Uses system resources dynamically |
| Flexibility | Fixed procedural results | Can adapt and evolve during runtime |
| Use Case | Level design, static world-building | Adaptive worlds, AI-driven generation |
Use Editor-Time Proceduralism for prebuilt content and Runtime Proceduralism for interactive and dynamic systems.
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
- Build a Procedural Graph
- Drag in and connect any nodes required to build your procedural asset.
- Run the Graph
- Press "Run System" in the Node Graph until you have a desired variation.
- 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
- Build a Procedural Graph
- Drag in and connect any nodes required to build your procedural behavior.
- Run & Preview
- Click Run System to observe runtime procedural updates in action.
- 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.
- Deploy to Your Project
- Click the Deploy button to deploy the required runtime core and assets to your project.
- 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
- Generate base terrain using Editor-Time proceduralism.
- 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.