Tick Engine and PER Cycle Tick Engine and PER Cycle The combat clock is a global discrete tick, not real time. Player-paced: the world advances only when the player commits an action or explicitly waits. "Whenever it's time for the user to enter something, everything stops." Granularity Ticks are deliberately tiny: roughly 10 ticks per foot on even terrain. Integer tick durations everywhere. Fine granularity minimizes same-tick ties between actors (though ties still happen - see Resolution). The PER Cycle Every action - attacks, spells, movement, cancels, reactions - is modeled identically: Phase Meaning Prep Wind-up: gathering reagents, mental focus, shifting grip. The action has not started. This is the readable, interruptible window - only intelligent/experienced observers can read prep as an intention. Exec The action is active: casting, swinging. You can't do anything else. May include zone windows (e.g. a whirlwind that slices anyone entering range). The action can be mitigated here, but it cannot be cancelled. Recover The action is done; the actor is winding down - regaining footing, recovering balance. Nothing can affect the completed action at this point, but enemies can take advantage of the window while the actor is not fully recovered. Zero phases allowed: a fighter feat can zero prep/recover on light attacks to enable combos. Readability and anti-spam live in the prep window, not recover. One action state machine: every entity in the sim runs the same Action state machine - PREP, then EXEC, then RECOVER. Attacks, spells, movement, cancels, and reactions are all instances of one Action type; they differ only in parameters (phase durations, exec windows, completion effects), never in code path. A cancel or a reaction is itself an action with its own PER cycle, so the same rules compose. Movement is an action Movement uses the same PER model; terrain is paid at the borders (see Movement and Terrain).