Изучение процедурного дизайна в Rain World: Смотритель

«Гигантский грифон пикирует с неба к своей добыче, только чтобы запутаться в водорослях и быть втянутым в водную бездну, чтобы быть поглощенным пиявками.» Скворец хватает инсектоцидный споровый пух и мчится в рой плотоядных саранч, чтобы спасти своего товарища по племени. Ящерица окунает свою добычу в чан с кислотой, чтобы убедиться, что она мертва, прежде чем тащить ее обратно в свою нору.” – Эндрю Марреро, руководитель разработки, Akupara Games
Мир дождя’s изнурительный игровой процесс на основе выживания процветает на неожиданных сценариях. Хотя каждая из этих ситуаций возможна в игре, ни одно из взаимодействий не является явно запрограммированным действием или событием – они являются естественным результатом тщательно разработанных динамических поведенческих систем и систем отношений между существами.
Мы провели интервью с разработчиками из Videocult, Akupara Games и моддинг-сообщества Мир дождя, чтобы узнать больше о существах и средах в игре и ее последнем DLC Смотритель, а также о процедурном дизайне и системах, которые оживляют их.
Установление основных принципов дизайна
Основной игровой цикл Мир дождя включает в себя навигацию по сложной и опасной экосистеме в качестве одинокого слизня, отделенного от своей семьи. Игроки должны охотиться на более слабых существ за пищей, избегать и перехитрять хищников, а также искать укрытие от регулярных ливней кислотного дождя.
«С самого начала мы хотели создать энергичный, импровизационный игровой процесс, сосредоточенный на скрытности и периодических всплесках выживания», – говорит Йоар, консультант по существам в Videocult. «Игра во многом основана на знаниях, используя метод проб и ошибок для изучения механизмов существ и экосистемы, и приобретая чувство того, как манипулировать всем этим в свою пользу.»

Анимация слизня
Изучение того, как эффективно управлять слизнем, является важной частью этого путешествия. В игре слизень движется с скользящим, жидким качеством и может отскакивать от стен, скользить по земле и протискиваться через узкие туннели. Хотя в начале это трудно полностью понять, уникальная система движения слагкэта придаёт действиям в Rain World ощущение "отчаянной борьбы" и позволяет "некоторым интересным взаимодействиям быть возможными, если бы персонаж был просто коробкой, выровненной по осям."
Визуально это всё обеспечивается процедурной анимацией. Модель персонажа слагкэта состоит из двух сферических частей, зафиксированных друг относительно друга на определённом расстоянии, что позволяет ему кувыркаться и вращаться. Конечности и хвост являются косметическими дополнениями, нарисованными поверх этой основы, анимация которых происходит процедурно на основе ввода игрока.
"Я никогда не ставил перед собой задачу сделать процедурную анимацию," говорит Йоар. "Я столкнулся с проблемой, как заставить конечности слагкэта двигаться, и поскольку код — это то, как вы заставляете вещи двигаться в компьютерной игре, я именно это и сделал. Сначала я использовал смесь классической и процедурной анимации, но позже я больше склонялся к процедурной."
Анимации слагкэта в действии
Создание биома
Бестиарий Rain World включает в себя более 100 существ с значительно различающимися внешним видом, поведением и средой обитания. Хотя у них есть несколько общих базовых скриптов существ, в большинстве случаев каждое из них рассматривается как совершенно новый проект и кодируется с нуля. Это добавляет дополнительную работу по разработке, но позволяет достичь биоразнообразия, которое делает игру такой увлекательной.
"Некоторые существа имеют короткие коренастые ноги, в то время как другие имеют длинные ноги-кошмары, плавники, реактивную тягу, щупальца и крылья," говорит Бенджамин, консультант по существам в Videocult. "Поскольку дизайны существ так сильно различаются, они требуют уникального кода для формирования их тел и обработки их уникальных способов движения."
Этот эклектичный подход к дизайну отражён в нестандартной настройке редактора. "Rain World очень странен в том, как он использует редактор Unity," говорит Бенджамин. "В основном это просто скрипты MonoBehaviour для обработки ввода/вывода на нескольких пустых GameObjects, основными из которых являются экранная панель, менеджер звукового пула и менеджер контроллеров. Наши существа создаются почти полностью из скриптов, за исключением спрайтов, которые позиционируются и окрашиваются через графический скрипт существа. Каждое существо наследует базовые скрипты существ, которые обрабатывают столкновения и другие общие задачи, которые им всем нужны, такие как системы здоровья, удерживаемые предметы и их сохранение/загрузка."

