Звук в игре STALCRAFT (впечатления).

Сталкрафт: Minecraft + Сталкер.
Сталкрафт: Minecraft + Сталкер.

Продолжаю знакомиться с тем, как разработчики делают звук в разных играх. На этот раз обратил внимание на то, как это было сделано в игре Stalcraft. Стоит сказать, что Сталкрафтом занимается отечественная компания EXBO. Изначально это был просто мод к Minecraft, но потом проект вырос до масштаба отдельной игры, которую уже можно скачать в Steam и VK Play (сама игра бесплатная). К слову, я рекомендую использовать отдельный официальный лаунчер и воспользоваться промокодом какого-нибудь популярного ютубера: таким образом, вы получите улучшенное стартовое снаряжение.

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

Не удивляйтесь, что буду постоянно сравнивать звук с Escape From Tarkov. Да, игры разные, но для меня важно самому разобраться в том, как правильно и как неправильно делать звук, чтобы потом не повторять ошибок. А говорить тут есть о чём - тема для меня больная.

Оказалось удобно, что все звуковые файлы открыто лежат в папке игры в формате .OGG, ничего не нужно распаковывать (полагаю, что это хорошо и с точки зрения оптимизации игры). Что характерно, звуки выстрелов, что я успел посмотреть, записаны в стерео, с коротким хвостом реверберации (примерно в 2 секунды). То есть, простая дефолтная реверберация уже присутствует в сэмплах, но она универсальная: одинаковая для всего оружия. При этом используется довольно жёсткая схема лупинга, чтобы отрезать реверберацию при автоматической стрельбе. К тому же, система прокачки и заточки оружия подразумевает плавающую скорострельность, поэтому звуки выстрелов состоят именно из ваншотов. Вероятно, поэтому, выстрелы звучат так резко и неестественно - они так же резко отрубаются. В Таркове же, напротив, любой выстрел записан «как есть» с учётом всех реальных отражений, причём в разных условиях: в помещении (близко/на средней дистанции/далеко), на открытом пространстве (близко/на средней дистанции/далеко). В Таркове существуют сэмплы автоматической стрельбы, которые иногда криво звучат при стрельбе одиночными. Звуки в Таркове записаны в стерео формате WAV, что заставляет задуматься о том, рационально ли Тарков использует место на диске и ресурсы ПК?

Вообще, я удивился, что в Stalcraft выстрелы тоже сделаны в стерео. Ведь если не думать про выстрел от лица игрока (когда могут быть важны расположение оружия и его частей, обращение с органами управления оружием, звук падающей гильзы и выхлоп газов в определённые стороны), то не существует причин делать моно файлы стерео файлами. Я, конечно, не эксперт, но в документациях к Unity и Unigine написано, что если вы хотите подключить модуль HRTF для пространственного бинаурального звучания в наушниках, то в такие источники нужно подавать звук именно в МОНО. Мало того, как пишут в документации, во многих случаях, стерео дорожки будут принудительно переведены в моно, если попытаться повесить на них модуль 3D spatial (HRTF). И это логично, потому что довольно странно пытаться применить позиционку, завязанную на АЧХ и фазу, к сигналу, который сам уже заранее расставлен по стерео, причём игрок имеет возможность свободно перемещаться в игровом мире, а объект обычно стоит на одном месте (кстати, это одна из причин применять специальные эффекты сверхширокого расширения стереополя на принципах противофазы для стерео ambient фонов, но об этом - позже). Поправьте меня, если я не прав, потому что этот вопрос про стерео, HRTF и реверберации давно не даёт мне покоя. Не эффективнее ли будет использовать сэмплы в MONO, а реверберацию добавлять отдельным уже посылом на каналы (планы) реверберации, как если бы мы вешали реверберацию на отдельную шину? Таким образом, можно примерно в два раза снизить размер файлов (WAV) и при этом иметь возможность более гибко настраивать реверберацию пространств и помещений. Конечно, я имею в виду не симуляцию реверберационных лучей и отражений поверхностей в реальном времени, а добавление к сухому сигналу заготовленных на слепков реверберации на основе IR файлов. По крайней мере, если в изначальных файлах уже есть ощутимая реверберация, то добавлять её ещё раз для дальних выстрелов уже не так интересно, для этого, вероятно, нужен более сухой звук. Насколько я знаю, по такой схеме выполнен звук в DayZ (аудио движок от Arma 3) и SQUAD. В DayZ как раз далёкие выстрелы становятся совершенно размазанными, что существенно затрудняет их локализацию. Вообще, мне стоит получше разобраться с разными решениями, потому что я могу ошибаться.

