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