Интервью.
Технические руководители по геймплею и арт-директора Moon Studios рассказывают, как они модифицировали Unity для создания игры No Rest for the Wicked, а также об источниках вдохновения и процессе работы, которые привели к живописности игры.

Переход от тщательно продуманной 2D-игры в жанре Metroidvania в серии Ori к системной, многопользовательской ролевой игре в жанре экшен с No Rest for the Wicked — это больше, чем просто смена жанра. Такая адаптация требует фундаментального сдвига в технологиях, рабочем процессе и философии дизайна.
На техническом уровне этот сдвиг потребовал больше, чем просто масштабирование существующих инструментов. Команда использовала сильно модифицированную версию Unity (внутренне называемую «Moonity»), одновременно внедряя детерминированный многопользовательский режим через Photon Quantum, специальную систему потоковой передачи мира на основе фрагментов и широкий спектр внутренних инструментов, предназначенных для ускорения итераций в полностью удалённой команде.
В этом интервью Патрик Уильямс из Moon Studios рассказывает о рабочем процессе студии, охватывая всё: от сетевой архитектуры и проблем с производительностью до потоковой передачи уровней, инструментов отладки и внутренней системы таймлайнов, которая обеспечивает как бой, так и кинематографические сцены. Мы также услышали от арт-команды об их подходе к дизайну внешнего вида и ощущения в No Rest for the Wicked.
Кроме того, команда празднует два года непрерывной разработки в раннем доступе, используя значительный вклад сообщества.

Можете рассказать нам о переходе от работы над Ori к No Rest for the Wicked и о том, каким был этот процесс для студии?
Патрик Уильямс, руководитель отдела игрового процесса: Переходя от Ori, второй игры, я работаю в Moon уже восемь лет, поэтому участвовал в её создании. Переход к этой новой игре на самом деле заставил меня захотеть присоединиться к Moon. Когда я подавал заявку, они сказали, что также работают над этим проектом в фоновом режиме, пытаясь получить финансирование, и я подумал: «Ну, это игра, которую я хочу сделать». Они сказали мне, что сначала я должен сделать Ori, поэтому у меня на компьютере был фон с надписью «сделай это для Forsaken», что было внутренним названием для No Rest for the Wicked, с концепт-артом и всем остальным.
Для меня переход был несложным, но для многих людей, переходивших от 2D-дизайна уровней в Metroidvania к этой игре, это было сложно. Даже философия дизайна изменилась. То, что работало в Ori, не обязательно работает здесь. У нас всё ещё есть фиксированная камера, но игра полностью трёхмерная в плане геймплея. Всё, от дизайна уровней до боя и навигации врагов, пришлось изменить.
Многие 2D-художники освоили 3D-рабочие процессы, и многие дизайнеры были рады попробовать что-то новое. Мы не потеряли слишком много людей, но некоторые ушли, потому что это была совсем другая игра.
С технической точки зрения мы всё ещё используем Unity, но под капотом всё по-другому. Ori 2 была создана на сильно модифицированной версии Unity, которую мы называем «Moonity». У нас есть доступ к исходному коду, поэтому мы создаём множество собственных конвейеров рендеринга, систем таймлайнов, ввода, аудио и всего, что нам нужно.
Самым большим изменением для этого проекта стал мультиплеер. В Ori его не было. Для этой игры мы используем Quantum от Photon. Мы тесно сотрудничали с ними на раннем этапе, чтобы превратить его в более подходящую для 3D систему. Она детерминирована, поэтому вместо отправки позиций по сети вы отправляете входные данные, и всё моделируется одинаково на каждой машине.
Это означало, что мы не могли просто использовать кодовую базу Ori; это была совершенно новая основа. Так что в целом это был большой переход как в техническом, так и в творческом плане.