В отличии от Escape From Tarkov, в STALCRAFT звуки выстрелов и окружения обработаны гораздо больше, они унифицированы и приведены к единому виду по уровням, АЧХ, атаке (динамике). Много используется лупинг, что позволяет снизить количество одновременно звучащих сэмплов и упростить звуковую картину (это про выстрелы, в основном). А звуки окружающего мира, наоборот, насыщены разными слоями: там есть атмосферный ambient, ветер, звуки деревьев, пение птиц, пролёт насекомых, дополнительные звуки локаций, звуки завывания ветра, воды, осыпающихся камней и отдалённые скриптованные ивенты с большим количеством зашитой реверберации. В этом смысле, ambient в Сталкрафте куда более живой и натуральный, чем просто стерео дорожка со сверчком в правом ухе. Подробнее об этом будет дальше, а пока хочу обратить внимание на голоса в игре.

Голоса персонажей и NPC

В основном, голоса персонажей записаны хорошо. Голоса бандитов занимают всего 60 мегабайт, зато какие там шедевры! А в Таркове озвучка Диких весит, насколько мне известно, около 300 мегабайт. Для примера, в Сталкрафте вообще все озвучки всех NPC занимают всего 260 мегабайт, с учётом всех фракций, NPC и озвученных квестовых сюжетов - а контента там много.

Про озвучку фракций:

Бандиты озвучены прекрасно. Существует два голоса бандитов и они сделаны просто супер! Да только ради такой бандитской озвучки и стоит поиграть в Сталкрафт. Тексты написаны очень характерно, прочитаны эмоционально и с огоньком, мастерски зачитаны в микрофон. Но и тут не обошлось без странностей: файлы голоса зачем-то сделаны в стерео, хотя SIDE составляющая там отсутствует (что логично). Ещё в фразе attack_10 слышен дефект в конце - кто-то нажимает кнопку.

Когда кричат бандиты, им веришь.
Когда кричат бандиты, им веришь.

Сталкеры озвучены нормально. Лично я не играл за сталкеров, поэтому как-то не углублялся в их голоса. По-моему, они нормальные.

А вот с наёмниками дела уже похуже: сам голос уже не такой яркий, начитано без особых ярких эмоций. Микрофон стоял слишком близко, поэтому слышно т.н. proximity effect, ещё из-за этого взрывные «П» и «Б» звучат слишком перегружено - это особенно заметно на пачке фраз «прикрывайте». В общем, сделано нормально, но после бандитских фраз совсем не впечатляет.

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

Как думаете, какая из этих фраз звучит более эмоционально? =)
Как думаете, какая из этих фраз звучит более эмоционально? =)

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

Долговцы звучат прикольно. Разве что некоторые фразы записаны как-будто в разных условиях или на разном расстоянии от микрофона. В теории, это можно было исправить через эквалайзер, или его хитрые версии, но в идеале бы сразу записывать все звуки в одной студии в одинаковых условиях и с одним инженером записи. Хотя, для игры, которая начиналась как простой мод от любителей сталкера для майнкрафта, всё сделано очень круто, особенно сюжетные квесты!

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

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

Разработчики применяли много приёмов саунд-дизайна для озвучивания разных аномалий и мутантов. Видны некоторые стандартные манипуляции со звуком животных (классика SFX). Применяются творческие эффекты, которые создают атмосферу ужаса, страха, неизвестности, неуверенности. Sound FX выполнен на очень качественном уровне.

