Блог компании 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
Две итерации геймплейного прототипа
Два прототипа из плейсхолдеров
Финальная структурная геометрия и итоговый вариант с пропсами и эффектами
ведущий геймдизайнер (Lead Game Designer) War Robots
Комментарии 20
    +5
    Спасибо большое)
      +4
      Спасибо за статью! Сам не играю в игры, а процесс создания гораздо интересней!
        +3
        Присоединяюсь к благодарностям :)
        Сцена в Unity — это единый бинарный файл

        Сцены можно переключить на текстовый формат (Asset serialization.Mode = Force Text), немного помогает при мерже
        0
        В подавляющем большинстве современных игр меня раздражают абсолютно симметричные карты уровней. Я понимаю, что это сделано для баланса команд, но это же очень сильно снижает интерес геймплея и реиграбельность. В ваших уровнях это к сожалению особенно заметно.
          +1
          Ну в играх типа захвата флага карты должны быть симметричными, иначе одна из команд получает серьезное преимущество. Есть одна карта в Дестини 2, где на режиме захвата точек исход боя чаще решает не уровень команды, а сторона старта — если старт с точки С, это почти всегда проигрыш, потому что практически невозможно отбить B и крайне сложно взять хотя бы A. Единственный шанс — перевернуть стороны, всеми силами навалившись на A, потом продавить B и оставить врагам C. Но такое возможно только при полной командной игре, не с рандомными игроками.

          Другое дело, что можно делать карты симметричными, но с разным оформлением сторон, чтобы карта не выглядела едино. Скажем, пустыня с разбросанными укрытиями и крепость. Если сверху посмотреть на такую карту, она будет выглядеть симметрично, но при игре изнутри будет смена обстановки при переходе между сторонами. Это я все с позиций FPS говорю, конечно.
            0
            Тем и интересны асимметричные (в большей или меньшей степени) но сбалансированные карты. Бесценный опыт здесь даст потомкам эпический Unreal Tournament 1999.
              0
              Тут даже не стоит далеко ходить, упомянутая автором Dust 2, не симметрична и дико популярна.
              0
              И кто это придумал что «должны»? Покажить хоть одну симметричную карту в CS. Прям вот смотрю загибается игра от дисбаланса карт.
                0
                Часто ли в CS играют в симметричные игровые режимы? Обычно это TDM и бомба, то есть такие режимы, в которых симметрия карты не имеет значения.

                Я же говорю о симметричных режимах, когда у обоих команд одна цель, и победа зависит еще от того, насколько сбалансирован доступ к цели. Если одна команда в силу дизайна карты легче захватывает цель, чем другая — это не ок.
                  0
                  Большой разницы нет. Если одни прибежали первыми — они должны удержать. Если их от туда вынесли потому что там опасно находиться — это уже другой вопрос — выбирайте роботов с вооружением под задачи. А тут получается все одинаково, и приходиться в поле бегать с ближним боем, потому что симметрия, а флагов столько же сколько и игроков. Зачем я так и не понял. Три не достаточно?
                    0
                    Это абсолютно ок, если на карте таких целей несколько, а средств для захвата тоже несколько. Если все симметрично, то это тир, а не игра, никакой тактики, только время убить годиться.
                0
                Проблема геймплейно асимметричных карт для режимов игры с симметричными целями для обеих команд в том, что крайне сложно добиться равноценных начальных условий.
                Даже если и получится достигнуть винрейта близкого к 50/50, введение новых роботов и вооружения в любой момент может пошатнуть этот баланс.

                Другое дело визуальная асимметрия: когда геймплейно объекты на обеих сторонах карты аналогичны, но их внешний вид отличается. Это делает карту более разнообразной, но добавляет работы художникам по окружению. Мы движемся в этом направлении, пробуем различные компромиссные варианты. В качестве примера, можно взглянуть на одну из новых карт — Dreadnought.
                  0
                  Скажите, а стремление к статистически красивому винрейту 50/50 чем-то подкреплено кроме эстетики?

                  Например по себе могу сказать даже если я знаю, что на какой-то карте играть на стороне А, сложнее чем на стороне Б, это не остановит меня от игры на этой карте и стороне, наоборот, мне интересно пользоваться особенностями рельефа.
                    0
                    Дело не в красивости и эстетике. Многие игроки, увидев что они заспавнились на «той самой» карте с проигрышной стороны, просто ливнут из матча, считая что они уже проиграли, закрепив негативное отношение и испортив игру своим комрадам ещё больше. В итоге на карте в конце концов почти никто не будет играть.
                      0
                      Это действительно происходит часто?
                      Наверное единственная игра в которую я играю сейчас по сети это Wargame Red Gragon, там карты хоть и имеют симметричные черты, но при более детальном рассмотрении становится понятно, что это далеко не так. И случаев «сливов» на старте там очень мало. Справедливости ради стоит отметить, что тут все карты асимметричны, а следовательно «той самой» карты в принципе нет. Видимо особенность жанра, когда в более серьезных играх дисбаланс наоборот вызывает интерес.
                0
                Интересно, спасибо.
                К сожалению, автор не указал, сколько человек делают эту карту и сколько времени.
                Или я не внимательно прочитал.
                  0
                  Действительно, в статье это не указано. Обычно над картой работает один левел-дизайнер и два художника по окружению. Время от времени, на небольшой срок, привлекаются другие специалисты. Например, художники для рисования концепт-артов, скайбокса и UI-специалист для рисования мини-карты.
                  Что касается времени, на одну карту уходит примерно 2,5-3 месяца. Основное время занимает работа художников по окружению (создание прототипа из плейсхолдеров и последующая доработка карты до финального вида). Пару недель занимает предрелизное тестирование. Геймплейные прототипы обычно готовятся заранее, сразу для нескольких карт, проходя по несколько циклов тестирования с привлечением игроков и последующих доработок.
                    0
                    Спасибо за ответ.
                    Этот вопрос не просто любопытство а типа исследования темы на предмет автоматизации процесса построения сцены (уровня) для игры.

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.