Skip to content

GDD: Action Pivot — от тактического стелса к читаемому экшен-экстракшену

Обзор

Этот GDD детализирует пивот, определённый в concept.md: Shadow Raiders сохраняет скелет экстракшена, визуалы и «прощающую» смерть и перестраивает посекундный геймплей вокруг быстрого читаемого экшена — один палец рулит, одна кнопка действует, бой автоматический, стелс становится чистым позиционированием, рейды сжимаются до нескольких минут, а смерть перетекает прямо в следующий забег. Unity — целевая платформа поставки пивота. Веб-прототип возрождается как ограниченный по времени инструмент валидации правил: правила и числа пивота сначала дёшево проверяются там, затем портируются в Unity дословно (устоявшийся паттерн проекта); веб-изменения — одноразовые пробы, а не поддерживаемый второй продукт. Фазовый план — в implementation-plan.md (черновик, ожидает одобрения ведущего гейм-дизайнера).

Почему: тест паблишера 16–19 июля (docs/research/playtest-2026-07-telemetry.md) измерил проблему — D1-ретеншен 22,5%, завершение туториала 75,5% (семь ворот по ~95% каждые, потери которых перемножаются), 74% оттока внутри первого биома, один 10-минутный рейд на сессию и всплески фейлов ровно там, где входит новый контент (хаунд на 1-2, босс на 1-5, соперники+Warden на 2-1). Концепт диагностирует причины — обрыв давления после туториала, пассивные затянутые бои, скудные видимые награды, рейд длиной в целую сессию и смерть, которая наказывает вместо приглашения в ретрай. Каждая механика ниже закрывает одну из этих причин, а гейт Фазы 3 плана оценивается против этого бейзлайна.

Механики

Движение и управление

  • Левый палец — плавающий виртуальный джойстик (уже отгружен): прямое управление, скольжение вдоль стен, без автопилота. Без изменений.
  • Правый палец — Кнопка Действия. Одна крупная кнопка, короткий кулдаун, стартовая версия: рывок-уклонение — быстрый бросок в текущем направлении движения с коротким окном неуязвимости, работающий сквозь телеграфы и снаряды врагов. Это возрождает запаркованный додж-ролл как кнопку (свайп-жест остаётся в отставке). Кнопка показывает кулдаун на своей поверхности и пульсирует, когда ближний враг замахивается тяжёлой атакой — мягкая подсказка «сейчас!».
  • Ни спринта, ни стамины, ни тапа по цели: эти системы остаются запаркованными. Базовая скорость настроена так, чтобы управление ощущалось живым, но без ловушки Badlanders — убежать от всей опасности нельзя.

Бой

  • Полностью автоматические атаки (существующий арбитр стоек): стрельба по ближайшему видимому врагу в радиусе, ближний бой вплотную. Правило взаимной видимости («стреляешь, только когда замечен») удаляется — если игрок видит врага в радиусе, он дерётся с ним.
  • Быстрые, читаемые схватки. Рядовые враги умирают за пару секунд фокуса; текущая «затянутая, но выживаемая» губчатость уходит. Тяжёлые враги сохраняют телеграфированные замахи — рывок сквозь телеграф является ключевой проверкой мастерства, и именно этому учит боевой этап FTUE.
  • Фланг-крит (упрощённый бэкстаб). Любой удар, нанесённый вне дуги взгляда цели, критует — с существующим фриз-фреймом и отдельным звуком. Без правил тишины, без условий необнаруженности, без одноразового взвода: зашёл стрейфом за спину → крит, каждый раз. Позиционирование остаётся мастерством, фирменный сочный бит — на месте, когнитивная нагрузка — нулевая.
  • Восприятие врагов схлопывается до аггро. Враги захватывают игрока по простому правилу «радиус + линия видимости». Конусы зрения остаются как арт (они телеграфируют взгляд, который фланг-крит делает значимым), но постепенное заполнение обнаружения, состояние подозрения, дуги/виньетка обнаружения, маскировка в кустах и эхо-блипы паркуются. Всполошённые враги преследуют, теряют игрока при разрыве линии видимости, сдаются и возвращаются — существующее поведение погони/поиска минус стелс-автомат состояний.
  • Шум остаётся как риск-за-лут. Взлом сундука, вскрытие ворот и посадка в портал по-прежнему призывают ближних врагов посмотреть, что случилось (с существующим лимитом рекрутов). Это единственная система стелс-эпохи, выживающая нетронутой — она делает жадность громкой, не требуя от игрока ничего читать.