Оказалось, что в игре ещё есть 14 анекдотов от Дмитрия Юрьевича Пучкова, выдернутые из разных видео. Правда, я пока не встречал этого контента в игре. Наверное, Дмитрий Юрьевич сидит где-то в секретном баре или типа того )

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

Многие эффекты, действительно, записаны в стерео, но иногда и сами эффекты сделаны в моно, а сохранены в стерео. Например, некоторые моно шаги или моно эффекты радара PDA:

Снова стерео файлы без SIDE составляющей. При Сталине такого не было!
Снова стерео файлы без SIDE составляющей. При Сталине такого не было!

Странно, что звук иногда закодирован с частотой дискретизации 48.000, а иногда в 44.100. Я, конечно, понимаю, что большая частота дискретизации позволяет точнее зафиксировать звук, но лично я не вижу смысла сейчас выставлять больше чем 44.100, 24 бит, если мы говорим о финальном материале. То есть, мне не ясно, зачем нужно делать стерео файлы с моно контентом и кодировать это в 48.000. Больше - не всегда лучше.

Для сравнения, в Таркове, насколько мне известно, файлы звука хранятся в формате WAV. Мы можем спорить на тему того, в каком формате лучше и эффективнее запихивать звук в игру, но вот вам наглядный пример: 1 час стерео звука в формате WAV 16 bit занимают 600 мегабайт, а такой же час стерео звука в формате OGG 128kbps будет занимать всего 60 мегабайт, то есть, в 10 раз меньше. И можно, конечно, сказать, что для воспроизведения сжатого звука процессору приходится поработать, но на мой взгляд, вариант, когда ты пытаешься заставить игровой движок одновременно воспроизводить порядка 50-60 стерео дорожек в формате WAV, нагнёт систему куда больше, чем такое же количество дорожек, но в сжатом формате. Это не говоря о том, что каждый раз все файлы нужно подсасывать с жёсткого диска/SSD в RAM, как-то обрабатывать фильтрами, регулировать параметры воспроизведения и всё такое. Вот уж, действительно, где потребуется очень быстрый CPU с невероятно быстрым кэшем и оперативной памятью, ага. К тому же, насколько мне известно, в Escape From Tarkov с недавнего времени разработчики стали ещё более плотно упаковывать файлы игры, чтобы их было невозможно вытащить и посмотреть обычными легальными способами (борьба с data-miners). Боюсь представить, как страдает комп, когда пытается в момент перестрелки одновременно распаковывать и подсасывать все прекрасные звуки в Таркове (вспоминаем, что звуки записаны в стерео WAV и разделяются на close/distant/far, помноженные на indoors/outdoors и помноженные на несколько рандомных вариантов звучания).

Но вернёмся к Stalcraft. Битрейт у файлов тоже встречается разный, но это скорее особенность кодека, там есть нюансы. Логично, что одиночный ваншот можно закодировать через VBR, чтобы не тратить лишний битрейт на длинный хвост, или длинный однообразный луп.

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

Смещение амплитуды, с которым можно бороться, а можно просто забить.
Смещение амплитуды, с которым можно бороться, а можно просто забить.

Некоторые записи как будто были обработаны НЧ фильтром, а другие - как будто нет. В целом, голоса были записаны в разное время и в разных условиях, там может быть вообще что угодно. И, вероятно, это не повод применять matching EQ или приборы динамической эквализации. В целом, в игре были голоса, которые мне не зашли, но это скорее относится к самим актёрам озвучки.

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

Нельзя не упомянуть звуки радио в игре. Там есть своя радиостанция «Гринд-FM», где ведущий Архонт Зуза ведёт эфир, разбавляя музыкальные произведения своими шутками и приветами. Сделано это по аналогии с радио из Fallout, где был яркий ведущий Тридогнайт. Так вот, разработчики смогли сделать прекрасный атмосферный контент с большим количеством музыкальных произведений разных жанров и весёлыми включениями ведущего. Я не раз усмехался тому, как старательно разработчики собирали приколы, чтобы потом вставить их в эфир. Стоит вообще сказать, что юмора в игре хватает: на протяжении прохождения всех квестов мне было занятно подмечать отсылки и локальные мемы - там очень много всего. Пересказать весь юмор невозможно, это нужно услышать самому!

