diff --git a/decisions/scope.md b/decisions/scope.md index fdb382d9e..f109a050f 100644 --- a/decisions/scope.md +++ b/decisions/scope.md @@ -147,12 +147,14 @@ What we're building: game concept, design pillars, prototype definition, map spe ### D-053: Movement as stance toggle system - **Date:** 2026-02-13 - **Decision:** Movement uses a stance toggle ladder: Sprint / Walk / Careful / Crouch / (Prone future). Toggle-based, not hold-to-activate. Each archetype has a default stance via MovementProfile component (e.g., smuggler defaults to Walk, detective defaults to Walk). All characters have access to all stances. Prone: toggle out only in normal play (must explicitly stand up); future combat allows "hit the deck" quick-entry. -- **Stance values:** +- **Stance values (server — ticks per move):** - Sprint: 1 tile/1 tick. Monologue at 40% rate (urgent only). Loud footsteps. Interaction buffer cleared ([D-055](architecture.md#d-055-sprint-explicitly-suppresses-interaction-buffer)). - Walk: 1 tile/2 ticks. Monologue at 100% rate. Normal footsteps. Default stance. - Careful: 1 tile/3 ticks. Monologue at 150% rate + "tell notice bonus." Quiet footsteps. Enhanced eavesdropping via ListeningFocus (stationary_ticks accumulation). - - Crouch: TBD speed. Very quiet footsteps. Uses Prone/Seated occupancy layer ([D-054](architecture.md#d-054-tile-based-movement-with-same-tile-occupancy)). + - Crouch: 1 tile/4 ticks. Very quiet footsteps. Uses Prone/Seated occupancy layer ([D-054](architecture.md#d-054-tile-based-movement-with-same-tile-occupancy)). - Prone: Future. Minimal noise. Toggle-out only. +- **Client throttle (ms between commands):** Sprint=200ms (5/s), Walk=400ms (2.5/s), Careful=600ms (~1.7/s), Crouch=800ms (1.25/s). Prevents input flooding; server cooldown remains authoritative. Tuned via playtesting: 5 tiles/sec feels like a flat-out sprint, 2.5/sec is a comfortable walk. +- **Input model:** Hold-to-move (polled each frame), discrete actions on press. Composite diagonals via simultaneous keys (W+D → northeast). See `client/scripts/autoloads/input_mapper.gd`. - **Perception coupling:** Sprint suppresses interpretation (monologue), not data (overlays still render). Careful enhances observation. Composable via multiplicative formula: `movement_modifier * perception_load_modifier`. All stances: NO vision cone change — perception change is cognitive, not sensory. - **Emergent tactics:** Sprint ahead to get position → Careful to wait and observe → Walk when target passes. Speed modes compose into surveillance patterns. - **v0.1:** Sprint, Walk, Careful, Crouch. Prone deferred.