Блог компании Pixonic
Полный пайплайн левел-дизайнера War Robots: как мы делаем карты, на которых хочется играть
Помните бесконечное «Давайте Dust 2!» в каждом CS-чате? Реиграбельность — важнейшая черта для онлайн-шутеров. Игрокам раз за разом приходится возвращаться на одни и те же локации, поэтому можно смело сказать, что работа левел-дизайнера не менее важна для проекта, чем код, на котором он написан.
Продумать баланс карты во всех ее точках. Помнить о разных тактиках игроков и целых команд. Расставить достаточное количество укрытий. Не забыть о «снайперах». Провести ряд внутренних и внешних тестов. Учесть пожелания игроков относительно сеттинга и визуала.
Мы думаем, не только нам интересно, как можно решить все эти задачи.
Описанный ниже пайплайн, который мы используем для создания карт в проекте с многомиллионной аудиторией, достаточно универсальный и может быть применен к разным жанрам — по большей части он даже не привязан к размеру команды. Здесь и наш опыт работы над мобильной War Robots и War Robots VR: The Skirmish для PC, и опыт наших коллег со всего мира.
Весь процесс разработки локаций можно разделить на этапы:
• планирование;
• концепт;
• геймплейный прототип;
• прототип из плейсхолдеров;
• финальные доработки;
• релиз.
• планирование;
• концепт;
• геймплейный прототип;
• прототип из плейсхолдеров;
• финальные доработки;
• релиз.
В этой статье мы с моим коллегой левел-дизайнером Олегом Грачевым подробно раскрываем суть каждого из них. Поехали!
Планирование
В конце 2017 года мы опросили игроков, что им понравилось больше всего за последнее время и чего они ждут в будущем. В обоих случаях победил ответ «новые карты». Но прежде чем приступить к созданию концептов локаций, необходимо понять, в каких именно картах нуждаются игроки.
Есть два основных способа это выяснить:
- изучить отзывы и аналитику по существующим картам;
- провести еще несколько опросов на тему будущих карт.
Мы используем оба. В первом случае мы изучаем отзывы игроков о выпущенных картах из разных источников, включая соцсети, официальный форум, YouTube, Reddit, а также сообщения, присланные напрямую. Отдельно учитываются мнения инфлюенсеров (ютуберы и другие известные игроки). Как правило, их позиция более аргументированная, развернутая, но не всегда соответствует настроениям сообщества игроков в целом.
Мы также анализируем показатели существующих карт:
- длительность матчей;
- процент выходов до окончания боя (ливы);
- соотношение побед/поражений обеих команд (винрейт).
График средней длительности матчей в различных уровневых группах игроков
Хорошо, когда график длительности матчей, как на примере выше, имеет ярко выраженный пик где-то ближе к середине. Это означает, что матчи не слишком затяжные и заканчиваются достижением цели режима (заработать нужное количество очков / фрагов) или полным уничтожением противника.
Пик в правой части графика (600 секунда матча) говорил бы нам о том, что бои чаще заканчиваются таймаутами. В таком случае нужно искать проблему в дизайне карты. Например, она может быть слишком большой и открытой.
Процент досрочных выходов из боя отражает востребованность карты, а соотношение побед команд — баланс начальных условий.
При этом нас интересуют как общие показатели по всем игрокам, так и с разбивкой по лигам и группам уровней. Общие — позволяют быстро оценить картину в целом и выявить проблемные локации. Разбивка же по лигам и уровням дает возможность понять, какую часть аудитории и насколько сильно затрагивают имеющиеся проблемы.
Ну а зная, кого это затронуло, проще отыскать конкретные проблемные моменты.
Например, если это игроки Чемпионской лиги, можно найти запись геймплея одного из топовых игроков на конкретной карте и посмотреть его глазами на то, как она играется.
Что касается будущих карт — мы запускаем в соцсетях опросы на самые разные темы, например, про размеры карт и количество укрытий:
Чарты опросов
Так мы видим:
- любимые и нелюбимые карты игроков;
- предпочитаемые дистанции ведения боя;
- насколько много укрытий игроки хотят видеть на картах;
- пожелания по сеттингам и времени суток.
Учитывая пожелания игроков, видение команды проекта и направление развития игры (новые режимы, механики роботов и т.п.), мы формируем план по картам на ближайшее будущее. Он включает: рабочие названия, краткие описания сеттинга (мест действий), размеры и геймплейные особенности.
Когда этап планирования завершен, начинается работа над картой.
Концепт
Этот этап включает в себя:
- описание основной задумки, идеи;
- поиск визуальных и геймплейных референсов;
- рисование схемы уровня;
- составление ГДД (геймдизайн-документа).
На первом шаге мы формируем базовое понимание облика будущей локации, отталкиваясь от описанных в плане геймплейных особенностей, сеттинга, размеров, существующих и планируемых режимов игры. Формируется общая концепция.
Мы продумываем и фиксируем ряд нюансов:
- конкретное место действия: что собой представляет уровень, где территориально расположен;
- тема и предыстория уровня: влияние прошлых событий на атмосферу, насколько уцелело окружение или оно разрушено;
- влияние правил режимов игры на облик будущей локации, ее симметричность;
- новые механики и геймплейные особенности: всё, что выделяет новую карту на фоне предыдущих.
Когда первоначальное понимание сформировано, мы начинаем собирать подборку визуальных и геймплейных референсов. Это помогает продумать облик локации: запоминающиеся объекты (лэндмарки), архитектурные элементы и стили, цветовую гамму, особенности освещения.
Ключевая область на карте Valley — центральное здание заброшенной военной фабрики во Вьетнамских горах
Множество подходящих изображений доступно на Google Images, Яндекс.Картинках, DeviantArt и Pinterest. Визуальными референсами могут быть фильмы или другие игры. На refdb.level-design.org, например, есть огромная подборка самых разных скриншотов.
В качестве геймплейных референсов могут быть как существующие карты War Robots, так и игры со схожим геймплеем и локациями, близкими по сеттингу. Отыскать их зачастую помогает собственный игровой опыт. Например, в War Robots режим Domination заключается в захвате точек-маяков — похожий режим также является основным для серии Battlefield, фигурирует в Call of Duty и Unreal Tournament. Поэтому некоторые карты из них игр могут служить референсами и для мобильной War Robots.
Следующий шаг — создание схемы уровня.
На ней отражены: структурная геометрия, важные перепады высот, маршруты игроков и места размещения элементов игровых режимов, таких как точки возрождения и маяки.
При создании учитывается расположение простреливаемых участков и точек столкновения команд (choke points или bottlenecks).
Первоначальный вариант не содержит точных данных о масштабах и расстояниях. Он позволяет представить общую структуру уровня, а также быстрее и с большей уверенностью начать работу над геймплейным прототипом.
Прежде чем переходить к следующему этапу, отметим некоторые ограничения в работе над War Robots:
- платформенные ограничения на количество и сложность размещаемых на карте объектов и их коллайдеров. Они должны учитываться на всех этапах, начиная с планирования;
- жанр и сеттинг накладывают ограничения на планирование карт и выбор места действия. Пространства, позволяющие свободно перемещаться и воевать 20-метровым роботам, должны выглядеть правдоподобно, но не в ущерб геймплею (задача комплексная и решается совместными силами левел-дизайнеров и художников по окружению);
- отсутствие у игрока контроля над прицеливанием по вертикали накладывает ограничение на вариативность высот и многоуровневость карты. Проблема начинается, когда два противника находятся друг над другом, при наведении прицел будет скакать между ними.
Детальное описание (с учетом ограничений), референсы и схема закладывают основу дизайн-документа (ГДД) будущей карты.
Геймплейный прототип
Это — начало работы в 3D-пространстве. В зарубежных источниках процесс прототипирования геймплея называется blocking out или blockout. Его суть — в построении пространства из простых геометрических форм (block meshes). Это и есть многим известное прототипирование на кубиках.
Здесь происходит создание будущего геймплея карты. Развиваются идеи, заложенные в схеме уровня, определяются точные размеры, масштабы, расположение укрытий и простреливаемых участков местности, расстояния между объектами, и выстраивается общая композиция карты.
При работе над картой для соревновательной онлайн-игры этапу прототипирования геймплея стоит уделить особое внимание. Игроки простят абстрактность сеттинга и слабую визуальную часть, но карта должна предлагать изначально равные условия для команд и вариативность средств и методов для достижения победы.
Карта Dreadnought. В первоначальной версии снаружи упавшего корабля было заметно меньше укрытий.
Карта Dreadnought. В самом первом прототипе у снайперов была возможность занять позицию на расстоянии от укрытия, позволяющую стрелять, будучи полностью защищенными от ответного огня.
Карта Dreadnought. Сначала домашние маяки обеих команд располагались дальше от эпицентра боя. Еще на скринах видны изменения в количестве и конфигурации укрытий.
Карта Valley. В первом прототипе крупные укрытия были куда более высокими. Они были очень удобными позициями для прыгающих роботов, давали им значительное преимущество, и при этом были недоступны для всех остальных мехов.
Карта Valley. В результате ряда плейтестов несколько изменилась конфигурация укрытий в районе точек B и D, уменьшилось их количество и добавились подъемы от баз обеих команд к снайперским возвышенностям на точках A и E.
Карта Carrier. Эта карта пережила множество итераций. Увеличилась ее ширина, изменилась конфигурация укрытий, добавлены крупные объекты (трубы, мосты) и изменено расположение подъемных рамп. Даже ее название сменилось с первоначального Ship на итоговый Carrier.
Карта Carrier. Были перемещены два маяка, чтобы увеличить роль нижней палубы и растянуть линию фронта.
Данный этап — время экспериментов, тестов и множества итераций, в результате которых переделываются или даже отбрасываются значительные куски карты. Мы стараемся не вдаваться в некритичные для геймплея детали — чем грубее первоначальный набросок, тем быстрее происходят итерации.
На этом этапе текстурам и освещению уделяется минимальное внимание — эти вещи зачастую не критичны для геймплея. Главное, чтобы визуально всё не сливалось в кашу, не было во мраке или пересвечено, чтобы не затруднять проведение тестов.
Каждую итерацию необходимо тестировать, поэтому на самой ранней стадии разработки на карту добавляются необходимые для геймплея компоненты, такие как камера, точки старта (spawn points), компоненты игровых режимов и т.п. Это позволяет оценить любые изменения и нововведения с позиции игрока.
Мы создаем уровни в Unity и это тоже накладывает свой отпечаток:
- вести параллельную работу над сценой бывает проблематично;
- нет встроенных удобных инструментов для прототипирования уровней.
Сцена в Unity — это единый бинарный файл, одновременные правки которого несколькими людьми приводят к частичной потере изменений. Чтобы этого не происходило, работа по большей части идет последовательно. В крайнем случае, когда надо что-то срочно поправить — сначала обговариваем это устно или через Slack.
Сначала же карта делается дизайнерами (до этапа «Геймплейный прототип» включительно), затем отдается художникам по окружению (и дизайнеры ее пока не правят). После того как готов прототип из плейсхолдеров, карта вновь передается дизайнерам. После тестов и донастроек она снова уходит от дизайнеров к художникам для финальных доработок.
Чтобы дизайнеры не пересекались с художниками, мы также создаем дополнительные подгружаемые сцены (additive scenes). В них располагаем маркеры спавн-поинтов, маяки и компоненты игровых режимов. С дополнительными сценами работают только левел-дизайнеры, оставляя основную сцену художникам по окружению.
Поскольку пока в Unity нет удобных инструментов для прототипирования (хотя Unity уже анонсировала добавление функционала в состав движка), мы создаем геймплейный прототип уровня с помощью плагина ProBuilder.
С его помощью мы моделируем объекты нужной детализации, отрезаем и сшиваем части геометрии. Быстро зеркалим сцены, сбрасываем координаты и пивоты объектов для удобства работы художников над получившейся болванкой уровня. Наличие в плагине всех типичных для 3D-пакетов инструментов упрощает и ускоряет создание прототипов.
Тесты
Когда первая версия прототипа готова, проводятся первые тесты. Процесс тестирования можно разделить на 3 группы:
- тесты внутри отдела: периодические разборы карт, проводимые в кругу левел-дизайнеров;
- внутренние тесты: полномасштабные испытания с участием отдела тестирования (QA);
- внешние тесты: проводятся на специальном сервере с привлечением игроков.
Мы начинаем с того, что играем бой один на один в кругу левел-дизайнеров. Прислушиваемся к рекомендациям друг друга, улучшаем геймплей, находим недоработки, способные повлиять на последующие плейтесты. В консоли разработчика мы меняем скорость роботов, гравитацию и другие параметры, помогающие отыскать места застреваний, дыры в коллизиях и прочие шероховатости.
Для внутренних плейтестов мы привлекаем отдел QA. В итоге мы получаем отзывы от людей, занимающихся ежедневным тестированием игры и знающих ее от и до. Часто поступают интересные предложения по улучшению геймплея.
Внешнее тестирование — мощный инструмент итеративной разработки. Геймдизайнеры с его помощью еженедельно проверяют интерес игроков к новым фичам и контенту, а также то, как игроки взаимодействуют со всеми нововведениями.
Участники еженедельных тестов первыми знакомятся с новыми картами. Они играют в прототипы на каждом этапе разработки, голосуют и оставляют отзывы (в том числе в виде роликов на YouTube), которые помогают улучшить карту и собрать следующую ее итерацию.
Важно помнить, что с каждым последующим этапом уровень всё сложнее и дороже видоизменять. Глобальные доработки вносятся до конца этого этапа.
Когда геймплейный прототип карты готов, в документе появляется информация о габаритах укрытий и других важных объектов. Потом описывается звуковое сопровождение и актуализируются все схемы.
Документация вместе с прототипом передается 2D-художникам для создания атмосферных концепт-артов.
Концепт-арт помогает 3D-художникам по окружению создать цельный облик локации. Работая над картой, они заменяют примитивы на плейсхолдеры — объекты с проработанной геометрией, без материалов и текстур.
Прототип из плейсхолдеров
Геймплей сформирован, теперь нужно увязать его с будущим обликом локации. Художники по окружению анализируют предоставленный левел-дизайнерами прототип, габариты всех размещенных в нем объектов и сопровождающую документацию.
Арт-отделом подбираются референсы для каждого отдельного объекта. Параллельно рисуются текстуры для заднего фона и неба (skybox).
Геометрия с предыдущей стадии заменяется на плейсхолдеры и скрывается с карты (в конце этапа она будет удалена).
Плейсхолдер — это доработанный вариант примитива. Форма и внешний вид дают представление о том, чем является объект.
Уровень детализации модели всё еще ниже финальной геометрии, текстуры не обязательны. По сути своей плейсхолдеры — это заготовки для всей будущей структурной геометрии карты, которые предстоит доработать до финального варианта. Все они имеют собственный 3D-файл и место в иерархии папок проекта (геометрия с предыдущего этапа хранилась только в сцене).
Отдельно стоит отметить такой крупный объект как ландшафт карты (terrain). Как правило, при прототипировании геймплея он строится из примитивов и на этапе работы с прейсхолдерами заменяется на заготовку, близкую по форме к финальному варианту.
На этом этапе начинается производство финальных моделей и текстур. Настройка уровня ведется параллельно. Для левел-дизайнера важно проследить, чтобы с заменой изначальной геометрии не потерялись заложенные идеи и геймплей. Поэтому прототип из плейсхолдеров постоянно тестируется и в него вносятся корректировки.
На этом этапе все еще можно изменять уровень. Такая необходимость возникает нередко. Но важно избегать масштабных правок карты или удаления больших фрагментов.
Хотя хорошие идеи могут прийти от любого участника команды и на любом этапе. Например, создавая плейсхолдеры, художник по окружению может добавить какой-то элемент для улучшения визуального облика и тем самым создать совершенно новую геймплейную возможность. Мы ищем и развиваем их. Так, например, появились боковые подъемы на центральном сооружении карты Valley.
В итоге мы получаем играбельный уровень с проработанными элементами окружения и проводим еще один внешний тест с участием игроков. По его результатам вносятся доработки, при необходимости проводятся повторные тесты.
Финальные доработки
Уровень из плейсхолдеров дорабатывается художниками по окружению до финального облика: детализируются модели, дорабатываются текстуры и добавляются декоративные объекты, не влияющие на геймплей (пропсы). Правятся коллизии для лучшей проходимости, настраиваются уровни детализации моделей (LOD) и проводятся работы по оптимизации.
После релиза карта проходит ежедневный стресс-тест тысячами игроков — любые недоработки обнаружатся очень быстро, а отклонения от баланса будут использоваться для получения нечестного преимущества. Поэтому перед релизом мы тщательно тестируем настройки режимов, положение спавн-поинтов, оптимизацию ресурсов в сцене. Нужно еще раз убедиться, что роботы перемещаются плавно, спавны равноудалены, а маяки на своих позициях.
Для нужд проекта внутренней командой разработки созданы инструменты для поиска проблем с оптимизацией. С их помощью мы находим несоответствия в иерархии, избыточные LOD'ы, некорректные настройки импорта ассетов и другие несоответствия требованиям проекта. Это экономит время в сжатые предрелизные сроки.
Финальный тест проводится отделом QA, исправляются недоработки, после чего карта отправляется в ветку релиза. Параллельно комьюнити-менеджеры и отдел видео-продакшена готовят промо-материалы. Карта презентуется игрокам — появляются новые видеоролики, загрузочные скрины и арт для новостных постов.
Релиз
Первое время после релиза карта имеет повышенный шанс выпадания в бою. Мы собираем большое количество статистических данных за короткий срок. Самые важные показатели, как мы уже говорили, — время в бою, процент игроков, покинувших матч до его окончания и соотношение побед команд.
В случае возникновения проблемы (например, досрочных ливов) мы ищем и изучаем предпосылки, на основе которых вносим изменения. Затем вновь собираем и анализируем данные, чтобы понять, насколько улучшился опыт игроков.
Вместо заключения
Мы прошли через все этапы создания карт для War Robots. На левел-дизайнерах фактически лежит фундамент геймплея, и лучшее, что мы можем сделать для пользователей, — дать им интересный игровой опыт взамен на вложенные в проект время и деньги. Но одних отлаженных процессов для этого, к сожалению, недостаточно. Очень многое зависит от команды, практики и личного игрового опыта левел-дизайнеров.
Этапы работы над картой Dreadnought
Две итерации геймплейного прототипа
Два прототипа из плейсхолдеров
Финальная структурная геометрия и итоговый вариант с пропсами и эффектами
левел-дизайнер War Robots