Какими были самые большие проблемы при переходе игры с однопользовательского на многопользовательский режим?
Патрик Уильямс: К счастью, многопользовательский режим всегда планировался. Мы просто не смогли довести его до нужного состояния вовремя для выпуска в раннем доступе. Даже за год до запуска мы всё ещё тестировали многопользовательский режим на разных машинах.
Самой большой проблемой стала производительность. Quantum моделирует всё одновременно для всех игроков. Это нормально для одного игрока, но когда четыре игрока делают разные вещи по карте, это становится намного сложнее.
Нам пришлось решить такие проблемы, как моделирование игроков вне экрана и поддержание производительности. Дело было не только в визуальных аспектах; были также проблемы, связанные с симуляцией. Дизайн также стал более сложным. Пространство, которое хорошо подходит для одного игрока, может показаться тесным для четырёх. Если вы увеличиваете сложность, добавляя врагов, производительность падает, и камера изо всех сил пытается показать всё чётко.
Так что это было много небольших проблем, которые складывались в одну большую. Но хорошая новость в том, что нам не пришлось перестраивать весь технологический стек — основа уже была.
Ожидалось ли, что добавление мультиплеера станет своего рода моментом перезапуска игры?
Патрик Уильямс: Да, именно так. Было немного обидно не выпустить игру с мультиплеером изначально, потому что это большой маркетинговый ход. Люди хотят играть с друзьями.
Но в конце концов всё получилось лучше, потому что мы сначала настроили основную игру. Мы ожидали, что игра снова активизируется после добавления мультиплеера. Такова природа таких игр.
Мы не просто создаём игру в стиле Dark Souls, поскольку у нас есть элементы из таких игр, как Valheim и Animal Crossing, которые больше ориентированы на мультиплеер. Эти системы естественным образом поощряют совместную игру.

Вау, игра вдохновлена самыми разными источниками. Как это влияет на дизайн?
Патрик Уильямс: Это смесь перспектив. Все в Moon увлечены играми и имеют разный опыт. Одни любят бои, другие предпочитают стелс или социальный геймплей.
Мы заимствуем элементы из разных жанров, а не копируем один. Это создаёт что-то уникальное, например, игру в духе Souls с построением города или жилья. Это также усложняет настройку, потому что нет прямой точки отсчёта, но это интересно — разбираться в этом.

Как выглядит ваш рабочий процесс с активами от концепции до реализации в игре?
Патрик Уильямс: Большая часть моей работы связана с игровым процессом и дизайном, но, насколько я видел, это похоже на большинство игр, где концепт-художники создают дизайны, а затем обсуждаются способы их воплощения в 3D.
У нас есть отдел риггинга, и ассеты моделируются и подготавливаются до того, как мы их получим. Как только ассеты готовы, они приходят к нам, и мы интегрируем их в игру.
Даниэль ван Леувен, ведущий художник по окружению, ведущий технический художник, арт-директор: Поскольку все в команде работают удалённо, у нас также очень либеральный подход к программному обеспечению, когда каждый может использовать то, что хочет.
Большинство наших художников работают в Blender, особенно команда по окружению, которая работает исключительно в Blender. Некоторые другие художники всё ещё работают в Maya и 3DSMax. Мы создали несколько простых инструментов в Blender, чтобы упростить работу с Unity и автоматизировать некоторые вещи, например, интерактивную растительность или генерацию коллайдеров. В целом у нас традиционный подход к работе, и мы ценим созданные вручную и нарисованные ассеты.

Даниэль ван Леувен: Некоторые художники начнут со скульптуры, другие могут начать с генерации текстур в качестве основы. Некоторые предпочитают проектировать концепцию или рисовать с нуля. Нет одного заданного рабочего процесса, который мы навязываем нашим художникам. Художники, которых мы нанимаем, показали, что они могут производить качественную работу, и у каждого есть свой любимый рабочий процесс, чтобы добиться этого.
Мы также делаем следующее: концепт-художники будут непосредственно помогать в создании ассетов и текстур, или ассет-художники — в создании концепций; эти процессы не разделены строго. 3DCoat — это практически единственное программное обеспечение для рисования текстур. В конце концов, пользовательские рендеринг и освещение, которые мы делаем в Unity, в основном связывают ассеты вместе, чтобы создать желаемый нами вид.


