Skip to content

GDD: Спуск (The Dive) — забег становится сессией

Обзор

Спуск превращает сессию из последовательности независимых рейдов в один непрерывный спуск. Добыча не зачислена, пока ты её несёшь; этажи проходятся насквозь, а не переигрываются; здоровье переносится между ними, и каждый этаж ставит один и тот же нарастающий вопрос: зачислить то, что есть, или унести глубже ради большего.

Это единственное структурное изменение, выбранное в ответ на директиву издателя о новой extraction-игре на существующих ассетах. Оно лежит поверх action-пивота (../action-pivot/gdd.ru.md) и не меняет ни одного его глагола. Питч и обоснование — в ./concept.ru.md.

Механики

Три выхода

Каждый этаж разрешается ровно одним из трёх способов, и весь дизайн читается из этой таблицы:

Зачисляет добычу Завершает забег Двигает чекпоинт
Безопасный выход да да да
Портал спуска нет нет — генерируется следующий этаж, забег продолжается нет
Смерть нет — только Safe Pocket да нет

Фраза для игрока: «ты сохраняешь только то, что вынес».

Портал на этаже босса — единственное исключение из средней строки, он описан ниже в разделе Этаж босса: он зачисляет добычу как безопасный выход, а не продолжает забег, потому что ниже ничего нет.

Это инвертирует текущие правила, где оба выхода зачисляют добычу, а портал спуска дополнительно двигает прогресс — делая спуск строго лучшим и потому никогда не являющимся решением. После инверсии портал спуска — рискованная дверь: выбрать его значит отказаться от гарантированного зачисления, у которого игрок стоит.

Что переносится между этажами

Спуск пересобирает мир и сохраняет игрока. Переносится: добыча (сумка, Safe Pocket, свободная валюта), текущее здоровье, расходники, любое снаряжение, надетое по ходу забега, карточки улучшений забега и накопленная статистика забега.

Сбрасывается на каждом этаже: карта и всё на ней, хранилище и его ключ, страж этажа и часы этажа. Ключ, действующий в пределах этажа, означает, что неиспользованный ключ теряется при спуске — маленькое правило, которое игра проговаривает один раз в тексте, а не оставляет игроку обнаруживать его как баг.

Несбрасывающееся здоровье — второй накапливающийся ресурс дизайна. При отсутствии пассивной регенерации истощение и состояние растут вместе, и вопрос на площадке становится по-настоящему составным: ты эвакуируешься потому, что богат, потому что ранен, или — обычно — по обеим причинам.

Глубина

С глубиной растут две награды, сознательно разделённые, чтобы у каждой была чистая формулировка.

Глубина улучшает то, что находишь. Опасность этажа уже определяет тир зоны, который определяет редкость лута. Глубокие этажи содержат лучшие вещи через уже существующий механизм — новой системы не нужно.

Спуск умножает то, за сколько ты это продашь. Бонус глубины в пределах забега применяется в момент зачисления к валюте и к продажной стоимости ценностей. Это средство читаемости, а не средство математики: игроку нужно видеть в момент выбора, почему рискованная дверь того стоит.

Бонус считает этажи, пройденные вниз за этот забег, а не достигнутый номер этажа. Это делает глубокий старт и долгий спуск по-настоящему разными вариантами игры — глубокий старт покупает лучшие таблицы и меньше ходьбы, долгий спуск покупает ценность — и закрывает эксплойт «стартовать глубоко и сразу зачислить» ради фарма множителя. Он применяется к валюте, а не к снаряжению, потому что предмет нельзя умножить, не перебросив его незаметно для игрока.

Улучшение при спуске

Посадка в портал спуска показывает три карточки до генерации следующего этажа. Игрок берёт одну. Это же — единственная передышка забега: момент, когда добыча, глубина и здоровье находятся на экране одновременно.

Предложение всегда содержит по одной карточке из трёх фиксированных категорий, чтобы выбор читался одинаково каждый раз — дольше выживать / быстрее убивать / больше вынести:

  • Тело — восстановить здоровье, поднять максимум здоровья, лечение от фланговых критов
  • Остриё — урон фланговых критов, перезарядка рывка, обращение с оружием
  • Жадность — дополнительный слот Safe Pocket, лучший бонус глубины, шире магнит подбора

Карточки действуют в пределах забега: живут на забеге, исчезают при зачислении или смерти и никогда не пишутся в сохранение. Эта граница удерживает фичу в рамках одной структурной ставки, а не второй системы прогрессии, требующей баланса против меты снаряжения. Карточки складываются аддитивно и могут повторяться. Тиров редкости и дерева синергий нет; если системе когда-нибудь понадобится глубина, это решение более позднее.