Структура рейда и пейсинг

  • Длительность рейда: несколько минут (примерно вдвое короче текущего лимита), чтобы 2–3 рейда помещались в сессию. Карты ранних биомов остаются компактными.
  • Первый настоящий этаж спроектирован как победа. Плотные слабые враги; щедрый лут; портал эвакуации виден рано. Бюджет угроз, шансы экипировки и размер этажа настроены так, чтобы свежий выпускник туториала закончил первый рейд эвакуированным, разбогатевшим и ненапуганным.
  • Одно новое давление на этаж (продолжение ритма FTUE «один урок за этап» в лестнице):
  • Этаж 1 — чистые лут-и-бой, без часов. Соперники присутствуют, но смирные.
  • Этаж 2 — закрывающиеся выходы: с середины рейда выходы начинают закрываться по объявляемому отсчёту; последний остаётся открытым, но далеко. Это заменяет жёсткое «все умирают» шторма пространственным давлением — таймер никогда не убивает, он торопит.
  • Этаж 3 — гонка за ключом и Vault, как сегодня.
  • Этажи 4–5 — рамп гейткипера и босс, как сегодня.
  • Соперники-рейдеры с первого рейда. Правдоподобные, неугрожающие боты лутаются, бродят и эвакуируются с первого этажа (текущий ИИ соперников, смягчённый на низких этажах). Награда за их убийство — весь их хаул — остаётся джекпотом рейда. Встреча с соперником — выбор (атаковать / игнорировать / сотрудничать), а не автоматический бой — модель встреч «нейтрален по умолчанию» специфицирована в ../rival-interactions/rival-interactions-gdd.md (её Tier 0 выходит вместе с этим пивотом как зависимость «соперников с этажа 1»).

Охраняемая эвакуация — descend-портал как финальный бой

Существующая механика охраняемого портала остаётся и получает новую роль — финальный бит рейда. В стелс-дизайне охрана портала была задачей избегания; в экшен-дизайне эвакуация — финальный бой рейда: зачистить охрану (настоящий бой при новом быстром TTK), начать посадку, и громкий шум старта посадки притягивает короткую волну, которую нужно пережить — оборона «удержи площадку» с уклонениями от телеграфов, пока заполняется таймер присутствия. С уходом жёсткой смерти от шторма и страха обнаружения именно охраняемый портал и закрывающиеся выходы несут напряжение эндгейма — это повышение, а не остаток прошлого дизайна.

  • Охрана едет на рампе давлений по этажам. Descend-портал первого этажа без охраны или с символической охраной (часть «спроектированной победы»); число и тир охраны растут по лестнице через тот же гейтинг «с этажа», что соперники/стрелки/часы.
  • Закрывающиеся выходы направляют в охраняемый бой. На поздних этажах последняя открытая площадка может смещаться к охраняемому descend-порталу — давление закрытия сгоняет игрока в один финальный оспариваемый бой: намеренная кульминация, настроенная, а не случайная.
  • Разделение descend/safe — шкала жадности. Safe-выходы дёшево банкуют хаул без прогресса лестницы; descend-портал продвигает этаж, но он охраняемый и громкий. «Дожать или уйти», выраженное пространственно, по цене ноль новых систем.
  • Анти-чиз правила не трогаются: попадание стопорит посадку, force-посадка запрещена в бою — быстрый игрок не может пропустить финал, оттанковав таймер.
  • Соперники компонуются бесплатно: последняя открытая площадка в конце рейда уже является оспариваемой целью в модели rival-interactions, так что соперник, бегущий с игроком к финальной охраняемой площадке, эскалирует через обычный поток предупреждение → враждебность. Охрана, закрывающиеся выходы и контест соперника складываются без новых правил.

