TG Telegram Group Link
Channel: Game Audio Evangelism
Back to Bottom
Всем привет! Мой верный товарищ Тёма Макеев запустил англоязычный блог, посвящённый технической стороне аудио в играх. В первом посте он рассказывает о полезных для нужд игрового саунд-дизайнера библиотеках для Python.
https://tyoma.io/python-for-game-audio-toolkit/
Рекомендую к прочтению!
Анонс: следующий пост будет о реализации систем автоматического оружия в играх. Различные методы имплементации, их плюсы и минусы, полезные советы.
Имплементация звуковой системы автоматического оружия в играх.

Всем привет!
Довольно часто возникают вопросы о реализации оружейных аудио систем в играх. Сегодня попробую немного раскрыть эту тему в первую очередь с технической точки зрения, так как доступных материалов по дизайну звуков «пушек» в сети довольно много, и не хотелось бы повторяться только ради увеличения объема статьи.:) Я постараюсь описать способы имплементации наиболее абстрактно, чтобы они были применимы к любому middleware/игровому движку.
Так что присаживайтесь поудобнее, желаю вам приятного и интересного прочтения! Как всегда задавайте вопросы/комментируйте в чате: https://hottg.com/game_audio_chat



Часть первая: Автомат делает «Трррррррррр».

Если с интеграцией одиночных выстрелов обычно не возникает никаких проблем, то как только необходимо имплементировать «очереди» или же burst-mode (чаще всего это короткие очереди по 3 патрона за раз), то начинаются сложности.
Давайте рассмотрим наиболее часто используемые подходы с их плюсами и минусами.



Полифоническая/монофоническая система.

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

Плюсы:

1. Наиболее простая имплементация как с точки зрения звука, так и с точки зрения кода.
2. Не нужно создавать отдельные наборы звуков для одиночных выстрелов и автоматической стрельбы.
3. Если в процессе разработки было решено поменять скорострельность оружия в разумных пределах, не требуется менять аудио ассеты.
4. Изменение скорострельность оружия не вызывает изменения высоты тона выстрелов.
5. При ограничении полифонии система может использовать небольшое количество голосов и соответственно CPU.

Минусы:

1. Зависимость от фреймрейта. Так как вызов звукового ивента завязан на визуальный эффект/апдейт скрипта, при плавающей частоте кадров/микрофризах мы получаем неконсистентный звук. Это очень сильно влияет на геймплей и ощущение от стрельбы.
2. Данный метод не подходит для реализации оружия с высокой скорострельностью и воссоздания реалистичного значения RPM, так как частота выстрелов всегда будет так или иначе зависеть от «сетки» фреймрейта.
3. При сильных ограничениях полифонии, автоматическая стрельба начинает звучать очень отрывисто и плоско.
4. При многослойных системах полифония умножается на количество слоев и может занимать 6-8 голосов/каналов на постоянной основе. Что ведёт к возрастанию нагрузки на CPU.
Система на основе зацикленных звуков:

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

Плюсы:

1. Максимальная простота имплементации.
2. Независимость от фреймрейта, так как игровая механика присылает только два события - запуск ивента в начале стрельбы и остановка в конце, а ритм создаётся непосредственно внутри лупа.
3. Наиболее дешевый с точки зрения CPU метод, так как в один момент времени проигрывается только один звук.
4. Есть возможность получить очень аутентичный звук оружия, с натурально плавающей скорострельностью, различными естественными призвуками механики и т.п.
5. Отличное решение для пушек со скорострельностью > 2000 выстрелов в минуту: различных вариаций Gatling gun/пулеметов/футуристических smg.

Минусы:

1. Требуются отдельные наборы звуков для одиночных выстрелов и автоматической стрельбы. Соответственно увеличивается время на производство ассетов. Это не совсем минус, сколько особенность, которую нужно учитывать, особенно в условиях сжатых сроков.
2. При любом малейшем изменении скорострельность оружия в игре необходимо переделывать луп, так как синхронность пропадет. Так как в процессе разработки скорострельность постоянно настраивается для лучшего «ганплея» и общего баланса игры, заниматься пересборкой лупов придётся постоянно. Без пересборки изменение скорости приведёт к понижению/повышению тона, что звучит странно и нереалистично.
3. При одиночных выстрелах звук становится невыразительным, так как реалистичный луп уже содержит послезвучие от предыдущих выстрелов, из-за чего смазывается атака и «punch». Это может быть крайне критично для соревновательных игр где решает время реакции и отклик от действия крайне важен. В некоторых случаях, чтобы этого избежать делают комбинированную систему, где первые 2 выстрела воспроизводятся по принципу Полифонической системы, после чего включается зацикленной луп. Однако стоит учитывать заранее, что это уже довольно сложная система, которая требует большого количества технической поддержки со стороны программистов и индивидуального тюнинга для каждого отдельного оружия. Более «дешевым» методом можно считать настройку огибающей громкости и фильтров в middleware, таким образом, чтобы на слух немного более ярче и «острее» выделялся первый выстрел.
4. Хороший луп/набор лупов требует скрупулезной подготовки. Если луп будет слишком коротким, то стрельба будет звучать слишком репетативно, если же слишком длинным, то будет требоваться внушительное количество оперативной памяти для его проигрывания. Для борьбы с репетативностью часто применяется техника, при которой оригинальный аудиофайл размечтается маркерами по транзиентам выстрелов и проигрывание каждый раз начинается со случайного выстрела. Этот приём позволяет немного разнообразить звучание, если игрок часто стреляет короткими очередями.
Гранулярная система:

