«Кто-то заметил, что в игре нет ни одного туалета?»: процедурный левелдизайн в XCOM 2

Как быстро создать много разнообразных карт.

На конференции GDC ведущий дизайнер уровней в Firaxis Games Брайан Хесс рассказал о том, как работает система процедурной генерации локаций в XCOM 2. Мы выбрали из его выступления главное.

Устройство уровней в XCOM

По своей сути, XCOM — это «игра, в которой нужно прятаться за объектами и расстреливать инопланетян». По этой причине все уровни в ней можно разделить на три основных компонента: сетку, укрытия и туман войны.

Все локации построены на сетке. Каждая клетка на ней либо содержит какой-то объект, либо нет. Если персонаж находится близко к объекту, то он получает бонус к защите. Существует два типа укрытий: низкие и высокие. От их размера зависит бонус, который получает персонаж.

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

«Кто-то заметил, что в игре нет ни одного туалета?»: процедурный левелдизайн в XCOM 2

Таковы основные правила XCOM, но что должен содержать в себе хороший уровень? По словам Хесса, параметры, которым уделяли внимание разработчики, — это расстояние между объектами, плотность укрытий и поля зрения. Следя за ними, авторы игры регулировали сложность миссий.

Например, если укрытия расположены на большом отдалении друг от друга, то игроку будет трудно вести концентрированный огонь по противнику. В противном случае, пострадает читаемость карты.

При разработке авторы XCOM вывели для себя правило, которому старались следовать — между массивами объектов должно быть как минимум две пустых клетки. Таким образом, даже при высокой плотности укрытий у игрока будет свобода перемещения, а также это позволяет избежать возможных проблем с камерой.

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

Брайан Хесс, ведущий дизайнер уровней в Firaxis Games

Регулируя поле зрения игрока, разработчики также контролировали и сложность столкновений. Если пользователь постоянно видит лишь небольшой участок карты, то он будет чаще вступать в бой просто по незнанию. Это приводит к скачку сложности. Впрочем, Хисс не отрицает, что порой «сражаться на несколько фронтов» может быть весело, но разработчики старались делать так, чтобы подобные битвы были спланированы ими лично, а не становились следствием плохого левелдизайна.

В XCOM: Enemy Unknown было порядка 80 карт для тактических сражений. Дополнение Enemy Within добавило ещё около 30. Большинство из них имели уникальные компоненты вроде проходов или зданий. По словам Хисса, все постройки в игре создавались вручную, а потому на них уходило много времени.

В Firaxis были довольны проделанной работой, однако такой подход к разработке карт требовал очень много времени и ресурсов команды — на каждый уровень в среднем уходило несколько месяцев. При этом в ходе одного прохождения игрок мог несколько раз оказаться на одной и той же локации, а игре с высокой реиграбельностью это только вредит.

К тому же, с DLC разработчики постоянно повышали планку качества создаваемых ими карт. «Если мы продали 80 уровней за 60 долларов и требуем 7 долларов всего за три карты, то последние должны быть хороши», — говорит Хесс.

В Enemy Within авторы решили пойти на эксперимент, чтобы разнообразить опыт пользователей. Некоторые миссии дополнения проходят на картах из оригинала — отличаются лишь время суток и стартовая точка игрока. Таким образом, локации воспринимались свежо, ведь уровни в Enemy Unknown были настолько большими, что мало кто изучал их вдоль и поперёк.

«Кто-то заметил, что в игре нет ни одного туалета?»: процедурный левелдизайн в XCOM 2

Процедурная генерация уровней в XCOM 2

Решение использовать процедурную генерацию уровней в XCOM 2 в Firaxis приняли в ещё на стадии препродакшена в 2013 году. Первое, чем руководствовались авторы, это желанием добавить в игру больше карт — для этого пришлось отказаться от кастомных ассетов.

Вторая цель разработчиков — это то, что они сами называют «вечной игрой». Суть этого принципа заключалась в том, чтобы игрок никогда не оказался на двух одинаковых картах. Помимо прочего, авторы стремились перейти на модульную систему создания зданий, позволяющую разрабатывать дома, используя ресурсы из единой библиотеки.

В основе процедурной генерации XCOM 2 лежит большая карта, которую сами разработчики называют «планом» (plot). Она содержит в себе области, в которые подгружаются здания из отдельных файлов — их называют «участками» (parcel).

Синим и серым обозначены «участки» — места, где будут появляться здания​
Синим и серым обозначены «участки» — места, где будут появляться здания​

В Enemy Unknown было всего два типа «планов»: городской и природный. В сиквеле авторы решили увеличить их количество до пяти: городских центров, природных ландшафтов, маленьких городов, посёлков и инопланетных фабрик.

Изначальные типы «планов»​
Изначальные типы «планов»​

Для «планов» и «участков» в Firaxis разработали ряд правил, которым те должны соответствовать.