Звуки выброса, как и положено, звучат с перегрузом. Там получается клиппинг как минимум за счёт true peak, а где-то видно срезанные верхушки. Хотя, это гром - ему и положено пугать нас неприятным грохотом. Наоборот, было бы странно, если бы он звучал нежно и вкрадчиво. Так и хочется накинуть не него плагин Loud от Airwindows, с его «симуляцией разрушения молекул воздуха». =)

Зафиксирован ВЫБРОС! ВСЕМ В УКРЫТИЕ!!!
Зафиксирован ВЫБРОС! ВСЕМ В УКРЫТИЕ!!!

Ambient в Stalcraft

Звуки эмбиента - моё почтение! После Таркова слушать окружение в Сталкрафте - одно удовольствие. Только вдумайтесь: в игре используется БОЛЕЕ ТЫСЯЧИ СЕМИСОТ (1700+) звуковых файлов для разных звуковых событий на локациях! И они периодически добавляются к звуку общего фона, погоды, звуков стрельбы и привязанных к местности звукам. Вот почему локации в Сталкрафте такие живые. Разработчики потратили огромное количество времени, чтобы всё это записать, отредактировать и настроить в игре. Для примера, разработчики добавили 16 вариантов длинных лупов со звуком листвы кроны деревьев, а к этому добавили ещё 137 вариаций лесных звуков, рандомно раздающихся от самого ствола дерева. Тут даже я офигел от такого количества вариаций! При этом, существуют отдельные звуки для птиц на высоте (26 вариаций), звуки для болота (ещё 16 лупов и 67 рандомных событий), звуки воды и ветра. Если сложить все варианты лупов с ветром, получится примерно 50 минут непрерывного разнообразного ветра в формате стерео, не считая коротких порывов ветра. Передаём привет Таркову с его скудным набором лупов, даже стыдно за Тарков становится. Вот уж где ребята не подкачали со звуковым дизайном!

Обилие звуковых событий в Stalcraft.
Обилие звуковых событий в Stalcraft.

Для ambient окружения в Stalcraft разработчики использовали схему принудительного стереорасширения, которая раздвигает каналы на 180 градусов за счёт противофазы, создавая сверхширокую звуковую картину, которая не позволяет локализовать звук в конкретное место, он ощущается как бы «везде сразу». Это очень грамотный приём, которым воспользовались разработчики для наполнения насыщенной звуковой картины. То есть, у нас в игре одновременно существует ambient слой с атмосферой, слой с ветром (включая случайные порывы ветра), слой со сверхшироким окружающим шумом, который размазывает всё, слой погоды, и на это всё ещё накладываются события, привязанные к конкретным местам локации и рандомные отдалённые события. За счёт всех этих приёмов мир Сталкрафта наполняется жизнью, его можно почувствовать и ощутить себя его частью, потому что при движении персонажа некоторые звуки перемещаются в пространстве вместе с поворотом головы. И это сделано настолько качественно и технологично, что у тебя не возникает утомления от звуков, всё собрано очень грамотно. Хочу научиться делать также, честно говоря.

Широкий ambient на принципах фазовых расширителей. Обратите внимание на коррелометр и гониометр.
Широкий ambient на принципах фазовых расширителей. Обратите внимание на коррелометр и гониометр.
Из данных файла можно узнать, что он был сделан в 2015 при помощи бесплатного конвертора OGG, а в записи принимал участие некий Власов (игровой персонаж).
Из данных файла можно узнать, что он был сделан в 2015 при помощи бесплатного конвертора OGG, а в записи принимал участие некий Власов (игровой персонаж).

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

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

Спасибо что дочитали до конца! С вами был dayzru.

#Stalcraft #звук #SoundDesign #ЗвуковойДизайн #Сталкрафт

416 views·1 share
416 views