Skip to content

Run Loop

Arena: run a timed wave, resolve queued level-ups, enter a shop, then begin the next wave. The final survived wave wins immediately after settlement. New Arena waves refill health.

Field: continuous waves with no shop. A level-up pauses after the current tick, offers upgrades and eligible weapons, applies the selection and resumes the same wave. FieldCarryHealth controls health carried between waves. Field offer progress uses level; Arena offer progress uses wave number.

A choice window avoids duplicate ids, searches lower tiers when a requested tier has no candidates, and can end early when no choices exist. A full weapon inventory only offers weapons the acquisition rules can currently accept. Use Offer Odds to inspect this under your settings.

Entry point and reference fields

Entry point: Code-only: use the API reference for the named types.

Field / API Purpose
RunPhase Controller action boundary
FieldCarryHealth Carry health between Field waves
PendingLevelUps Queued choices
RunResult Check success before assuming mutation

Figure

Concept diagram.

Concept diagram.

Check your result

Validate connected content before starting a new measurement or run. Keep the settings, seed and content version with any result you compare. For code-only adapters, compile against the package version you ship and configure the required authored data before gameplay.

Documentation home · Architecture · Ticks · Definitions