Как и зачем мы создаём карты нового поколения со случайными событиями

Режим «Разведка боем 2023» привнёс в игру случайные события на четырёх хорошо знакомых картах: «Химмельсдорф», «Руинберг», «Прохоровка» и «Старая гавань». Мы хотели дать игрокам больше тактических вариантов и новых сценариев боя, а также увеличить количество возможностей для импровизации в нестандартных ситуациях.

По завершении тестирования мы проанализировали почти 400 тысяч анкет. 86.8% участников опроса ответили, что им понравилось играть на картах со случайными событиями!

Мы добавим эти карты на следующий Общий тест, так что у всех желающих будет возможность опробовать их актуальные версии, прежде чем они попадут на основные сервера. А тем временем мы хотим рассказать, как мы их создавали.

Новая технология, новые карты

Вы можете задаться вопросом: почему случайные события добавлены только на четыре карты? Почему хотя бы не на половину всех боевых локаций? И почему мы финализируем их только сейчас, спустя полгода после завершения тестирования в «Разведке боем»?

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

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

 
 

Подготовка к тестированию

Мы начали готовиться к тестированию случайных событий в апреле 2023 года. Добавление динамических сценариев для большого количества карт требовало нового подхода к автоматизации, а также специальных инструментов для создания подобного контента. Но в то время у нас попросту не было технической возможности создавать подобные динамические сценарии. Поэтому мы остановились лишь на четырёх картах и нескольких событиях и настраивали их вручную для каждой локации.

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

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

Core Gameplay Framework: инновационная технология для создания игрового контента нового поколения

Чтобы решить эту задачу, мы внедрили в World of Tanks технологию Core Gameplay Framework (CGF). Это вариант системы компонентов сущностей (Entity Component System), одной из самых современных и популярных технологий в игровой индустрии.

Она уже в некотором виде присутствовала в игре, однако её функциональности и гибкости было явно недостаточно для полноценной разработки динамических событий. Нам пришлось значительно улучшить эту технологию и внедрить её в World of Tanks в совершенно новом формате.

О технологии CGF

Развернуть

До этого при создании контента мы могли взаимодействовать лишь с техникой. Технология CGF — своего рода конструктор, который позволяет наделять различные объекты (не технику) в пространстве игры собственными характеристиками и связями. Она позволяет менять и управлять свойствами и частями объектов. Соответственно, можно взаимодействовать с каждым объектом в рамках логики поведения, отличной от логики машин.

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

Свернуть

Новые инструменты

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

Благодаря этому объекты на картах (за исключением техники и статичных зданий) можно делить на части и задавать им уникальные особенности и траектории. Они подчиняются общим законам физики, влияют на окружение и действуют согласно той же физической логике, что и танки.

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

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

Шаг 1: выбор карты

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

  • вариативность игрового процесса;
  • тип карты (открытая, городская или смешанная).

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

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

Шаг 2: анализ потенциальных событий

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

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

Шаг 3: анализ тепловых карт и выбор зоны события

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

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

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

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

Наша конечная цель — основательно видоизменить игровую область. Так, чтобы у игроков появились привлекательные варианты и новые тактики.

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

Шаг 4: создание прототипа

После этого мы приступаем к созданию и тестированию прототипа. Их может быть несколько — в зависимости от того, какие игровые возможности и тактики предлагает конкретный сценарий. Для тестирования мы используем так называемые «серые ящики» — простые геометрические тела (кубы, сферы и т. п.), которые служат строительным материалом и могут имитировать любой объект.

После тестирования прототипа мы вносим финальные правки и начинаем добавлять к нему разные детали и объекты.

Шаг 5: выбор объектов и сценариев для случайного события.

На этом этапе мы определяемся со следующими особенностями:

  • Среда: земля, вода или воздух.
  • Активный объект: самолёт, дирижабль, поезд и т. д.
  • Цель: разрушаемый объект, с которым будет взаимодействовать активный объект, например здание, бункер, мост, причал и т. д.
  • Состояние объектов после разрушения. Важно понимать, какие части объектов останутся после разрушения, в каком количестве и где именно они будут находиться.
  • Место и траектория на карте с учётом видимости и ландшафта: игрок должен видеть ход случайного события с самого начала.

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

От разрушенного объекта может остаться один большой фрагмент или несколько средних. Все они могут развалиться на части с собственными траекториями.

Шаг 6 (последний): визуализация и финализация сценария

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

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

Готово! Потрясающая карта нового поколения с невероятным случайным событием создана! 

Что дальше?

В ближайшем будущем мы собираемся отправить на Общий тест четыре карты с доработанными случайными эффектами: «Химмельсдорф», «Руинберг», «Прохоровка» и «Старая гавань». Принимайте участие в тестировании и не забывайте делиться своими впечатлениями!

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

Обсудить в Discord

Закрыть