Йоу, это Дима из TallBoys. Я занимаюсь разными аспектами в разработке Милиционера, в том числе и звуком в игре.
Мы решили начать работу над звуковым дизайном как можно раньше. Такой подход позволяет в процессе экспериментировать и даже находить новые механики и идеи, которые мы вряд ли бы смогли сделать используя “немые” прототипы.
Система звуков поверхностей
Сейчас я занимаюсь настройкой звуков для системы шагов - это часть стелса в игре. Основная идея заключается в том, что разные поверхности издают разный уровень шума. Громкие шумы могут привлечь жителей близлежащих домов.
Мы вдохновлялись Thief The Dark Project. Рекомендую попробовать, для 20-летней игры стелс ощущается более имерсивным, чем во многих современных тайтлах.
Например шаги по металлу звучат громко и слышны на большей растоянии, чем обычные шаги. Некоторые поверхности заглушают звук.
Следующим этапом мы планируем добавить взаимодействие с поверхностями не только игроку, но и объектам. Как идея, постелить ковер, чтобы незаметно подкрасться.
Звучит интересно, но и не без вопросов, например мы сейчас не знаем какое свойство можно дать опавшей листве. С одной стороны, её можно сделать шумной, но есть обратное мнение: любая листва воспринимается как бесшумная поверхность. Скорей всего мы попробуем разные варианты на прототипах.
Если у вас есть другое мнение, нам было бы оно очень полезно, если вы им поделитесь в комментариях, например под роликом.
Как технически устроены шаги
Йоу-йоу, это Алексей из TallBoys. Я пишу систему шагов. Звуки шагов созданы в FMOD - это наш звуковой движок. Мы программно изменяем параметры типа поверхностей и скорости игрока. Поверх Дима добавил косметические звуки, вроде шуршания ткани штанов или застежки на молнии. Было бы классно в будущем изменять звук в зависимости от инвентаря игрока, например в кармане может звенеть подобранные ключи или мелочь.
На мой взгляд система уже достаточно комплексная, но тем не менее идеальных вещей не существует и я постоянно её дорабатываю. Например недавно я вывел все параметры для разных поверхностей в отдельную таблицу, в которой можно удобно выставлять их радиус и громкость.
Сами шаги вызываются буквально под ногами игрока и имеют свою физическую репрезентацию, которую НПС и слышит в игре.
Анимации камеры
Бонусом я сделал синхронизацию качания камеры с шагами, чтобы анимация совпадала с шагом. Сейчас он работает через модуль Unreal Engine - camerashake. Но его очень сложно идеально синхронизировать. Это проявляется при игре на геймпаде, где скорость игрока изменяется плавно стиком, а сейчас это выглядит плохо из-за десинхронизации скорости и анимации качания. Мы думаем решить это через перенос качания из кода на анимации камеры, над которыми мы имеем больше контроля. Ну а так, перед нами стоит цель как можно ближе подобраться к качеству анимации Dishonored 2.. пожелайте нам удачи
Сейчас, в первую очередь, мы концентрируемся на игровом опыте, но иногда вкладываемся и в оформление, потому что визуал игры сильно меняет восприятие, особенно на тестах. Поэтому мы постоянно балансируем, между прототипной и красивой реализаций разных механик.
Город
Демо звуков города
Йоу-йоу-йоу, Дима снова здесь. Чтобы адекватно оценивать разные звуки игры и примерно представлять как всё микшировать, я подготовил черновую версию эмбиента города. Сейчас он выглядит очень просто: несколько слоев шума реального города, интенсивность которых меняется от времени суток в игре.
В идеале мы хотим приблизиться к такому варианту, в котором эмбиент собирается из внутриигровых событий, которые отражают игровую ситуацию. Например, сейчас в любой точке города игрок может услышать прибывающий поезд и скоординировать свои действия.
Звуки города в фмод
Из косметических деталей для 2д слоев эмбиента города я добавил небольшое панорамирование и обрезание частот в эквалайзере, для имитации объема. Эту идею я подсмотрел в примерах от FMOD.
В реальности звук обязательно имеет свой источник в пространстве. Меня всегда смущало статичное звучание эмбиента в играх при вращении камерой. Эта стоит дешево, но звучит дорого.
Зоны реверберации
Чтобы лучше вписать звуки в окружение используются зоны с разными характеристиками реверберации. Это такой набор параметров фильтра, пропуская через который звук приобретает нужных характер соответствующий помещению. Например в узких переулках, пустых помещениях появляется специфичное эхо.
Пример разного звучания шагов в разных помещениях. В некоторых местах может немного странно звучать, так как пока отсутствует roomtone - эмбиентный шум характерный для разных помещений.
Немного про звук поезда
Мы постоянно упарываемся на деталях поезда, это наше слабое место. Например мы уже выпускали недавно ролик о том как он сделан технически.
Я набрасываю варианты звука, нарезая записи сделанные в поездках на местных электричках.
В FMOD изменяется параметры скорости, нахождения игрока внутри или снаружи, а так же дистанции от источника звука.
Для поезда мы решили использовать два ивента: один более детальный с большим количеством параметров, когда игрок вблизи и второй - упрощенный, для оптимизации, когда игрок далеко. При удалении поезда мы плавно смешиваем эти два ивента.
Сейчас нет звуков открывания дверей, тормозов и пр. из-за переработок кода поезда. Во время разработки всегда что-то ломается - мы привыкли.
Ну все, с звуками города вроде понятно, остался только Милиционер. Когда он говорит трясутся ли окна (трясутся), дует ли ветер от его слов (Головой думай, конечно дует), но об этом мы расскажем в следующих девлогах