Можете ли вы рассказать о вдохновении для визуального стиля игры?
Михаил Рахматуллин, главный художник, арт-директор: Когда Томас Малер (генеральный директор Moon Studios) обратился ко мне 10 лет назад с предложением начать разработку стиля новой игры, он уже точно знал, чего хочет: «живопись оживает» как основной принцип. Он хотел, чтобы игра была как можно более художественной.
Поэтому мы обратились к старым мастерам за вдохновением. Караваджо был нашим основным ориентиром с его сильным использованием света и тени и очень сфокусированными композициями.

Михаил Рахматуллин: Для создания окружения мы также черпали вдохновение у художников конца XIX века, таких как Иван Шишкин, Архип Куинджи и Исаак Левитан.



Михаил Рахматуллин: Помимо этого, когда дело дошло до дизайна персонажей, Томас хотел сильной стилизации, а не реалистичных пропорций: более крупные руки, чтобы движения были чётко видны издалека, и подчёркивание черт лица для более выразительного вида.
Вот почему он обратился ко мне. У меня уже была подобная работа в портфолио, и я экспериментировал с пропорциями персонажей ещё тогда.

Михаил Рахматуллин: С самого начала Томас также считал, что мы должны двигаться в противоположном направлении от реалистичной графики PBR и вместо этого сосредоточиться на художественном выражении и драматическом освещении.
Он часто ссылался на кат-сцены из Vagrant Story, которые до сих пор прекрасно смотрятся, несмотря на свой возраст. Обратите внимание на выраженную подсветку краёв; мы довольно широко используем подобную технику в No Rest for the Wicked.
Михаил Рахматуллин: Мы отталкивались от этих основ, но с годами вносили дополнительные элементы. В команду приходили новые художники и технические специалисты, каждый из которых вносил что-то своё в общий стиль.
И, конечно, Ori and the Will of the Wisps разрабатывалась параллельно с презентацией идеи No Rest for the Wicked, поэтому визуальный стиль Ori оказал значительное влияние на облик No Rest for the Wicked.

Можете описать весь жизненный цикл создания нового врага — от концепта до внедрения в игру для игроков? Каков этот процесс?
Михаил Рахматуллин: На ранних стадиях разработки мы работали на основе концепт-арта, основанного на очень общих описаниях от команды дизайнеров. Однако со временем требования к дизайну и лору стали гораздо более конкретными, так что теперь работа над, скажем, новым боссом начинается с подробного дизайн-документа.
Далее следует концепт-арт. Это довольно тщательный процесс, поскольку каждый нюанс, включая текстуру и детали силуэта, будет перенесён в модель.


Михаил Рахматуллин: Сама модель строится с упором на ручные текстуры. Текстурирование обычно начинается с проецирования концепта на модель, а затем модель и текстуры доводятся до ума с учётом угла обзора внутриигровой камеры.

Михаил Рахматуллин: После этого готовая модель передаётся для риггинга и интегрируется в движок.
Затем аниматоры создают набор анимаций, а боевые дизайнеры реализуют и дорабатывают все движения. Волшебники VFX и SFX делают свои проходы, а технические специалисты следят за тем, чтобы всё было в порядке. Это очень сложный итеративный процесс.
Кроме того, некоторые персонажи, например, этот босс, требуют вступительных кинематографических кадров. Это добавляет дополнительную работу для команд нарративной и кинематографической анимации, включая более сложные риги, дополнительную полировку моделей и текстур, специальные настройки освещения и многое другое, но это стоит затраченных усилий.