Одна страховка не обсуждается: когда игрок тяжело ранен, карточка Тела принудительно становится лечением. Без неё перенос здоровья между этажами порождает смертельную спираль, приводящую к боссу в непроходимом состоянии — воспроизводя намеренно тот провал, который измеренная воронка уже показывает на стене босса.

Две страховки, которые спуск делает необходимыми

Safe Pocket работает автоматически. Самые ценные находки в сумке всегда защищены и переживают смерть; Deep Pockets добавляет слот на забег. Игрок им не управляет — набор переизбирается сам, как только найдено что-то лучше, — а защищённые предметы показаны в HUD по ходу забега, так что во что обойдётся смерть читается до того, как она случится, а не открывается постфактум. Это обязано быть автоматическим, а не выбором игрока: ручное управление защитой принадлежит внутрирейдовому инвентарю, который припаркован, а накапливающейся добыче нужна опора с первого этажа, а не после урока в меню.

У салв есть лимит переноски. Зелья подбираются при касании и теперь переносятся между этажами, так что без лимита они копятся за спуск, пока любой бой не станет выигрываемым питьём. Это молча удаляет истощение — второе, что накапливает спуск, и половину того, что делает вопрос на каждой площадке настоящим. На лимите салва остаётся на земле, дожидаясь обратного пути, так что этаж хранит резерв, до которого надо дойти, а не ресурс, который копят.

Часы, переназначенные

Часы этажа управляют расписанием закрытия площадок эвакуации и больше ничем. Время больше не убивает игрока. Жёсткая смерть по таймеру не может сосуществовать с накапливающейся добычей: она позволила бы стереть многоэтажное состояние часами, а не решением, причём несколько раз за сессию.

Остаётся давление закрытий, подтверждённое на G0, со смыслом наоборот. Безопасные выходы закрываются по расписанию; портал спуска не закрывается никогда. Часы поэтому больше не завершают рейд — они толкают игрока вниз, постепенно убирая дешёвые пути наружу, пока зачисление не начнёт означать долгий путь назад через враждебную карту, тогда как портал спуска находится прямо здесь. Резервная площадка ниже — единственное исключение, которое сохраняет зачисление всегда возможным. Отсиживаться на этаже после истечения часов самоограничивающе: лут и противники этажа конечны и не респавнятся.

Один безопасный выход остаётся открытым всегда. Сегодня последняя безопасная площадка запускает свой отсчёт, как только открывается спуск, направляя эндшпиль в портал спуска. При спуске это правило выводится из игры: отнимать возможность зачислить добычу — значит превращать центральный выбор дизайна в принуждение, и игрок, которому отказали в обналичивании крупной добычи, читает это как жульничество игры, а не как напряжение. Намерение воронки, которому это правило служило, теперь несёт бонус глубины, тянущий игроков вниз наградой, а не выталкивающий их отказом. Это явное изменение замороженного на G0 правила, и перетестировать его следует именно как таковое.

Этаж босса

Этаж с боссом биома содержит оба типа выходов:

  • Безопасные выходы — зачислить спуск, продвинуть чекпоинт, биом не пройден. Доступны всегда.
  • Портал босса — по-прежнему открывается смертью босса; зачисляет спуск и завершает биом, открывая следующий.

Босс перестаёт быть обязательными воротами и становится версией с наивысшими ставками того вопроса, на который игрок уже отвечал на каждом этаже забега. Прийти богатым и тяжело раненым и решить уйти — это хороший исход: биом подождёт, ничего не потеряно, а игрок, который разбился бы о стену и ушёл из игры, вместо этого зачисляет отличный забег и начинает следующий спуск.

Это крупнейший единичный эффект дизайна на удержание, и стоит он почти ничего — худшее число измеренной воронки, примерно втрое хуже остальных, принадлежит этажу, который не предлагает выхода иначе как через босса.

Соперники на глубине

Рейдеры-соперники воспринимают крупную несомую добычу рядом с открытой площадкой как повод напасть. Поскольку добыча больше не сбрасывается на каждом этаже, это условие становится постоянно истинным через пару этажей любого спуска, что сделало бы враждебными всех соперников во второй половине забега.

Поэтому порог должен масштабироваться с забегом, а не стоять на фиксированном количестве. Должны ли глубокие ныряльщики читаться как дичь — что колоритно — или это превращает поздний спуск в коридор из соперников, есть вопрос тюнинга для плейтеста, а не дизайнерское решение на бумаге.

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

В мета-экономике не меняется ничего. 8 слотов снаряжения, улучшения за чертежи, стеш и валюты сохраняют текущие роли и кривые. Спуск меняет только то, сколько приходит за раз и каково это — заработать.