Правила «планов»

  • У каждого типа «планов» должны быть уникальные визуальные особенности.
  • «Планы» должны подходить для любых миссий.
  • «Планы» должны поддерживать подкрепления противника, приходящие из-за границ уровня. Для этого на каждом из них через равные интервалы нужно расположить дороги, уходящие за пределы карты.
  • «Планы» должны поддерживать больших юнитов, занимающих по несколько клеток на сетке.

Правила «участков»

  • «Участки» делятся на три типа в зависимости от размера (12х12 клеток, 12х24 клетки и 24х24 клетки).
  • У «участков» есть иерархия — большой появится на «плане» раньше, чем два средних.
  • «Участки» поворачиваются в случайном направлении, когда размещаются на карте.

Первые уровни, созданные с помощью процедурной генерации, оказались слишком большими. Это сказывалось как на геймплее, так и на производительности.

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

В Firaxis решили использовать принципы «участков» на других областях «планов», которые не были зданиями. Эти области сохранялись как отдельные карты, на них менялось расположение укрытий и объектов, а затем они проходили процесс обработки командой художников. Так появились PCP — plot covered parcels.

«Кто-то заметил, что в игре нет ни одного туалета?»: процедурный левелдизайн в XCOM 2

В отличие от обычных участков, одни и те же PCP можно было многократно использовать на одной карте, потому что они были достаточно малы, чтобы игрок не заметил подвоха, если те не находятся рядом и не повёрнуты в одном направлении. Более того, PCP позволили Firaxis не быть зависимыми от расположения объектов на «планах», ведь там, где раньше могли быть только здания, теперь могут находится дорога или сквер.

У каждого «плана» есть свой набор PCP, каждый из которых разработчики могут создавать в считанные часы. При этом у всех PCP есть несколько вариаций, из которых система делает выбор при генерации уровня.

Со зданиями на первых этапах тоже не всё было гладко. Так, строения получались слишком маленькими. Система иерархии не работала, из-за чего на карте оказывались совершенно разные постройки, а сами уровни выглядели скорее как нагромождение ассетов. Кроме того, наблюдались и проблемы с ориентацией зданий — случались ситуации, когда вход в магазин располагался со стороны небольшого переулка, не улицы.

Для решения этих проблем в Firaxis задали каждому «участку» значения фасадов, ограничив тем самым возможности по вращению зданий. Аналогичным образом разработчики поступили и с подъездными дорогами. Это снизило вариативность на уровнях, а кроме того, жёсткие требования к «участкам» привели к тому, что для каждого их них находилось всего пара «планов».

Жёлтыми стрелками обозначены стороны, куда должен быть направлен фасад здания. Маленькие квадраты — подъездные дороги​
Жёлтыми стрелками обозначены стороны, куда должен быть направлен фасад здания. Маленькие квадраты — подъездные дороги​

Зонирование — это ещё один этап работы над «участками». Изначально здания на карте появлялись случайным образом. Хесс приводит в пример небольшой городок, в котором жилые дома располагаются по периферии. В центре же находятся торговые площадки.

Система процедурной генерации в XCOM 2 могла произвести жилой дом рядом с торговым центром, что выглядело странно. Задав зоны для размещения построек в Firaxis решили и эту проблему.

Все изменения, внесённые разработчиками в систему, позволили добиться того, что объекты располагаются на карте так же, как и в реальной жизни. Тем не менее ограничения, наложенные авторами, привели к тому, что вариативность «участков» на каждом плане снизилась. Разработчикам пришлось создавать больше зданий.

«Кто-то заметил, что в игре нет ни одного туалета?»: процедурный левелдизайн в XCOM 2

Инструменты

В Firaxis создали порядка 40 «участков» и около 130 PCP для базовой природной локации — леса умеренной зоны. Авторы планировали сделать столько же для двух других климатических зон: засушливой и тундры.

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

Климат на всех локациях в XCOM 2 изначально умеренный. Он переключается на лету, когда игре требуется иной биом.

Эта система смены ассетов позднее была расширена. С её помощью, например, разработчики смогли добавлять на локации гражданские автомобили разных цветов или размещать рекламные щиты с разными надписями, что также добавляло визуального разнообразия.

«Кто-то заметил, что в игре нет ни одного туалета?»: процедурный левелдизайн в XCOM 2

У Firaxis изначально не было специального инструмента для тестирования новых «участков». Команде QA приходилось раз за разом загружать уровень в надежде, что система сгенерирует нужное им здание.

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

Инструмент, помимо прочего, позволяет настраивать климат на карте, время суток, уровень сложности противников, выбирать тип миссии и так далее.

Сложности

Когда разработка была в полном разгаре, а кампанию уже можно было пройти от начала до конца, авторы обнаружили, что у тактических миссий не было «индивидуальности», все они ощущались одинаково. Причиной тому стал тот факт, что разработчики изначально не ограничивали типы заданий «планами».

Например, партизанские миссии могли происходить и в трущобах, и на природе. После внесения изменений, такие задания привязывались исключительно к маленьким городам.

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

«Кто-то заметил, что в игре нет ни одного туалета?»: процедурный левелдизайн в XCOM 2

