Перейти к содержанию

Универсальный поп-ап получения наград

Статус

Подтверждено обсуждением: поп-ап принимает объект класса Reward, который является контейнером конкретных наград. Поддерживаются параметры, предметы, оружие и внутриигровые кристаллы; значения могут быть абсолютными и процентными. Сверху находятся сами награды, которые появляются с анимацией.

Остальные детали компоновки, анимации и контракта ниже — предложения. Документ описывает дизайн, а не реализацию.

Источники: параметры танка, предметы, прогрессия, ингредиенты дерева, баттл пассы, квесты, экраны.

Состав и поведение окна

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

Предлагаемое появление на основе EpicAwardPopup проекта WalkingCastles:

  1. Затемняется фон и появляется основа окна.
  2. Ниже итоговой области наград находится стопка карточек. Задние карточки меньше и прозрачнее передней.
  3. Награды по очереди вылетают из стопки по дуге в свои места в верхней сетке. Во время полёта карточка меняет размер и слегка поворачивается; оставшаяся стопка одновременно сдвигается вперёд.
  4. При приземлении карточка кратко увеличивается и возвращается к конечному размеру. Полёт и приземление сопровождаются отдельными звуками. Новую пушку или предмет можно дополнительно выделить меткой «Новое»; для копии показывается изменение уровня.
  5. Когда все награды заняли места, вся сетка делает короткую общую пульсацию. После этого игрок видит весь состав и закрывает окно кнопкой «Продолжить» или нажатием на область ввода.

Ориентиры из значений по умолчанию в исходном коде референса: появление окна — 0,22 секунды; полёт карточки — 0,38 секунды; приземление — 0,18 секунды с увеличением до 110%; пауза между наградами — 0,06 секунды; общая пульсация — 0,24 секунды с увеличением до 104,5%. Это значения полей C#, а не проверенные настройки префаба и не утверждённый баланс нашего интерфейса. При уменьшении эффектов предлагается короткое проявление без полёта и вспышек.

Источник референса — локальный проект C:/Projects/WalkingCastles, файл Assets/WalkingCastles.Code/IdleArcade/View/EpicAwardPopup.cs: RevealRewardSequence, FlyRewardToSlot, ApplyRemainingStackTransition, AnimateLanding, AnimateSummaryPulse и OnTap. Поведение изучено по исходному коду; визуально в запущенной игре не проверялось. Верхнее расположение итоговых наград — отдельное требование нашей игры.

Управление в референсе: при нескольких наградах первое нажатие ускоряет анимацию (по умолчанию ×2,75), второе пропускает оставшуюся последовательность и раскрывает итог; на итоговом экране нажатие закрывает окно. При единственной награде нажатие сразу запрашивает пропуск и закрытие. Предлагается сохранить это поведение. Подсказка меняется соответственно: «Нажмите, чтобы ускорить» → «Нажмите ещё раз, чтобы пропустить» → «Продолжить».

В EpicAwardPopup также есть карусель раскрытия случайных наград. Для текущего состава нашей игры она не требуется: случайные пушки и предметы этим описанием не вводятся.

Конкретный список наград

Категория Содержимое Отображение и правила
Характеристики танка Максимальная прочность; общая броня; броня по пяти типам урона; восстановление; скорость передвижения; шанс уклонения; величина блока; шанс критического урона; усиление критического урона; общая абсолютная и процентная прибавки к урону; абсолютная и процентная прибавки к каждому из пяти типов урона; устойчивость Иконка параметра, название и точная прибавка с единицами. Перечень параметров берётся из общего дизайна; это не означает, что каждый уже назначен наградой конкретному врагу.
Ингредиенты дерева прокачки Scrap, Alloy, Gear, Powder, Circuit, Crystal, Reactor Cell, Energy Core, Ancient Component, Prototype Core Иконка ингредиента и количество. Названия рабочие. Закрытые ингредиенты не выпадают.
Оружие Конкретная модель пушки, например K-W2 «Швейная машина» или C-W1 «Травитель» Первое получение открывает модель. Новые пушки выдаются боссами по существующим назначениям. Поп-ап не создаёт новый источник оружия.
Копии оружия Копии уже открытой модели, например K-W1 «Основа» Количество копий и повышение уровня. Каждая копия добавляет один уровень; отдельный устанавливаемый экземпляр не появляется. Эволюция остаётся ручной.
Предметы оборудования Двигатель, ПВО и третий слот с рабочим названием «РЭБ»; конкретный подтверждённый пример — «Импульсный двигатель» от A05-B1 Первое получение конкретной модели, её иконка, название и слот. Остальные модели и эффекты каталога являются предложениями.
Копии предметов Копии конкретной модели оборудования Повышают общий уровень модели в инвентаре. Получение копии не выполняет ручную эволюцию и не открывает способность автоматически.
Внутриигровые кристаллы Валюта, названная пользователем в обсуждении этого поп-апа Иконка валюты и количество. Источники, расходы и экономика ещё не определены. Валюта отличается от ингредиента Crystal и должна иметь отдельный идентификатор.
Открытие локаций Одна или несколько новых доступных миссий после третьего босса Карточка каждой открывшейся локации с подписью «Открыто». Повторная победа не выдаёт повторное открытие. Это результат прогрессии, который можно показывать в том же контейнере.

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

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

Абсолютные значения, проценты и процентные пункты

Для числовой награды задаются целевой параметр, величина и способ применения. Формат не определяется только символом «%».

  • Абсолютная прибавка: «Максимальная прочность +100».
  • Прибавка к процентному параметру: «Шанс уклонения +2 п.п.» — например, с 10% до 12%.
  • Процентное усиление: «Урон +10%». Для общего и типового процентных бонусов используются существующие формулы урона; поп-ап не заменяет их умножением текущего итогового урона. Для другого относительного изменения база расчёта задаётся явно.
  • Количество сущностей: «Scrap ×20», «Кристаллы ×50», «Основа: 1 копия, уровень 12 → 13».
  • Открытие: «Алхимические болота — открыто»; числовое значение не требуется.

Числа в примерах иллюстрируют формат и не утверждают баланс. Одинаковые награды можно объединять только при совпадении сущности, способа применения и базы расчёта. Валюту Crystal и ингредиент Crystal не объединять.

Контракт контейнера Reward — предложение

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

Иконка и локализованное название определяются по идентификатору. Окно отображает готовый результат; начисление выполняет игровая система. Контейнер может смешивать категории, например оружие и открытие локации.

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

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

Примеры по существующим назначениям

  • Первая победа над A01-B2 «Стальным гонцом»: карточка K-W2 «Швейная машина» с меткой «Новое».
  • Повторная победа над A01-B1 «Гончим капитаном»: одна копия K-W1 «Основа» и повышение уровня на один.
  • Первая победа над A01-B3 «Железным маршалом»: C-W1 «Травитель» и открытие Алхимических болот.
  • Первая победа над A05-B1 «Хранителем ткани»: «Импульсный двигатель».
  • «Забрать всё» в пассе: один контейнер всех успешно полученных наград; конкретный состав определяется будущим балансом пасса.