Программирование поведения существ
Чтобы установить специфическое для существа поведение, каждому из них предоставляется таблица, каталогизирующая его отношения к другим существам, объектам и местам, и эта информация формирует основу экосистемы Rain World. «На поведенческом уровне существа используют модульную коллекцию AI-модулей, которые могут быть опционально прикреплены и настроены для каждого существа, чтобы изменить их возможное поведение и приоритеты», объясняет Эндрю, руководитель разработки в Akupara.
Некоторые из этих модулей включают:
• PreyTracker для охоты на ближайшую добычу
• ThreatTracker для бегства от ближайших хищников
• FriendTracker для формирования кооперативных отрядов с другими единомышленниками
• ItemTracker для поиска полезных предметов на земле, которые можно поднять и унести
• DenFinder для того, чтобы дать существу ощущение домашней базы, к которой оно может вернуться после выполнения определенных задач
• DiscomfortTracker для определения тех областей или объектов, которых существо обычно избегает
Правдоподобие экосистемы Rain World сильно зависит от возникающего поведения, которое эти системы позволяют, и некоторые из них удивляют даже разработчиков: «Я создавал ядовитое, гусеничное существо, и другой разработчик проекта предложил сделать так, чтобы яд был способом избавления от паразитов», говорит Бенджамин. «В итоге его яд стал работать как своего рода лекарство – мне это показалось действительно крутым!»
Яд гусеницы можно использовать как противопаразитарное средство
Культивирование возникающих взаимодействий
Поддержание этой сложной системы требует баланса между чисто системными взаимодействиями и случайными ручными вмешательствами от разработчиков. «Как программист, стоящий за этим поведением, я никогда не видел ничего, что не мог бы объяснить, но меня часто удивляли разные способы, которыми вещи взаимодействовали друг с другом», говорит Йоар. Он вспоминает один случай, когда крупный враг с щупальцами, Daddy Long Legs – предназначенный быть серьезной угрозой – зациклился на охоте за крошечными червями и полностью игнорировал слагкета, проблема была решена с помощью небольших корректировок кода.
Хотя цель заключалась в том, чтобы создать как можно меньше таких ручных взаимодействий, Йоар признает, что некоторый уровень прямого ввода в конечном итоге делает окружение Rain World более реалистичным: «В основном мы пытались позволить системе развиваться так, как она должна, но в конечном итоге мы сдались и создали инструмент, где определенные комнаты могли быть назначены более привлекательными для определенных существ, чтобы придать миру немного целостности.»
Стервятник крадет обед слизня.
Представление новых видов.
Последнее DLC Rain World, The Watcher, вводит 25 дополнительных существ, новые биомы и еще одного играбельного слизня, оснащенного уникальными способностями. «Наш новый слизень-наблюдатель имеет возможность временно полностью скрывать свою визуальную форму от большинства других существ», — говорит Бенджамин. — Конечно, это не гарантирует его выживание. «Есть некоторые существа, которые могут обойти это, например, охотясь по звуку или окрашивая слизня своими собственными натуральными пигментами.»
Слизень-наблюдатель также имеет новую способность «Рябь», накапливаемый буст, который открывает новые силы по мере продвижения игроков. Онгомато, технический художник в Akupara Games, описывает, как они создали VFX для «Эффекта ряби», искажая, перекрашивая или даже заменяя части окружения с помощью маски интенсивности:
«Эта маска сначала рендерится, захватывается, а затем кадр очищается. Командный буфер затем искажает или заменяет текстуру уровня на основе этой маски. Фактическая игровая сцена рендерится с использованием этой измененной текстуры, обеспечивая правильное отображение других эффектов, которые используют текстуру уровня, и персонажи остаются невидимыми для видимости», — объясняет Онгомато. «След искажения игрока использует тот же эффект: Их силуэт добавляется к текстуре каждый кадр, медленно искажаясь и уменьшаясь в интенсивности, создавая органический след, который служит источником искажения для эффекта ряби.»
«Эффект ряби», рендеренный в игре.
Аутро.
Философия дизайна Rain World, основанная на процедурных системах и возникающих взаимодействиях, гарантирует, что каждая игра предлагает новый опыт, усиливая его привлекательность и ценность повторного прохождения. Это способствовало формированию преданного сообщества игроков, которые вдохнули новую жизнь в игру, когда Videocult открыл проект для моддеров. В результате контент, созданный игроками, вызвал еще больший интерес к Rain World, при этом самые популярные моды были интегрированы в проект в качестве официальных дополнений: Дождь в 2022 году, а сегодня Смотритель.
Заканчивая интервью, мы спросили команду разработчиков Rain World, как они удерживали амбициозный масштаб этой игры в рамках на протяжении многих лет. Их ответ? «Мы никогда.» Во время разработки мы придумали десять тысяч классных идей, и затем все их включили в игру. Примечание: не совет.
Rain World: Смотритель выходит сегодня на настольных и консольных платформах. Посмотрите на Steam и просмотрите больше игр, созданных с помощью Unity, на нашей официальной странице кураторов Steam. Читать больше историй от разработчиков в сообществе Unity на нашей странице ресурсов.
