Patterns Overview
Reusable game development patterns that work the same on both runtimes (MVU and Adaptive): techniques about memory, rendering structure, and game feel rather than program shape.
Each page presents a working recipe for a problem every game developer faces, not an API reference.
Available Patterns
Pattern |
What it solves |
|---|---|
Zero-GC particle effects with pre-allocated arrays and fade-and-compact |
|
Compositing multiple render passes: HUDs, minimaps, debug overlays |
Where the other patterns went
The patterns that are about program shape live with their runtime, because that is where they differ; each MVU pattern has its adaptive counterpart:
- Structuring a growing game, sub-systems that own their state and report events as data: Composable Systems (MVU) / Systems (adaptive).
- Running heavy work without blocking the loop: Background Work (
Cmd.ofAsync) / Background Work (postTask, slicing). - Computing derived values instead of refreshing them by hand: Pre-computed State (MVU, by hand) / Derived State (adaptive, declared in the graph).
How to read these pages
Each pattern follows the same structure:
- What and Why: What the pattern does and when you need it.
- Use Cases: Multiple scenarios where this pattern applies.
- The Technique: The core idea, with generic code.
- When to use: Concrete signals that this pattern applies.
Samples
The samples in the Mibo.Samples repository demonstrate these patterns in complete games (the Platformer3D sample shows particles and layered rendering). Each pattern page links to the relevant sample code.
Mibo