Звуковой дизайн в мультиплатформенной MMO: как уместить 35 голосов в один аудиомикс

Всем привет! Меня зовут Андрей Довгало, я ведущий саунд-дизайнер проекта Tanks Blitz.

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

Сегодня я поделюсь опытом, как мы выстраиваем аудиосоставляющую в Tanks Blitz — динамичном ММО-экшене в формате 7 на 7. Проработав на проекте три года, я не просто поддерживаю архитектуру, созданную в Wwise до меня, но и адаптирую её к стремительному развитию игры. В основе нашего подхода лежат три фундаментальных принципа.

Принцип 1: Сегментация SoundBanks с оглядкой на слабые устройства

Разрыв в мощностях между ПК и мобильным сегментом диктует необходимость раздельной генерации банков: отдельно для мобильных систем (iOS/Android) и отдельно для десктопа (Windows/macOS). При этом Android выступает нашим «минимальным порогом вхождения».

Лимиты по количеству голосов (voice instances):

  • Мобильные платформы: до 35 потоков.

  • ПК: до 128 потоков.

Выбор кодеков:

Мы оптимизируем аудиопотоки под архитектуру Android, используя два основных формата:

  • ADPCM — для быстрых и кратковременных событий, таких как UI-отклики, выстрелы и детонации.

  • Vorbis — для музыкальных тем и игрового контента на более мощных платформах.

Частоту дискретизации и битрейт мы подбираем индивидуально: например, для UI в ADPCM это часто 16–22 кГц, а для эффектов стрельбы — до 44 кГц.

Лайфхак: Несмотря на предвзятое отношение к ADPCM в Unity из-за возможных искажений, в Wwise этот кодек проявляет себя куда лучше, значительно снижая нагрузку на процессор. Тем не менее, уши — лучший инструмент: иногда даже простой звук начисления игровой валюты при 16 кГц звучит «грязно», и приходится повышать качество до 44 кГц ради чистоты восприятия.

Дополнительные инструменты оптимизации:

Стриминг: Аудиофрагменты длиннее 2 секунд подгружаются потоково, чтобы не занимать оперативную память. Исключение — звуки с высокой частотой повторения (например, лязг гусениц), где постоянное чтение с диска чревато просадками FPS.

Ограничение голосов (Kill Voice): Для каждого игрового объекта мы устанавливаем предел в 3–7 активных звуков. Это не критично для восприятия, но эффективно бережет ресурсы системы.

Принцип 2: Гранулярная загрузка банков

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

Что это дает:

  1. Эффективное распределение RAM: Звуки ангара не висят в памяти во время сражения и наоборот.

  2. Контроль над «весом» проекта: Мы всегда видим, какой именно банк увеличился в объеме после очередного апдейта.

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

Принцип 3: Разумная достаточность в производстве контента

Ежемесячный приток нового контента заставляет нас фильтровать идеи. Нужны ли здесь сложные вариации звука или хватит простой манипуляции параметрами в реальном времени?

Кейс: «Ледяные великаны»

Для новой механики подвижной брони нам пришлось бы готовить огромный массив сэмплов (8 танков × 2 состояния). Мы решили отказаться от обилия вариаций в пользу изменения параметров (питч/громкость) в рантайме. Учитывая кулдаун механики в 7 секунд, игроки не замечают «однообразия», зато мы значительно сэкономили память.

Кейс: «Модульный подход» к локациям

Вместо записи уникальных эмбиентов для каждой карты мы используем библиотеку универсальных слоев (ветер, фоновые шумы, техника). Сборка новой карты происходит как конструктор из этих элементов с добавлением 1–2 «фирменных» звуков. Это сохраняет атмосферность, не перегружая билд игры избыточными данными.

Итог: Оптимизация — это балансирование

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

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

 

Источник

Читайте также