Militsioner - Система шагов и звуки поверхностей

Йоу, это Дима из TallBoys. Я занимаюсь разными аспектами в разработке Милиционера, в том числе и звуком.

Демо звуков города из игры

Мы решили начать работу над звуковым дизайном как можно раньше. Такой подход позволяет в процессе экспериментировать и даже находить новые механики и идеи, которые мы вряд ли бы смогли сделать используя “немые” прототипы.

Система звуков поверхностей

Сейчас я занимаюсь настройкой звуков для системы шагов — это часть стелса в игре. Основная идея заключается в том, что разные поверхности издают разный уровень шума. Громкие шумы могут привлечь жителей близлежащих домов.

Мы вдохновлялись Thief: The Dark Project. Рекомендую попробовать, для 20-летней игры стелс ощущается даже более имерсивным, чем во многих современных тайтлах.

Thief: The Dark Project
Thief: The Dark Project

Например, шаги по металлу звучат громко и слышны на большем расстоянии, чем обычные шаги. Некоторые поверхности, наоборот, заглушают звук.

Следующим этапом мы планируем добавить взаимодействие с поверхностями не только игроку, но и объектам. Как идея — постелить ковер, чтобы незаметно подкрасться.

Скриншот города в игре (wip)<br />
Скриншот города в игре (wip)

Звучит интересно, но и не без вопросов, например мы сейчас не знаем какое свойство можно дать опавшей листве. С одной стороны, её можно сделать шумной, но есть обратное мнение: любая листва воспринимается как бесшумная поверхность. Скорее всего мы попробуем разные варианты на прототипах.

Если у вас есть другое мнение, нам было бы оно очень полезно, если вы им поделитесь в комментариях.

Как технически устроены шаги

Йоу-йоу, это Алексей из TallBoys. Я пишу систему шагов. Звуки шагов созданы в FMOD — это звуковой движок который мы используем. Мы программно изменяем параметры типа поверхностей и скорости игрока. Поверх Дима добавил косметические звуки, вроде шуршания ткани штанов или застежки на молнии. Было бы классно в будущем изменять звук в зависимости от инвентаря игрока, например в кармане могут звенеть подобранные ключи или мелочь.

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

Жители города

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

Анимации камеры

Бонусом я сделал синхронизацию качания камеры, чтобы анимация совпадала с шагом. Этот элемент требует полировки. Сейчас он работает через модуль Unreal Engine — camerashake. Но его очень сложно идеально синхронизировать. Это проявляется при игре на геймпаде, где скорость игрока изменяется плавно стиком, а сейчас это выглядит плохо из-за десинхронизации скорости и анимации качания. Мы думаем решить это через перенос качания из кода на анимации камеры, над которыми мы имеем больше контроля. Ну а так, перед нами стоит цель как можно ближе подобраться к качеству анимации Dishonored 2.. пожелайте нам удачи 💀

Демо анимации камеры через camerashake

Звуков для прыжка и приземления пока нет, поэтому мы вызываем обычный ивент шага.

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

Город

Йоу-йоу-йоу, Дима снова здесь. Чтобы адекватно оценивать разные звуки игры и примерно представлять как всё микшировать, я подготовил черновую версию эмбиента города. Сейчас он выглядит очень просто: несколько слоев шума реального города, интенсивность которых меняется от времени суток в игре.

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

Звуки города в FMOD

Из косметических деталей для 2д слоев эмбиента города я добавил небольшое панорамирование и обрезание частот в эквалайзере, для имитации объема. Эту идею я подсмотрел в примерах от FMOD.

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

Зоны реверберации

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

Пример разного звучания шагов в разных помещениях

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

Немного про звук поезда

Мы постоянно упарываемся на деталях поезда, это наше слабое место. Кстати, мы уже выпускали недавно ролик о том как он сделан технически:

Леша рассказывает про функционал поезда

Кстати, чтобы сэкономить время и понять, как все будет звучать, я часто набрасываю варианты звука, используя мои записи, сделанные в поездках на местных электричках.

В FMOD изменяется параметры скорости, нахождения игрока внутри или снаружи, а так же дистанции от источника звука.

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

Прибытие поезда

Сейчас нет звуков открывания дверей, тормозов и пр. из-за переработок кода поезда. Во время разработки всегда что-то ломается — мы привыкли 😿

Ну все, со звуками города вроде понятно, остался только 👮‍♂. Когда он говорит трясутся ли окна (трясутся) , дует ли ветер от его слов, срабатывают ли сигналки на машинах? Об этом мы расскажем в следующих девлогах.

Так же Милиционера всегда можно добавить в «вишлист» в Steam и найти нас почти во всех соцсетях, где мы постоянно делимся обновлениями - ищите @mytallboys

Ещё есть видеоверсия девлога, она немного другая. Ролик на английском, но доступны русские субтитры.

Девлог о системе шагов
5353
9 комментариев

графон балдежъ

5
Ответить

По шейдерам Half-Life Alyx напоминает

Ответить

Думал, он вышел давно уже. Вам надо скины для мента запилить. В форме омона, скин ввп и тд. Успех будет.

4
Ответить

А еще скин на женскую версию милиционера🌚

2
Ответить

Комментарий недоступен

1
Ответить

И лужи сильно хлюпают.
P.s. Сухая листва шуршит, а мокрая мягкая. Вы можете добавить и ту и ту (сухую для красоты и разнообразия на дорогах, а мокрую во дворах для стелса).

1
Ответить

Это все конечно круто, но когда релиз игры планируется?

1
Ответить