Наиболее сложная в реализации, но при этом обладающая самыми богатыми возможностями по настройке система. Требует подготовленных определенным образом исходных файлов и механизма воспроизведения гранул максимально независимым от фреймрейта образом. Система воспроизведения может быть реализована как внутри middleware (без поддержки со стороны кода), так и быть выполнена в виде отдельного плагина (для добавления дополнительных функций и большей оптимизации с точки зрения использования ресурсов).
В качестве исходных файлов может выступать как размеченные маркерами аудиофайлы, содержащие набор начальных выстрелов, несколько вариаций зацикленных лупов и отдельных хвостов, так и предварительно нарезанные индивидуальные «гранулы». Простейшая реализация подобной системы с заранее подготовленными гранулами показана в данном видео от Tom Write: https://youtu.be/-Cw36iIGfns
В качестве системы воспроизведения используются встроенные возможности WWise.

Плюсы:

1. Возможность изменения скорости стрельбы в разумных пределах без изменения высоты тона.
2. Максимальная гибкость с точки зрения управления звуком, так как любые эффекты могут быть применены к отдельным гранулам. К примеру в случае с магазином, заполненным в рандомном порядке обычными боеприпасами в перемешку с трассирующими, для трассирующих можно иметь отдельный «свистящий» звук. Или же если игра в фантастическом сеттинге, то каждая последующая пуля может иметь слышимый огненный, кислотный или замораживающий заряд.
3. Механизм воспроизведения гранул обновляется в отдельном потоке и не зависит от частоты кадров в игре.
4. Система способна покрыть все возможные сценарии стрельбы: одиночные выстрелы, burst-fire, очереди, переменную скорость стрельбы и т.д.
5. В случае с отдельным плагином можно очень сильно оптимизировать использование ресурсов и благодаря софтварному микшированию добиться того, что любое оружие вне зависимости от количества слоев и элементов всегда будет занимать один физический голос/канал в middleware. При этом не придётся заниматься организацией и поддержкой сложной иерархии звуковых контейнеров.

Минусы:

1. Крайне сложная имплементация и по сути разработка отдельной полноценной подсистемы. Что требует серьезного взаимодействия с отделом программистов, большого бюджета, доступных ресурсов и хорошо продуманного дизайна системы как с точки зрения возможностей, так и юзабилити.
2. Помимо дизайна ассетов, требуется дополнительная подготовка исходных файлов, что сказывается на времени производства.
3. Если нет возможности разрабатывать плагин, требуется организация довольно сложной системы звуковых контейнеров в middleware, настройка приоритетов и тюнинг параметров.


Продолжение в следующей части, где поговорим немного о том, как оружейные системы помогают геймплею, чтобы в спорах о сроках разработки аудио у вас было больше весомых аргументов. :)
Разработчики из Riot Games делятся секретами создания аудио для League of Legends. Совершенно потрясающий и невероятно вдохновляющий материал от настоящих профессионалов своего дела. Первая и вторая части уже доступны на официальном YouTube канале. Рекомендую всем, огромный заряд творческой энергии гарантирован! Плюс во второй части подробно рассматриваются довольно интересные техники создания звуков магии. Желаю всем приятного просмотра!👾

Часть первая: https://youtube.com/playlist?list=PL42m9XiTqPHKW90-FbYEgmPx-irXKOeBf

Часть вторая: https://youtube.com/playlist?list=PL42m9XiTqPHLtmAsYaBqLoGd2a9TxKZgp

