Action Pivot + Rival Interactions — Preliminary Implementation Plan¶
Status: DRAFT — pending approval by the lead game designer. Do NOT start implementation. This plan sequences everything documented in
concept.md/gdd.mdand../rival-interactions/rival-interactions-gdd.md. Sizes are rough t-shirt estimates (S ≈ hours–1 day · M ≈ 2–4 days · L ≈ a week+), for planning conversation only — not commitments. Every phase ends at a decision gate.Strategy recap: web prototype = time-boxed rule-validation vehicle (disposable probes, fastest iteration, richest simulation — full rival AI lives there); Unity = shipping target (all feel/UX/telemetry work). Validated rules and numbers port to Unity verbatim. Orientation stays portrait throughout.
Baseline: the July 16–19 publisher test (
docs/research/playtest-2026-07-telemetry.md) is the measured pre-pivot state — CPI $1.52 (good), D1 22.5%, FTUE completion 75.5%, one raid per session, fail spikes at 1-2 / 1-5 / 2-1. Gates G2 and G3 score against it.
Phase 0 — Web rule-validation sprint (time-boxed: 1–2 weeks)¶
Goal: answer "is the pivoted loop fun?" before any Unity work. Everything here is a throwaway probe — no polish, no parity obligation, delete-or-park freely after porting.
| # | Probe | What it validates | Size |
|---|---|---|---|
| 0.1 | Minimal floating joystick on web (disable tap-to-move) | Representative input for all other probes | S–M |
| 0.2 | Dodge as an on-screen button (rebind the existing swipe-dodge; crude cooldown display) | The Action Button hypothesis: does a dash verb make moment-to-moment fun? | S |
| 0.3 | Combat retune: fast TTK (sponge multipliers to neutral), always-on flank crit, drop the mutual-sight fire gate | "Fast and juicy" — kills per minute, fight length, flank-crit readability | S (mostly config) |
| 0.4 | Aggro-only enemy perception behind a flag (bypass detection fill / suspect / bush concealment) | Does removing the stealth read hurt or help? A/B-able live via the tuning panel | M |
| 0.5 | [go/no-go] Closing-extractions pressure replacing the storm death (staged pad closures + countdown) | Does spatial pressure carry tension without the hard timer death? This is the pivot's least-built system on both platforms (web has only a dormant closesAt field) and its designated tension-carrier — if this probe reads flat, rework at the GDD level before any Unity work |
M |
| 0.6 | Rival Tier 0: neutral/hostile flag, both-way targeting filter, tap-to-declare, retaliation, contested-objective escalation, crude intent glyphs | The encounter-as-choice model, against the web build's full rival AI | M |
| 0.7 | Floor pressure gating + first-floor generosity (rivals from floor 1, threat/loot tuning, arrows/clock from floor 2) — plus the measured spike fixes: the hound's 1-2 entry (fail 13.8 — pack-flagged, the first real melee pressure; n.b. mob speeds run at player parity, the authored 162 is inert), the 1-5 boss wall (fail 43.9), and the 2-1 triple-stack (rivals + Warden out-sight + map jump, fail 18.9 / churn 35%) | The "first real raid is a designed win" ramp; targets fail <5 on 1-1/1-2 per the baseline | S (config) |
| 0.8 | Death → instant retry: no ladder reset, "Raid again" straight into the same floor | The retry-appetite loop | S |
| 0.9 | Loot frequency raise (drop rates, spill sizes) | "Feels abundant, banks only on extract" — the Badlanders guardrail check | S (config) |
| 0.10 | Guarded-extraction retune: portal guard count/tier on the from-floor gating (floor 1 unguarded); later floors bias the last-open pad toward the guarded descend portal | The extraction finale fight — does "clear guards → hold the pad" carry the endgame tension the storm used to? | S (config + small) |
| 0.11 | Sight-fairness invariant: clamp enemy engagement to player sight (or raise fog.radius above max enemy visR); threat arrows on aggro from floor 1; modest radius/zoom bump |
No invisible shooters once the mutual-sight gate is gone (6 enemy types out-see the player today); how much fog the action loop wants | S (config + small) |
| 0.12 | Weapon rhythm: "one fight per mag" retune across the 4 archetypes (sniper mag pass); A/B vs parked rtsMode steady fire |
Is reload a risk-pricing beat or pure friction under fast TTK? | S (config) |
| 0.13 | Healing: instant potion (drop the rooted channel), potion-drop-rate raise; no auto-regen | Does instant-use keep HP attrition as a greed lever without doomed-walk frustration? | S |
Gate G0 (team playtest): play floors 1→3 repeatedly. Exit criteria: the team calls the loop fun; each probe gets a keep / adjust / kill verdict recorded in the GDD; kept numbers are frozen for the Unity port. Anything killed here never costs Unity work — that is the entire point of this phase.
Phase 1 — Unity core pivot (after designer approval + G0)¶
Port the validated rules verbatim; build the feel-critical pieces that web can't validate.
1a — Input & combat feel
- Combat-math re-anchor (ordered): TTK target table (trash/mid/heavy/boss) → derive
multipliers → headless verification → web feel-check; keep the power-ratio clamp; shift
enemy scaling toward HP, revisit enemy attack cadence; dedicated boss pass (phases over
raw HP) — M
- Sight-fairness invariant + heal/weapon rules from G0 into GameConfig — S
- Action Button widget (portrait HUD, bottom-right; cooldown face, wind-up pulse cue) — M
- Revive the parked Dodge as the button's action (i-frames, dash step, haptics) — S–M
- Targeting changes: remove the mutual-sight gate; flank-crit rule + heavier crit feedback — S–M
- Combat retune values into GameConfig (from G0) — S
- Dash smear/afterimage VFX + flank-crit flash variant — S–M
1b — Raid structure
- Aggro-only perception mode in EnemyController/DetectionModel behind the master flag
(stealth pipeline parked, not deleted) — M
- Closing-extractions scheduler in RaidController + banner/minimap close markers — M
- Per-floor pressure gating config (spawn/prog): rivals/arrows/clock from-floor knobs,
first-floor generosity — S–M
- Guarded-extraction gating: portal guard count/tier joins the from-floor knobs; last-open
pad bias toward the guarded descend portal on later floors; boarding hit-stall and
no-force-board-mid-fight rules preserved as-is — S
- Round length + storm-off default (storm stays a flag) — S
1c — Rival interactions Tier 0 (dependency of rivals-from-floor-1) - Neutral/hostile state + triggers over the existing bot goal system; warning state — M - Both-way targeting filter (player auto-fire and rival fire exclude neutrals) — S–M - Tap-to-declare (range-armed raycast, confirm flash + sting; reuses the parked tap-target hit-test only) — M - Intent glyphs on the rival health-bar anchor — S–M
1d — Retry & meta flow
- "Raid again" fast path rebuilding the run without the lobby scene round-trip;
result-screen variant led by the retry button — M. (No-ladder-reset on death needs no
work — verified 2026-07-23 it already ships on both web endRun and Unity
MetaLoopController; the fast path is the whole gap.)
- Daily hook (promoted from the backlog): "first extraction of the day = bonus loot"
(badge + one multiplier) — S. Promoted because the baseline's D2→D3 collapse
(16.4% → 3.45%) shows the loop lacks any comeback trigger, and Phase 3 should measure
the pivot with at least one; everything else in-scope only improves the session itself.
- HUD cleanup: remove stamina ring, detection vignette, sonar blips — S
1e — Telemetry (must ship with 1, it gates everything later) - TinySauce events: raid funnel (start/extract/death per floor), retry-after-death vs retry-after-extract, session length, plus the six encounter events (encounter-started, player-declared, rival-declared, avoided, rival-killed, killed-by-rival) — S–M
1f — Gear-meta re-theme pass (content, parallelizable)
- crit → flank-crit damage semantics; Stalker set re-themed to flank/dash identity;
stealth perks replaced with action-legible ones (dash cooldown, reload speed, potion
potency, magnet radius); FTUE-granted items re-checked for stealth flavor — M
- Consequential retirements applied and verified (stamina model, backstab tell + grace
rules, bush concealment references in tips/FTUE, minimap content, floor-1 soft time cap)
— S–M
Gate G1: internal device build; editor + device smoke playtests pass; funnel events verified arriving.
Phase 2 — FTUE rewrite (parallelizable with late Phase 1)¶
- Three new stage assets: ① move + auto-fight + Action Button · ② loot/magnet/extract · ③ flank crit + dodge-through-telegraph — M–L
- Retire the old 7 stages from the sequence (assets kept); trim the first-raid coach to rivals + closing-exits tips — S
- FTUE completion funnel events — S
Gate G2: a fresh save reaches the first real raid in a few minutes and the funnel shows no in-tutorial cliff on the internal build.
Phase 3 — Device playtest & the metrics gate¶
- Internal → publisher playtest cohort (TinySauce), portrait build — S (ops)
- The only phase that tests the actual retention hypothesis. Watch: the post-FTUE funnel cliff (the metric that triggered this pivot), D1, session length/count, retry-after-death rate (MISFITZ benchmark: dying should feed retries), encounter telemetry.
Gate G3 (with the publisher) — scored against the July 16–19 baseline:
| Metric | Baseline | Target |
|---|---|---|
| FTUE completion | 75.5% | ~88%+ |
| D1 retention | 22.5% | 30%+ |
| D0 sessions / raids per session | 2.2 / ~1 | 3+ / 2–3 |
| Fail/complete on 1-1 and 1-2 | 1.3 / 13.8 | < 5 |
| Reach biome 2 | 25.7% | 45%+ |
Metrics improve → proceed to Phase 4; metrics flat → revisit at the GDD level before building more; encounter data feeds the Tier-2 decision. (Baseline caveat: 250 installs, D2+ cells single-digit — compare like-for-like cohort sizes or larger.)
Phase 4 — Fast-follows (only after G3 passes)¶
- Rival Tier 1: Hunter/Rat/Opportunist archetypes over the Tier-0 state machine;
human-style name pool + cosmetic variance; the emote signal verb; "Slain by
" result block (attribution + the result line already ship in Unity — only name-pool/ portrait dressing remains) — M–L - Collection sets: per-biome set definitions, drops wired into the spill/magnet flow, lobby album screen + set-completion rewards — L
- Action Button variants: 2–3 alternative actions as a loadout choice (same single button slot) — M
Phase 5 — Gated bets (each needs its own go-decision)¶
- Rival Tier 2 (alliances/betrayal, rival-vs-rival fights, async ghosts) — gated on Phase-3/4 encounter telemetry showing encounters drive retention.
- Hero roster (characters with unique kits) — the open question flagged in the concept; decide only after the pivot's retention read, mindful of MISFITZ's meta-collapse lesson.
- Real networking — remains out of scope indefinitely.
Nice-to-have backlog (deliberately deferred — revisit after the pivot ships)¶
Not in any phase; parked here so they aren't lost. Each is small and metric-oriented:
- Invisible difficulty adaptivity (DDA): quiet death-streak easing — N consecutive deaths on a floor nudges threat budget/enemy damage down a notch, reset on extract. Targets the bottom skill quartile at the exact drop-off point.
- ~~Daily hook~~ — promoted to Phase 1d (see above) on the baseline's D2→D3 collapse; light daily contracts remain here as the step up.
- Loss framing + revenge hook on the death screen: show exactly what was dropped ("win it back"); the rival that killed you reappears next run with a bounty marker, carrying your loot — converts the churn moment into a comeback story.
- Recommended-power signposting on the floor picker: surface "recommended Power ~X" per floor (the threat-tag math already computes it) so a difficulty wall redirects players into the upgrade loop instead of churn.
Dependencies & risks¶
- Phase 0 must precede Phase 1 for the rules it validates — but Phase-1a feel work (Action Button widget, VFX) has no web dependency and can start immediately on approval if schedule pressure demands overlap.
- Rival Tier 0 (1c) blocks rivals-from-floor-1 (1b gating) — without the neutral model, floor-1 rivals would mean floor-1 forced PvP.
- Telemetry (1e) blocks Gates G3 and the Tier-2 decision — it cannot slip to "later."
- Biggest design risks to watch at G0: tension loss without the storm/stealth dread (does closing-extraction + rivals carry it?), and loot abundance cheapening the extract decision (the Badlanders trap). Both are cheap to catch on web and expensive after.
- Out of every phase: web-build polish or parity; landscape orientation; networking.
Approval checklist (for the lead game designer)¶
- The pivot itself: stealth demoted to flank-crit positioning; action-first loop. (concept)
- Closing extractions replacing the storm hard-death. (gdd — Mechanics)
- Death → instant retry with no floor-ladder reset. (gdd — Mechanics)
- Rival encounters neutral-by-default + tap-to-declare, Tier 0 in the pivot. (rival GDD)
- FTUE collapsed to 3 stages. (gdd — UX)
- Web-first Phase 0 validation sprint before Unity work. (this plan)
- Portrait orientation retained. (gdd — UX)
- Fast-follow ordering: rival archetypes and collection sets after the metrics gate. (this plan)
- Sight-fairness invariant (nothing engages the player from beyond their sight) + fog kept with a modest bump. (gdd — Pivot-adjacent decisions)
- Weapons keep mag+reload ("one fight per mag"); healing goes instant-potion, no auto-regen. (gdd — Pivot-adjacent decisions)
- Gear-meta re-theme (crit = flank-crit damage, Stalker → flank/dash, perk swap) and the consequential-retirements list. (gdd — Pivot-adjacent decisions)
- Daily hook ("first extraction of the day") promoted from the backlog into Phase 1d, so the G3 retest measures the pivot with one comeback trigger. (this plan — 1d)