ic-jg5o: GH#7: ADR: Temporal Pacing Model
Snapshot: 2026-03-30T08:40:31Z
| Field | Value |
|---|---|
| Status | open |
| Assignee | (unassigned) |
| Priority | 2 |
| Labels | atlas |
| Created by | github-bridge |
| Created | 2026-03-28T18:50:18Z |
| Updated | 2026-03-28T18:50:18Z |
Description
GitHub issue: b4arena/spellkave#7 URL: https://github.com/b4arena/spellkave/issues/7
Context
PRD Open Question #1 (raised by @durandom in review):
How does the world handle the speed difference between AI agents (machine time) and human players (session time)? Options include time dilation near human players, temporal buffering (humans interact with a recent-past snapshot), or full acceptance (the world moves on; absence has consequences). This must be resolved before world mechanics are specified.
With the SpacetimeDB architecture (see #3), this becomes more concrete: the world runs as scheduled reducers ticking at defined intervals. AI agents submit actions via reducers (fast path) or via the ThinkRequest/ThinkResult cycle (slow path). Human players submit actions when they're online.
The key tension: AI agents can act every tick (seconds). Humans act every session (hours/days). The world must feel alive for both.
What Atlas Should Deliver
An ADR evaluating and deciding between:
-
Full acceptance — the world moves on at a fixed rate. Humans who are absent return to a changed world. Absence has consequences. The world never pauses.
- Pro: simplest to implement, most "persistent"
- Con: humans may feel overwhelmed, miss key events, lose agency
-
Temporal buffering — the world runs at full speed, but human actions interact with a recent-past snapshot. When a human acts, the world "catches up" to integrate their decision.
- Pro: humans feel they have time to decide
- Con: complex to implement, potential for jarring state jumps
-
Variable tick rate / time dilation — world ticks slow down in areas where humans are present. AI agents in those areas adapt their pace.
- Pro: humans feel the world responds to their pace
- Con: creates "time zones" that are hard to reason about
-
Hybrid — full acceptance at world scale, but human interaction windows that give players time to act before consequences finalize (e.g., "your tavern is under attack — you have 24 hours to respond before it's destroyed").
- Pro: respects both timescales
- Con: needs careful UX design for notification/response windows
Design considerations
- The PRD's Death Stranding reference: "players never need to be online simultaneously to cooperate"
- The PRD's consequence model: "actions have durable, irreversible consequences"
- Phase 0 exit criteria require 72 hours continuous world operation
- Observer experience must be coherent regardless of pacing model
Reference Material
From the PRD
- Section 6, Open Question #1 — full statement of the problem
- Section 5, Key Design Decisions — "Asynchronous social design" following Death Stranding model
- Section 5, Core Properties — "The world is not paused between sessions"
Architecture context
- SpacetimeDB scheduled reducers define the tick system — see BitCraft's agents/ directory for how 18 independent tick loops run at different frequencies
- BitCraft Design Blog #3: Longevity — permanence and pacing in MMO design
Dependencies
- Depends on #3 (SpacetimeDB as runtime) for architecture context
- Blocks #5 (World State Data Model) — time model affects how state is stored
- Blocks #7 (Phase 0 Minimal Module) — tick loop design depends on this
Acceptance Criteria
- ADR evaluates all four options with pros/cons
- Decision is justified with reference to PRD goals and success metrics
- Documents how the chosen model maps to SpacetimeDB scheduled reducers
- Addresses the human notification/re-entry problem
- Committed to
spellkaverepo