P.S. Продолжение статьи об автоматическом оружии совсем скоро, запаситесь пожалуйста терпением. 🙏
Замечательная статья о звуке и музыке в анимационном сериале Arcane от Riot Games и Fortiche Productions. 👾
ВНИМАНИЕ: Статья содержит минорные спойлеры к сериалу, если ещё не успели ознакомиться, то настоятельно рекомендую к просмотру перед прочтением.
https://www.asoundeffect.com/arcane-sound/
Поздравляю всех подписчиков с Наступающим(или уже Наступившим, как у нас тут) Новым Годом! Хорошего всем звука и интереснейших проектов! Спасибо вам, что остаетесь подписанными на данный канал, несмотря на долгое отсутствие активности. Много различных событий произошло в уходящем году, что несколько повлияло на количество свободного времени и мою продуктивность. Однако обещаю исправиться в 2022 и регулярно писать новые материалы по интерактивному аудио. Вторая часть материала про оружие переросла в полноценную статью об интерактивных звуковых системах в многопользовательских играх, планирую закончить и опубликовать её в январе 2022 года. Еще раз всем огромное спасибо за вашу поддержку и участие! Ура! 🎄
В дополнение к предыдущей статье, на канале SoundWorks Collection вышло большое интервью с аудио-командой анимационного сериала Arcane. Желаю всем приятного просмотра!
https://youtu.be/3XBii3kt3q0
Jedsound_Animal_Vocal_Synth_Paper.pdf
398.7 KB
Аудио-директор Amazon Games Jean-Edouard Miclot поделился экспериментами с синтезом вокального тракта различных существ при помощи Kyma. Примеры можно послушать по ссылке:
https://soundcloud.com/jean-edouard/animal-vocal-synth

При создании данного инструмента он вдохновлялся наработками Paul Weir для No Man's Sky( https://www.gdcvault.com/play/1024067/The-Sound-of-No-Man ), а также плагином Fauna от XOXOS ( https://www.kvraudio.com/product/fauna-by-xoxos ).
Отличный список бесплатных/платных плагинов для саунд-дизайна от Nick von Kaenel (создатель скриптов для Reaper “nvk tools" и Lead Sound Designer в компании Respawn Entertainment). https://twitter.com/nickvonkaenel/status/1566243443709333505
https://youtu.be/dYkklATUIn4 сотрудники R&D департамента компании Electronic Arts делятся исследованием в области использования нейронных сетей для генерации звуковых вариаций на основе имеющихся сэмплов. На мой взгляд это наиболее интересная и перспективная область для исследования, так как нейросеть используется сугубо для оптимизации рутинных процессов. Ссылка на полный документ тут: https://ojs.aaai.org/index.php/AIIDE/article/view/21941/21710
В связи с тем, что плагины Waves ПОЛНОСТЬЮ переходят на подписочную модель, коммьюнити звукорежиссеров и саунд-дизайнеров составляет интерактивный документ с альтернативными инструментами, способными заменить каждый индивидуальный плагин от Waves. Данный документ частично доступен для редактирования, поэтому не стесняйтесь предлагать свои альтернативы. https://docs.google.com/spreadsheets/d/1--yRZdWro_d28LmYNvaWsVct7CR6Y_KAULFU8wZ4SEI/

#audiotools #audioplugins
Интересен ли формат стрима
Anonymous Quiz
85%
Да!
15%
Нет!
Game Audio Evangelism
Интересен ли формат стрима
Всем привет! Настало время немного оживить канал и в связи с этим появилась идея провести небольшой стрим разговорного формата в этом месяце. Прошу всех принять участие в опросе выше, если идея найдет отклик в сообществе, то позже опубликую документ в котором каждый желающий сможет задать вопрос, возьму небольшое время на подготовку и будем определяться с датой и удобной для всех площадкой. Заранее благодарю всех и каждого!
Всем привет и спасибо за участие в опросе! Стриму - быть!
Прикрепляю ниже форму для вопросов и интересующих тем, чтобы я мог немного подготовиться к трансляции и дать развёрнутые ответы на все вопросы.
Форма анонимная, поэтому не стресняйтесь! Пусть повисит тут несколько дней, а там уже можно будет определиться с датой и временем проведения стрима.
https://forms.gle/tQnD1PE8XEVNbHbz7
Всем привет! Планирую провести пробный стрим завтра, 02 июля в 19:00 по местному времени(часовой пояс GMT +8:00). Вопросов прислали очень много, постараюсь ответить на все, но если затянется, то разделю на 2 стрима(а может быть сделаем это регулярной рубрикой). Стрим будет на Youtube канале https://youtube.com/@GameAudioEvangelism
Запись будет доступна там же.
Еще раз всем спасибо за активное участие в опросе и увидимся завтра!
Напоминаю, что стрим начнётся через 10 минут на канале https://youtube.com/@GameAudioEvangelism
Огромное спасибо всем присутствовавшим на стриме! Для тех кто пропустил - запись уже доступна на канале. Таймкоды ответов добавлю чуть позже. https://youtube.com/@GameAudioEvangelism
HTML Embed Code:
2024/06/15 11:23:44
Back to Top