Чекпоинт двигается только зачисленными эвакуациями. Этаж открывается тем, что с него обналичили, а не тем, что тронули его портал. Смерть на глубине оставляет чекпоинт там, где его оставило последнее успешное зачисление — игрок потерял добычу, но не лестницу, что сохраняет обещание проекта об отсутствии отката. Это также не даёт чекпоинту обгонять реальный навык игрока, что сейчас и доставляет недоснаряжённых игроков на этаж босса.

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

Прохождение биома по духу не меняется: убить босса и уйти через его портал.

За глубину платят один раз, а не два. Валюта использует намеренно более плоскую кривую редкости, чем снаряжение. Редкость определяется глубиной, поэтому полный «снаряженческий» разброс для валюты означал, что глубина платит и через таблицу лута, и ещё раз через бонус глубины. Широкий разброс остаётся у снаряжения — это и есть награда за глубину, — а бонус глубины становится единственным параметром, оценивающим спуск.

Бонус глубины оценивает риск и обязан быть ниже точки безубыточности. При вероятности гибели на этаже p выбор «зачислить или спускаться» безубыточен при p/(1-p). Поскольку спуск вдобавок приносит целый этаж лута, бонус должен лежать ниже этой черты: если один только множитель перекрывает безубыточность, зачислять рано никогда не выгодно, и выбор, ради которого дизайн существует, становится декоративным. Потолок не даёт самым глубоким и наименее протестированным этажам выйти за эти рассуждения.

Остаточный риск инфляции передаётся дальше, а не угадывается. Множитель глубины, накладываясь на кривую редкости, приносит добычу другого порядка экономике, настроенной под зачисление за один рейд. Наклон множителя стартует консервативно и принадлежит проходу по переякорению боя и экономики, а не этому документу.

UX

Индикатор «под риском» — это и есть фича. Постоянный элемент HUD объединяет два числа, которые и составляют всё решение:

🎒 2 340 под риском        ⬇ Глубина 3 · ×1.5

Именно это делает дизайн читаемым в тридцатисекундном демо. Текущий билд показывает счётчик сумки и таймер, и ни то, ни другое не является решением.

Площадка эвакуации уже заявляет о себе и уже запускает канал посадки. Меняется текст в момент контакта: безопасная площадка сообщает, что зачисление обеспечит; портал спуска сообщает, чем продолжение рискует и что оно умножит. Баннеры закрытия сохраняют текущую форму.

Экран спуска — три карточки, сумма добычи, новый множитель глубины и текущее здоровье. Он же служит тактом ритма забега и обучением системе карточек.

Экраны результата выполняют реальную работу. Карточка эвакуации становится сводкой спуска: пройдено этажей, бонус глубины, всего зачислено, достигнутый чекпоинт. Карточка смерти начинается с того, что было потеряно, и подаёт следующий забег как возвращение потерянного — с накапливающейся добычей эта подача становится эмоциональной нагрузкой всей системы, а не приятной мелочью. Путь повтора сохраняет подтверждённую на G0 скорость в два касания; теперь он высаживает игрока на его чекпоинте и называется повторным спуском.

Обучение не разрастается. Туториал сохраняет три этапа и учебный план только из глаголов; добавление четвёртого урока про экономику зачисления воспроизвело бы накопленные потери на воротах, которые измеренная воронка уже приписывает длинному туториалу. Спуск обучает себе сам на первом настоящем забеге через уже существующий одноразовый коуч: одна строка у первого портала спуска, а первый экран карточек служит собственным обучением. Правки требует только формулировка третьего этапа.

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

Глубина должна ощущаться как спуск, а не просто считаться. Переход между этажами — фирменный момент фичи, и он заслуживает бюджета: движение камеры или света вниз, сумма добычи, разрешающаяся вверх в новый множитель, и сдвиг общей палитры этажа, чтобы прибытие на глубину читалось до того, как игрок увидит хоть одного противника.

Число «под риском» должно быть живым — оно заметно растёт по мере поступления добычи, и именно оно пульсирует при закрытии площадки. Напряжение дизайна несёт число, поэтому это число должно вести себя как персонаж, а не как подпись.

Существующий язык обратной связи переиспользуется целиком: баннеры закрытия, кольцо посадки, россыпь лут-магнита, стоп-кадр флангового крита. Новая визуальная грамматика не вводится — это структурное изменение, надевшее словарь, который игрок уже читает.

Скоуп