Смерть и ретрай

  • Смерть стоит ровно несённую добычу. Без сброса лестницы этажей; игрок переигрывает тот же этаж. Банк, экипировка и прогресс биомов не тронуты. (Проверено 2026-07-23: это уже отгруженное поведение и в вебе, и в Unity — endRun и MetaLoopController сохраняют весь прогресс при смерти. Дизайн-намерение в силе; работ по этому пункту нет — только по флоу ретрая ниже.)
  • Экран смерти ведёт одной огромной кнопкой «В рейд снова», бросающей игрока сразу в свежий забег того же этажа — цель: менее пяти секунд и двух тапов от смерти до движения. (Вот реальный разрыв сегодня: ретрай идёт через полную перезагрузку сцены и лобби.) Детали результата (что потеряно, что в банке) видны, но вторичны.

Стелс-системы — запаркованы, не удалены

По конвенции ветки: модель постепенного обнаружения, состояние подозрения, эхо-чутьё, маскировка в кустах, UI обнаружения и правило взаимной видимости гейтятся флагами и по умолчанию выключены. Код симуляции остаётся для возможного будущего «режима сталкера» или точечного переиспользования у отдельных врагов.

Смежные с пивотом решения (рекомендуемые дефолты, ожидают одобрения ведущего ГД)

Пять систем, которых пивот касается косвенно; каждой нужно явное решение. Рекомендуемые дефолты:

  1. Туман и инвариант честности зрения. Сохранить ограниченное зрение (часть валидированного вида) с умеренным увеличением радиуса/отдалением камеры и принять инвариант: ничто не может атаковать игрока из-за пределов его собственного зрения. Сегодня несколько ranged-врагов видят дальше радиуса тумана игрока, и единственное, что предотвращает выстрелы из-за пределов зрения, — правило взаимной видимости, которое этот пивот удаляет. Инвариант заменяет эту скрытую защиту: клампить дальность атаки врагов к зрению игрока (или поднять зрение игрока выше максимального вражеского). Стрелки угроз указывают на агрившихся врагов с этажа 1 — это честность входящей опасности, а не вырезанный слой разведки.
  2. Оружие: сохранить магазин + перезарядку с якорем «один бой на магазин». Магазин убивает одного рядового врага с запасом (при нейтральном тюнинге это уже почти так); перезарядка — бит между боями, который становится окном уязвимости, только когда игрок жадно стянул нескольких врагов — перезарядка как цена риска агрессии, а не трение. Четыре архетипа остаются (единственная идентичность билда до ростера; короткие бои делают их различия читаемее); крошечный магазин снайпера получает пасс под этим правилом. Фолбэк постоянного огня rtsMode остаётся запаркованным, если плейтесты не покажут, что перезарядка читается как чистое трение.
  3. Лечение: мгновенное зелье, без канала, без авто-регена. Канал зелья с рутом был спроектирован для игры «оторвись и спрячься»; в стрейф-бою он борется с пальцами игрока. Зелье становится мгновенным (или анимация в доли секунды без блокировки) на маленькой кнопке в дуге правого пальца. Без авто-регена вне боя: истощение HP по ходу рейда — ключевой рычаг жадности («на 30% — дожать Vault или эвакуироваться?»); если плейтесты покажут состояния «обречённой прогулки», лекарство — больше дропа зелий, а не реген.
  4. Переякорение боевой математики: сначала цели TTK, потом множители. Одна именованная тюнинг-задача: написать таблицу целевых TTK (рядовые ~1,5–2с · средний тир ~3–4с · тяжёлые ~6–8с с телеграфами под рывок · босс ~30–45с, скорее через фазы, чем через голый HP), вывести из неё множители, проверить хедлесс, прочувствовать на вебе. Сохранить кламп урона по соотношению Power (он держит честными зелёные/янтарные/красные теги угроз — после пивота это ценнее). Сместить скейлинг врагов к HP и от урона и пересмотреть растянутый темп атак врагов — смерти после пивота должны приходить от читаемых, уклоняемых ударов, которые реально угрожают внутри короткого окна боя.
  5. Мета экипировки: перетемировать, не перестраивать. Слоты, статы, математика редкостей и экономика blueprints не трогаются. Семантика меняется там, где умер стелс: crit становится уроном фланг-крита (стат чисто ложится на позиционную награду пивота); сет Stalker перетемируется в идентичность фланга/рывка (его бонус детектируемости ссылается на запаркованный стат); стелс-перки заменяются экшен-читаемыми — кулдаун рывка, скорость перезарядки, сила зелья и радиус магнита (самый казуально-видимый перк из доступных). Hunter и Bulwark выживают как есть.