В Enemy Unkown были особые миссии, которые двигали сюжет и сопровождались кат-сценами. В XCOM 2 авторы хотели сделать нечто подобное, но в условиях процедурной генерации попросту не могли этого добиться. К тому же, осознание необходимости таких заданий пришло лишь на поздних этапах разработки.

В Firaxis решили совместить процедурную генерацию и «ручной подход». Вместо того, чтобы создавать с нуля целые локации, разработчики сосредоточились на отдельных участках размером 32х32 клетки, которые и добавили в особо важные миссии вместе с кат-сценами.

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

Очевидным решением было бы добавить ещё один тип «плана», однако к каждому из уже существующих было привязано порядка 30 «участков» и 60 PCP, а у разработчиков не было достаточно времени, чтобы создавать новые карты.

В Firaxis всё-таки пошли на этот шаг, но сократили количество ассетов вдвое — так появились трущобы. Контента в них хватало ровно настолько, чтобы игрок не заметил повторов при однократном прохождении.

«Кто-то заметил, что в игре нет ни одного туалета?»: процедурный левелдизайн в XCOM 2

War of The Chosen

Когда XCOM 2 поступила в продажу, в ней было 80 «планов», которые поддерживались более чем 200 «участков» и 450 PCP. Разработчики с удивлением для себя обнаружили, что создали «слишком много контента», ведь даже при третьем прохождении некоторые встречали вещи, которые не видели прежде.

При работе над дополнением War of The Chosen авторы изучали отзывы игроков на оригинальную кампанию и обнаружили, что несмотря на визуальную разницу «планов», геймплейно они ощущаются примерно одинаково. Это было решено исправить в DLC, добавив новые типы миссий и «планов».

Одним из таких стал покинутый город. Он родился из идеи о том, что игроки в XCOM редко заходят внутрь зданий, ведь игра поощряет их, если они занимают высоты, забираются на крыши. При этом интерьеры, как уже было сказано ранее, — это самая трудозатратная часть разработки.

«Кто-то заметил, что в игре нет ни одного туалета?»: процедурный левелдизайн в XCOM 2

В Firaxis хотели заставить игроков сражаться внутри помещений и для этого создали особый тип «планов», на которых находятся высокие здания, до крыш которых невозможно добраться. Для этих целей в Firaxis создали особую технологию, которая генерировала большие строения любой формы из нескольких «участков».

Ещё одним новым «планом» стали туннели. Они состоят из стандартных «участков», а разнообразие достигается в основном при помощи PCP.

Крепости Избранных состоят из семи комнат каждая. Разработчики пришли к выводу, что будет достаточно создать 15 разных помещений размером 16х16 клеток и позволить системе процедурной генерации самостоятельно размещать их.

«Кто-то заметил, что в игре нет ни одного туалета?»: процедурный левелдизайн в XCOM 2

Хесс рассказывает, что во время работы над крепостями у него состоялся разговор с одним из художников по окружению. Последний сетовал на то, что в размещении комнат нет никакой логики.

Это подняло интересный вопрос: а нужен ли вообще смысл в размещении помещений? Я указывал на другие вольности и компромиссы, на которые мы пошли при работе над прочими «планами» в угоду геймплею. Кто-то заметил, что в XCOM нет ни одного туалета?

Брайан Хесс, ведущий дизайнер уровней в Firaxis Games

Новый биом, Xenoform, создавался по аналогии с тундрой и пустынями из оригинальной игры — система просто переделывала ассеты и карты леса умеренной зоны. Это открыло для разработчиков новые возможности в части процедурной генерации, так как новые эффекты вроде «инопланетного» освещения можно было применять к старым локациям.

Для того, чтобы повысить вариативность в War of the Chosen, разработчики добавили новые PCP к прежним картам. При этом все 80 «планов» пришлось несколько переделать — на это у Хесса ушла всего пара недель.

77 показов
11K11K открытий
32 комментария

Комментарий недоступен

Ответить

«Кто-то заметил, что в игре нет ни одного туалета?»

Конечно, ведь это главная проблема всех пошаговых стратегий!

Ответить

Если бы в XCOM были туалеты, персонажи бы постоянно по ним промахивались....

Ответить

Ну на самом деле наличие биосортиров на базе бивней в той же Division 2 было заметно и здорово работает на целостность мира.
Типа апокалипсис апокалипсисом, а про сральники забывать не надо.

Ответить

Вспоминается биотуалет из MGS V.  
Когда нашел аудиокассету с чьим-то "процессом сбрасывания баласта" и не знал, что с ней делать. 
Пока не спрятался от патруля в биотуалет и не включил ее. 
Охранник услышав звуки "процесса" - успокоился и ушел. 

Пример, что некоторые ГЕНИАЛЬНЫЕ ГЕЙМДИЗАЙНЕРЫ могут даже обычный биотуалет обыграть с геймплеем. 

Ответить

С бездонным бюджетом и не такое сделать можно, только вот...

Ответить