В скоупе: инверсия выходов и её правила зачисления; перенос состояния между этажами; бонус глубины; карточки улучшений при спуске с тремя категориями и страховкой лечения; понижение таймера до расписания закрытий; всегда открытая резервная площадка; безопасные выходы на этаже босса; HUD «под риском»; экран спуска; переработанные карточки результата; исправление порога добычи для соперников; переосмысление чекпоинта и выбора этажа.

Вне скоупа, сознательно:

  • Соперники, спускающиеся вместе с игроком и появляющиеся глубже с более крупной добычей. Очевидный следующий такт и хороший — но это контент, наваленный на структурную ставку, а складывать их и есть способ превратить одну ставку в три.
  • Любые изменения мета-экономики, слотов снаряжения или кривой чертежей.
  • Редкость карточек, синергии или мета карточек. Аддитивно, повторяемо, в пределах забега, плоско.
  • Любые изменения слоя глаголов из action-пивота. Бой, восприятие и правила соперников выходят замороженными на G0.
  • Любой новый контент — никаких новых этажей, биомов, противников или ассетов.

Можно вырезать, если первый плейтест хорошо читается без этого: карточки улучшений при спуске. Это единственная полностью новая подсистема здесь и единственная часть, удаление которой не разрушит дизайн.

ТЗ / tech spec

Приоритет — ясность дизайна, на уровне «что должно существовать». Валидировать на web, затем портировать.

Тюнинг-параметры (config.js / window.CONFIG)

  • Новая группа dive, содержащая структурные правила, чтобы вся фича была одним местом в панели тюнинга: флаг включения (A/B-переключатель, как выходило каждое правило action-пивота), бонус глубины за пройденный вниз этаж, порог здоровья, при котором карточка Тела принудительно становится лечением, и количество предлагаемых карточек.
  • prog структурно ничего не получает, но семантика её чекпоинта меняет смысл, и строки её описаний должны это отражать.
  • map.roundTime сохраняет имя и меняет смысл: это теперь расписание закрытий на этаж, а не длина рейда. Тайминги закрытий уже выражены дробями от него и перемасштабируются бесплатно.
  • extraction требует, чтобы правило резервной площадки стало зависимым от включённого спуска.
  • rival требует, чтобы порог «крупной добычи» выражался так, чтобы масштабироваться со спусками, а не стоять на фиксированном количестве предметов.
  • Карточкам улучшений нужна таблица данных рядом с существующими таблицами снаряжения/сетов — id, категория, подпись и эффект — чтобы карточки добавлялись правкой данных, а не логики, и появлялись в тюнинге автоматически.
  • Каждое значение следует правилу проекта: объявлено в дефолтах, описано в мета-карте, читается по месту использования, никогда не инлайнится.

Игровые системы (game.js, позже — их эквивалент в Unity)

  • Путь спуска, отдельный от завершения забега. Сегодня посадка в любой портал завершает забег. Должен существовать способ пересобрать карту, противников, сундуки, точки эвакуации и часы этажа, сохранив объект игрока и накопленное состояние забега. Это центральная часть работы по фиче и та, что вероятнее всего протечёт багами, потому что подготовка забега сейчас предполагает свежего игрока.
  • Зачисление переезжает на путь безопасного выхода. Логика завершения забега должна перестать считать портал спуска событием зачисления и перестать двигать там чекпоинт; продвижение переходит в ветку безопасного выхода.
  • Состояние модификаторов в пределах забега на объекте забега, читаемое боем, движением, лутом и эвакуацией, очищаемое при завершении забега. Оно никогда не должно писаться в сохранение.
  • Учёт глубины — спуски за этот забег и бонус, применяемый при зачислении к валюте и ценностям.
  • Понижение таймера — истечение перестаёт завершать забег; оно продолжает управлять закрытиями.
  • Исключение для резервной площадки при включённом спуске.
  • Выходы на этаже босса — безопасные площадки присутствуют на этаже босса, портал босса сохраняет свои ворота и эффект прохождения биома.
  • Масштабирование порога соперников.
  • Ограничители — туториальные и песочные забеги никогда не должны спускаться. Масштабирование сложности уже выводится из биома и этажа, поэтому оно следует за спуском бесплатно.

UI / арт

  • Постоянный элемент HUD «под риском» + глубина; стоимость добычи забега уже вычисляется, её нужно отобразить, а не выводить заново.
  • Экран спуска — три карточки, добыча, множитель, здоровье.
  • Экраны результата — сводка спуска при эвакуации; подача от потери при смерти; повтор переименован и перенацелен на чекпоинт.
  • Выбор этажа переименован из выбора переигровки в выбор глубины входа.
  • Текст площадок, различающий «зачислить и завершить» и «рискнуть и продолжить».
  • Оформление перехода между этажами — момент спуска, описанный в разделе визуальной идентичности.