Последственные отставки (решения не требуют, перечислены для явного одобрения): модель стамины теряет последнего потребителя (додж уходит на кулдаун) и уходит вместе с кольцом в HUD; телл бэкстаба 🗡 и его правила милости (замок огня тихого опенера, окно тишины, перевзвод по LOS) уходят вместе со стелс-опенером — телл можно переиспользовать как простой индикатор «ты в дуге крита» для FTUE; кусты становятся декорацией плюс их спид-перк; канал взлома сундука выживает как бит громкой уязвимости (настроенный короче); миникарта показывает цели (сундуки, выходы, статус закрытия) и не показывает врагов; этаж 1 получает длинный мягкий лимит времени, чтобы простаивающий рейд всё же заканчивался.

Прогрессия / экономика

  • Банковая прогрессия не тронута: эвакуация → хаул уходит в stash/золото/blueprints; экипировка надевается и апгрейдится в лобби; лестница биомов продвигается через портал прогресса; этаж босса открывает следующий биом. Стена «экипировка не теряется» абсолютна.
  • Частота лута растёт, банкование остаётся за порталом. Рейды должны ощущаться изобильными — частые, видимые, узнаваемые дропы, всасываемые магнитом, — но всё сохраняется только эвакуацией. Решение о жадности («ещё одну зону или уходить?») — это напряжение игры, и его нельзя размывать банкованием посреди рейда.
  • Экипировка остаётся редким событием, blueprints — постоянной каплей (текущая интенция экономики, по форме без изменений) — но первые этажи настроены щедро, чтобы первые сессии надёжно давали ощутимый апгрейд.
  • Коллекционные сеты (fast-follow, не лонч). Каждый биом несёт тематический набор коллекционных частей, находимых в рейдах; сбор сета в альбоме лобби даёт постоянную награду и косметический штрих. Коллекция даёт каждому рейду крючок «ещё один кусочек» и добавляет в россыпь лута узнаваемые звёздные предметы. Сезонная ротация — поздняя опция.
  • Сложность следует за силой (существующее масштабирование врагов), так что добытая экипировка не делает этажи тривиальными; анти-сноуболл-интенция из docs/design/balance/player-progression.md в силе.

UX

  • Ориентация: портрет, без изменений. Джойстик-слева + Кнопка-Действия-справа в нижней трети — проверенный портретный двухпальцевый лейаут (Archero, Survivor.io); автоприцел означает, что второй стик никогда не потребует ландшафта. Портрет также совпадает с валидированными CPI-креативами, вертикально-авторским контентом и циклом мгновенного ретрая (без ритуала поворота). Пересмотр — только если будущая итерация станет настоящей мульти-скилл hero-игрой.
  • HUD: джойстик (слева), Кнопка Действия с кулдауном на поверхности (справа), полоса HP, счётчик хаула, миникарта. Стрелки угроз появляются только с этажа 2. Виньетка обнаружения, кольцо стамины и стелс-глифы убираются из HUD.
  • Закрывающиеся выходы: баннер на весь рейд + маркеры на миникарте, когда выходы начинают закрываться; закрытые площадки читаются явно мёртвыми; финальная всегда помечена.
  • Флоу смерти: бит смерти (существующие слоу-мо/задержка) → карточка результата во главе с «В рейд снова»; вторично: потерянный хаул / сводка банка, кнопка лобби.
  • Флоу эвакуации: без изменений (встать на площадку, посадка присутствием с видимым прогрессом).
  • Лобби: без изменений (лоадаут, апгрейд, выбор биома); альбом коллекций добавляется отдельной вкладкой, когда придёт его фаза.
  • Переписанный FTUE — 3 этапа вместо текущих 7 (измеренное завершение каждого шага — 93–98%: ни один шаг не сломан, кумулятивная потеря 24,5% — цена семи последовательных ворот; три ворот при том же пошаговом проценте ≈ 88%+ завершения): ① движение + автобой + Кнопка Действия; ② лут, магнит, эвакуация; ③ фланг-крит + рывок сквозь телеграф. Стелс-этапы (Unseen, Heard) и этап Vault уходят; Vault учит себя сам на этаже 3 через существующие подсказки ключа/ворот. Коуч первого рейда сжимается до подсказок о соперниках и закрывающихся выходах.

Визуальная идентичность

