Масштабные игровые города для мобильных устройств: опыт производства, оптимизации и миростроения
Богдан Вертелецкий, ведущий дизайнер мира с более чем 11-летним опытом разработки игр, рассказал о подходе, который он разработал и возглавил при создании масштабного открытого мира для мобильной многопользовательской игры, рассчитанной на поддержку более 1 миллиона активных пользователей. В интервью обсуждаются структура мира, распределение контента и системы оптимизации.
Богдан Вертелецкий специализируется на создании крупных городских сред для многопользовательских игр, работая на стыке дизайна мира, визуальной разработки и технических пайплайнов. В рамках этого проекта он принимал ключевые решения, касающиеся структуры мира, распределения контента и систем оптимизации, которые напрямую влияют на производительность и игровой опыт в большом масштабе.
Как вы пришли к дизайну миров?
Я работаю в игровой индустрии более 11 лет, сосредоточившись в основном на дизайне окружения и мира. Со временем я намеренно переключился на масштабные системы, где решения в области дизайна влияют не только на визуальную составляющую, но и на поведение игроков, производительность и масштабируемость. Мой опыт формировался на пересечении дизайна и технических ограничений. Я подхожу к миростроению как к системе, а не к набору ассетов – проектируя пространства, которые направляют навигацию игрока и формируют его опыт, особенно в многопользовательских средах, где поведение игроков непредсказуемо.
Какова была основная сложность при создании 20-километрового многопользовательского города для мобильных устройств?
Главная задача заключалась в создании системы, способной поддерживать тысячи игроков, одновременно перемещающихся по открытому миру, при этом оставаясь в рамках строгих мобильных ограничений по памяти и производительности. В отличие от однопользовательских игр, где движение игрока можно направлять, мне пришлось спроектировать мир, который естественным образом организует потоки игроков. Для этого я структурировал окружение вокруг четко определенных точек интереса. На раннем этапе было определено более 200 POI, включая предприятия, рабочие места, хабы и ключевые достопримечательности, что позволило установить функциональную логику города с самого начала и избежать хаотичного размещения контента в дальнейшем.
Как вы подошли к структурированию столь обширной среды?
Я разделил город на отдельные районы – центральный, промышленный, жилой и исторический – каждый со своей функциональной и визуальной идентичностью. Лично я определил:
Пространственную иерархию
Правила распределения контента
Плотность в различных районах
Это обеспечило читаемость окружения и предсказуемую навигацию, даже при высокой плотности игроков. На раннем этапе был создан полный блок-аут города для проверки масштаба, пропорций и восприятия игрока перед началом производства. Это позволило избежать дорогостоящих переработок позже. Кроме того, я намеренно увеличил ширину улиц и открытых пространств, что улучшило движение игроков и снизило трение, особенно в многопользовательских сценариях с высокой плотностью.
Как вы решали проблему стриминга в большом мире?
Стриминг был одной из ключевых систем, над которой я работал и которую оптимизировал в рамках проекта. Поскольку загрузка всего мира на мобильных устройствах была невозможна, я структурировал окружение с использованием встроенной системы стриминга Unreal Engine, организовав мир в сетку потоковых чанков. Каждый чанк содержал геометрию, реквизит и текстуры и загружался динамически в зависимости от положения игрока. В рамках этой системы я определил и реализовал правила для:
Загрузки только ближайших чанков
Предварительной загрузки соседних областей
Использования нескольких уровней детализации (LOD)
Это позволило минимизировать видимые провалы и поддерживать ощущение бесшовного мира. Кроме того, я установил строгие лимиты памяти для каждого чанка, включая ограничения на количество объектов, материалов и текстур, что обеспечивало стабильную производительность даже в густонаселенных городских районах.
Какие стратегии оптимизации вы использовали?
Я непосредственно работал над несколькими ключевыми областями оптимизации:
LOD и геометрия: Я реализовал многоуровневые системы LOD и тщательно настроил правила перехода, чтобы минимизировать визуальные артефакты. Для удаленных объектов я внедрил импосторы и билборды, сохраняя визуальную плотность при снижении затрат на рендеринг.
Оптимизация Draw Call: Я реализовал стратегии пакетной обработки и текстурных атласов, значительно сократив количество draw call и стабилизируя производительность. Я также использовал инстансирование для повторяющихся ассетов, таких как здания и инфраструктура.
Стандарты ассетов: Я участвовал в определении общепроизводственных рекомендаций, включая бюджеты полигонов, лимиты материалов и повторное использование шейдеров. Это обеспечило стабильную производительность по всему проекту.
Вы также внесли вклад в разработку пайплайна. Можете рассказать подробнее?
Да, разработка пайплайна была важной частью моего вклада. Я внедрил производственную систему, основанную на текстурах, полученных из фотографий, что позволило нам масштабироваться эффективно при сохранении визуального реализма. В рамках этой системы я:
Внес вклад в создание более 4000 ассетов
Помог построить справочную библиотеку, содержащую более 25000 реальных фотографий
Это значительно ускорило производственный процесс, сократило время подготовки ассетов и повысило визуальную согласованность на протяжении всего проекта.
Как вы структурировали производство окружения?
После проверки блок-аута я возглавил переход к полному производству. Я структурировал рабочий процесс в четкие этапы:
Ландшафт
Архитектура
Детализация окружения
Это позволило мне контролировать масштаб, ускорить производство и минимизировать ошибки на поздних этапах. Все производство строилось на основе блок-аута, что обеспечивало согласованность во всем мире.
Как вы подошли к материалам и текстурированию?
Я разработал масштабируемую систему материалов, оптимизированную для производительности. Мы использовали стандартный набор:
Base Color
Normal
ORM
Я максимизировал повторное использование за счет трим-листов, общих материалов и модульных текстур. Это значительно ускорило производство при сохранении визуальной согласованности.
Как вы решали проблему ограничений мобильных платформ?
Я определил и реализовал технические стандарты, специфичные для мобильных платформ. Они включали:
Лимиты разрешения текстур (обычно 1024×1024)
Сжатие ASTC
Агрессивное повторное использование текстур
Системы материалов на основе атласов
Эти решения позволили мне сбалансировать визуальное качество и производительность, обеспечив стабильный FPS даже в сложных сценах.
Как вы считаете, что необходимо для разработки масштабных многопользовательских игровых миров?
Для этого нужен системный подход.
Я рассматриваю создание, оптимизацию и производство игрового мира как единый процесс, где каждое решение влияет на его масштабируемость.
Чтобы сделать масштабные многопользовательские миры успешными, важно:
Тщательно продумать дизайн
Использовать предсказуемые системы
Строго соблюдать технические стандарты
Это обеспечивает гибкость и стабильность игровых сред.
Какие у вас планы на ближайшее будущее?
Я продолжаю работать над созданием масштабных игровых миров, опираясь на свой опыт в этой области.
Особое внимание я уделяю следующим направлениям:
Разработка многопользовательских пространств с высокой плотностью игроков
Создание масштабируемых производственных процессов
Более тесная интеграция проектных и технических решений
Также я активно изучаю, как можно внедрить искусственный интеллект в процессы разработки миров. Моя цель — найти новые подходы, которые объединяют процедурные системы, автоматизацию и ИИ-инструменты, чтобы значительно ускорить процесс создания масштабных виртуальных миров, не снижая при этом их качество и соответствие концепции.
Я вижу большие перспективы в переосмыслении методов создания сложных игровых миров, учитывая растущие технические требования и усложнение производственных процессов.
Рекомендуемые книги:
«Образ города» Кевин Линч
«Дизайн привычных вещей» Дон Норман