Как выглядит ваш рабочий процесс при внедрении игровых функций в игру?
Патрик Уильямс: Геймплей — это своего рода отдел, исполняющий желания. Дизайн приходит к нам с идеями, арт предоставляет ассеты, а мы всё это соединяем.
Затем следует множество итераций. Иногда мы занимаемся настройкой самостоятельно, что приятно, потому что команда геймплея — это наполовину программисты, наполовину дизайнеры. Мы не просто кодируем — мы активно формируем ощущение вещей в игре.
Это очень итеративный процесс. Мы создаём что-то, тестируем, улучшаем и продолжаем до тех пор, пока не почувствуем, что всё в порядке.
Можете объяснить, как работает ваша система потоковой загрузки уровней?
Патрик Уильямс: Мы разбиваем мир на более мелкие части, которые мы называем «nuggets» и «chunks». Вместо загрузки целых уровней мы загружаем эти более мелкие части динамически.
Например, в центральной зоне продавцы могут менять состояния по мере их улучшения. Вместо перезагрузки всей сцены мы заменяем только этот конкретный фрагмент. Эта система также обрабатывает состояния квестов. Дизайнеры могут загружать определённые версии области в зависимости от прогресса, что ускоряет итерацию.

Как система определяет, что и когда загружать?
Патрик Уильямс: Это зависит от видимости и расстояния. Если что-то находится вне экрана или достаточно далеко, мы можем выгрузить или заменить это.
Если состояние меняется, мы можем предварительно загрузить новую версию до прибытия игрока. Каждый фрагмент отслеживает свои условия, например, выполнение квеста, и соответствующим образом обновляется. Это также влияет на появление врагов, разрушаемые объекты и даже кинематографические сцены.
Как фиксированная камера влияет на разработку?
Патрик Уильямс: Это очень помогает. Поскольку камера не вращается свободно, мы можем предсказать, что видит игрок, и оптимизировать соответствующим образом.
Это также помогает с освещением и художественным руководством. Если бы мы разрешили полный контроль над камерой, некоторые области не выглядели бы так же отполированными, потому что они не были предназначены для просмотра под каждым углом.
Какие внутренние инструменты вы создали для поддержки разработки?
Патрик Уильямс: У нас много инструментов. Один из основных — это наша система отладки в игре. Она позволяет нам мгновенно создавать игроков, врагов, предметы и моделировать различные условия.
Например, мы можем протестировать PvP, создав другого игрока, или смоделировать условия задержки без подключения к реальному серверу.
У нас также есть инструменты для загрузки определённых игровых состояний, телепортации по миру и быстрой проверки сборок. Цель — максимально сократить время итераций.
Есть ли какие-то ключевые системы, которые поддерживают разработку боёв и боссов?
Патрик Уильямс: Одна из главных вещей — это объединение пулов VFX. Вместо того чтобы создавать эффекты каждый раз, мы предварительно загружаем их и используем повторно. Это помогает избежать скачков производительности.
У нас также есть система под названием «ArmaMan», которая позволяет нам моделировать атаки в контексте. Вместо того чтобы тестировать анимации в пустом пространстве, мы можем видеть их в реальной среде с правильной физикой и звуком.
Можете рассказать о вашей внутренней системе таймлайна?
Патрик Уильямс: Мы создали свою собственную систему таймлайна для работы с анимациями, аудио и событиями. Это не таймлайн по умолчанию в Unity — мы разработали его сами.
Она позволяет нам выстраивать всё: анимации, эффекты и звук, и предварительно просматривать это в контексте. Мы используем её для боёв, кинематографических сцен и многого другого. Это как видеоредактор для игровых систем. Вы можете прокручивать, настраивать тайминг и видеть, как всё происходит в реальном времени.
Какова ваша общая философия, когда дело доходит до разработки в Moon Studios?
Патрик Уильямс: Она очень итеративная. Мы не всегда начинаем с полностью определённого дизайн-документа. Мы учимся, создавая и играя. Мы стараемся делать инструменты, которые ускоряют итерации и позволяют людям экспериментировать. Чем быстрее мы можем тестировать идеи, тем лучше становится игра.

Moon Studios, разработчик игр No Rest for the Wicked
Интервью провёл Дэвид Джагнео
Автор: Moon Studios