Ассеты без изменений, фидбек заострён: каждое убийство рассыпает лут существующим spill/hop; фланг-криты получают hitstop + вспышку тяжелее обычных критов; рывок Кнопки Действия — смазку + послеобраз; взлом сундуков сохраняет wobble + кольца шума. Конусы зрения продолжают рендериться (теперь это UI фланг-крита). Виньетка «тебя замечают», дуги обнаружения и сонарные блипы из рендера убираются. В целом — более громкий и частый фидбек наград: игра должна звучать щедро.

Скоуп

Внутри (пивот): рывок Кнопки Действия · ретюн боя (быстрый TTK, фланг-крит, восприятие только-аггро) · давление закрывающихся выходов вместо смерти от шторма · рамп давлений по этажам · соперники с этажа 1 · смерть → мгновенный ретрай без сброса лестницы · переписанный FTUE (3 этапа) · чистка HUD.

Fast-follow: коллекционные сеты + альбом в лобби · варианты Кнопки Действия (2–3 альтернативы как выбор лоадаута).

Вне (явно): ростер героев / персонажи с уникальными китами (открытый вопрос — см. концепт); социальные механики альянсов/предательства; настоящий PvP / сеть; система веса (по-прежнему отложена); внутрирейдовый инвентарь-триаж (остаётся запаркованным). Работы по веб-прототипу допускаются только как спринт валидации правил Фазы 0 (одноразовые пробы, без обязательств паритета и полировки — см. план имплементации); сам отгружаемый пивот — только Unity.

ТЗ / tech spec

Пивот отгружается в Unity-проекте (unity/raiders); веб-прототип несёт только валидационные пробы Фазы 0 (одноразовый код — валидированные правила и значения портируются в Unity). Существующий GameConfig зеркалит имена групп/ключей config.js; все новые кнобы следуют этому паттерну, чтобы всплывать в тюнинг-процессе.

  • Тюнаблы (GameConfig):
  • Новая группа action: кулдаун рывка, дистанция/длительность рывка, окно неуязвимости, тумблер пульса-подсказки на замахе врага.
  • combat: мастер-флаг восприятия только-аггро (паркует постепенное обнаружение / состояние подозрения), дуга + множитель фланг-крита (переиспользуют значения бэкстаба), губчатые множители возвращаются к нейтральным.
  • map / extraction: укороченная длительность раунда; расписание закрывающихся выходов (время старта, интервал, какая площадка закрывается последней) как замена смерти от шторма по умолчанию; шторм остаётся флагом для возможного переиспользования на высоких биомах.
  • spawn / prog: гейтинг давлений по этажам (соперники-с-этажа, стрелки-с-этажа, часы-с-этажа), щедрость первого этажа (бюджет угроз, шансы экипировки).
  • meta: тумблер флоу ретрая. (Флаг сброса лестницы при смерти не нужен — отсутствие сброса уже отгружено на обеих платформах.)
  • Позже: группа collection (определения сетов по биомам, веса дропов).
  • Игровые системы:
  • PlayerController: путь ввода Кнопки Действия, переиспользующий запаркованную реализацию Dodge; удаление правила взаимной видимости из захвата цели.
  • EnemyController / DetectionModel: режим только-аггро (захват по радиусу + LOS) в обход конвейера fill/suspect за мастер-флагом; погоня/поиск без изменений.
  • RaidController / эвакуация: планировщик закрывающихся выходов, транслирующий события закрытия; состояния порталов уже поддерживают открыт/закрыт.
  • MetaLoopController: быстрый путь «В рейд снова», пересобирающий забег без возврата в сцену лобби (переигровка этажа без сброса лестницы уже отгружена).
  • Ассеты этапов FTUE: три новых определения этапов; старые этапы убираются из последовательности (ассеты сохраняются).
  • UI / арт:
  • Виджет Кнопки Действия (кулдаун на поверхности, пульс на замахе) в InGame HUD.
  • Баннер закрывающихся выходов + маркеры закрытия на миникарте; визуальное состояние мёртвой площадки.
  • Вариант экрана результата во главе с «В рейд снова»; удаление из HUD кольца стамины / виньетки обнаружения / сонарных блипов.
  • VFX смазки/послеобраза рывка; вариант вспышки фланг-крита. Новый арт персонажей не требуется.
  • Позже: экран альбома коллекций + иконки сетов по биомам.