Skills Up School

Нажмите ESC для закрытия

Интервью9 мая 2026 г.

Интервью.

Разработчики из Dead as Disco рассказывают о своей специальной системе изменения ритма, разбиении на BPM, синхронизации анимации и о технических сложностях создания ритм-битвы на основе музыки, созданной пользователями.

−85%

Весенняя распродажа

Цены 2020 года

КурсыВидеоуроки
Ещё →
Интервью.

Создание ритм-экшен игры на основе тщательно подобранного саундтрека уже представляет собой серьёзную техническую задачу. Создание такой игры на основе музыки, загруженной игроками, вводит совершенно иной уровень сложности. В этом и заключается основная идея Dead as Disco, недавно выпущенной (в раннем доступе) музыкальной экшен-игры, которая позволяет игрокам использовать свои собственные песни в бою, сохраняя при этом чётко синхронизированный геймплей, анимацию и поведение врагов.

Вместо того чтобы полагаться исключительно на традиционное обнаружение бита, команда Brain Jar Games разработала специальную систему под названием BeatWarping, которая динамически настраивает воспроизведение анимации для согласования значимых моментов с музыкой в реальном времени.

Чтобы узнать об этом больше, мы поговорили с несколькими членами команды разработчиков.

Interview: - изображение 1

Dead as Disco позволяет игрокам использовать свою музыку, сохраняя при этом чёткую синхронизацию с игровым процессом. На высоком уровне, как ваша система достигает этого?

Милчо Милчев, старший инженер по игровому процессу: Большая часть игрового процесса синхронизирует действия (анимацию, SFX, визуальные эффекты, атаки врагов) с битом. Мы просим игрока ввести BPM (удары в минуту) для своей песни и предоставляем им инструменты, помогающие определить этот BPM. В будущем мы надеемся добавить функцию автоматического определения BPM.

Джон МакЭвой, технический директор: Получив BPM, мы имеем несколько способов синхронизации действий (включая окружение и поведение врагов), но самый интересный из них — это то, как мы согласовываем нашу анимацию с музыкой. 

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

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

Interview: - изображение 2

Каковы основные технические сложности при попытке синхронизировать игровые системы с пользовательскими треками, которые вы не контролируете?

Милчо: Игроки любят почти сразу доводить системы до крайности. Многие игроки устанавливают темп как можно выше — выше 200, иногда до 666 (это 10 базовых атак в секунду). Мы разработали многие из наших систем так, чтобы они хорошо работали при BPM около 180, но быстро поняли, что нам нужно поддерживать более экстремальные скорости для экспериментов игроков. 

Как вы справляетесь с треками с непостоянным ритмом, изменениями темпа или более атмосферными структурами, где чёткий бит не всегда присутствует?

Дестини Трептау, инженер-программист: Мы справляемся с этим с помощью так называемых секций BPM. Это позволяет пользователю разместить бит именно там, где он хочет в песне, и изменить BPM. Затем мы рассчитываем бит от начала секции до тех пор, пока не достигнем другой секции или конца песни. Это позволяет пользователям изменять биты песни сколько угодно. С самого начала работы над секцией пользователь может даже вручную настроить каждый бит песни, если захочет.

Interview: - изображение 3

С точки зрения игрового дизайна, как вы обеспечиваете, чтобы действия оставались отзывчивыми и удовлетворительными, даже если анализ музыки не является идеально точным?

Милчо: В рамках нашей настройки BeatWarping мы аннотируем каждую анимацию в нашей игре разделами, которые можно растягивать или сжимать. У каждого раздела есть настройки для синхронизации с музыкой, включая шаблоны битов, для которых он действителен.

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

Interview: - изображение 4

Милчо: Этот регион анимации длительностью 0,7 секунды должен смотреть вперёд и выбрать 1-й бит с этого момента и растянуть так, чтобы его конец совпал с этим битом.

После синхронизации воспроизведения анимации SFX и VFX накладываются на неё естественным образом.

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

Когда мы впервые обдумывали идею, которая стала Dead as Disco, одной из наших проблем в отношении ритм-игр в целом было то, насколько они жёсткие, если ввод игрока не соответствовал музыке. Большинство ритм-игр будут ждать, пока не наступит следующий подходящий момент, чтобы начать анимацию, поэтому возникает ощущение задержки ввода, если вы не нажимаете кнопку в такт. С BeatWarping мы можем начать анимацию немедленно — Чарли всегда готов к действию и всегда двигается в такт музыке.

Игроки по-прежнему получают вознаграждение за нажатия в такт с более высокими баллами, более эффективными атаками и специальными анимациями и эффектами, но в Charlie Disco всегда приятно играть, независимо от того, насколько плохо вы рассчитываете время.

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

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

Interview: - изображение 5

Милчо: Unreal обрабатывает анимацию, а наша технология BeatWarping управляет установкой правильной скорости воспроизведения анимации и запуском боевых событий (например, удар нанесён сейчас).

Джон: У нас есть внутренний инструмент, который мы называем SongCrafter, который позволяет нам добавлять дорожки данных ко всей нашей музыке в сюжетном режиме. Используя эти дорожки данных, мы можем делать более сложные вещи, такие как синхронизация движений, изменение освещения и появление врагов в такт музыке.

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

Interview: - изображение 6

Были ли какие-нибудь неожиданные открытия или прорывы при разработке этой системы?

Милчо: У нас есть эта технология, которую мы внутренне называем «Синхронизация движений». Это крутые моменты песни, которые мы хотим сопоставить с крутыми анимациями. Здесь вы увидите, как появляется этот символ:

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

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

  • В какой момент враги должны начать атаковать вас, чтобы их атака пришлась на начало синхронизации
  • Кто должен атаковать, чтобы у вас был лучший шанс контратаковать
  • Как мы вписываем анимации, которые мы сделали, в аннотированные маркеры на песне

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

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

Interview: - изображение 7

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

Милчо: Используйте инструменты, которые вы собираетесь использовать для создания своего контента. Это лучший способ гарантировать, что ваши инструменты имеют правильные функции, оптимизированы и хорошо работают. Visual Studio гораздо реже сбоит, чем Photoshop, не просто так.

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

Дестини: Для пользовательского контента не бойтесь давать пользователям как можно больше контроля. У вас всегда должен быть простой вариант для игроков, которые просто хотят играть в свою игру под свою песню. Но для игроков, которые хотят погрузиться глубже, им нужно предоставить инструменты для создания именно того, что они хотят, даже если это выходит за рамки нашего дизайна. Пользовательский контент — это всё о творчестве, и мы никогда не должны ограничивать его.

Interview: - изображение 8

Brain Jar Games, Студия разработки игр

Интервью проведено 

Дэвидом Ягнео

Автор: Brain Jar Games