Горизонтальное ресеквенцирование
В музыкальной игре, которую приписывают Моцарту, композиции разбиты на отдельные такты, которым присвоены номера. Бросая кубик, игрок получает число, которое и определяет, какой сегмент будет следующим в композиции. Моцарт сочинил фрагменты так, чтобы ими можно было жонглировать, составляя почти бесконечное число комбинаций. Эта игра, по сути, представляет собой низкотехнологичную, но математически сложную демонстрацию метода горизонтального ресеквенцирования.
В музыке мы мысленно представляем абстрактную концепцию времени как горизонтальную прямую, неумолимо движущуюся слева направо (подобно нотам на нотном стане). Аналогично большинство программ для редактирования звука визуально представляют звук в виде волны, движущейся горизонтально слева направо. Основная идея горизонтального ресеквенцирования в том, что при соблюдении определенных правил структуру композиции можно изменять. Этот процесс происходит во время того, как музыка продолжает двигаться вперед по горизонтальной оси времени, обеспечивая непрерывную, свободную трансформацию звука.
Горизонтальное ресеквенцирование применяют как в рендереной, так и в нерендереной музыке (в этом случае компоненты хранятся в бандле, а не в едином аудиофайле). Но эта интерактивная модель особенно удобна для рендеринга, поскольку решает некоторые проблемы, связанные со сведением партий инструментов в единый файл. При горизонтальном ресеквенцировании трек строится как набор сегментов, каждый из которых представляет собой отдельный фрагмент общей композиции. Продолжительность этих сегментов может варьироваться от нескольких до большого числа тактов. Каждый сегмент может содержать цифровые маркеры, которые указывают удобные и логичные точки, в которых игровой движок может переключаться между компонентами коллекции. Эти маркеры могут располагаться на каждом отдельном такте, в начале каждого такта или в определенных точках композиции, где можно переключиться на другой музыкальный сегмент.
Давайте рассмотрим несколько реальных примеров применения этого метода на практике:
• Горизонтальное ресеквенцирование в действии: Speed Racer
• Горизонтальное ресеквенцирование в действии: Tron 2.0
• Горизонтальное ресеквенцирование в QTE
Сначала я опишу основу метода на примере саундтрека к игре Speed Racer. Здесь используются всего два файла, что делает пример довольно простым для понимания.
Горизонтальное ресеквенцирование в действии: Speed Racer
Игра Speed Racer состоит из скоростных гонок по красочным футуристическим трассам. В рамках игрового процесса можно перейти в специальный режим «zone mode», в котором автомобили становятся еще быстрее и временно получают неуязвимость. Мы с продюсером решили, что для этого режима нужна особенная музыка. Игроки могут перейти в него в любой момент, поэтому музыка должна подходить к любому заезду.
Рис. 11.2. Гоночная тема Speed Racer может в любой момент плавно перейти в тему особого режима
Режим «zone mode» длится не более 15 секунд, после чего гонка возвращается в обычный режим. Если стандартная гоночная тема внезапно сменится на 15 секунд другим треком, результат будет сбивать с толку. Чтобы решить эту проблему, мы разработали план, в котором каждому треку гоночной музыки соответствовал свой трек особого режима. Музыка для «zone mode» звучала как гипертрофированная версия «обычной» темы. Этот трек запускается сразу же при переходе в режим, начиная точно с сильной доли такта, чтобы переход между основной и особой темой был плавным. Примерно через 15 секунд особый трек завершался парой ударов бас-барабана, а затем включалась обычная музыка, не пропуская ни такта. Чтобы вся эта система сработала, каждая тема «zone mode» должна была звучать точно в ритм основной гоночной мелодии.
В этом примере мы переключались между двумя взаимозаменяемыми сегментами. В полномасштабной модели горизонтального ресеквенцирования для одной дорожки интерактивной музыки может потребоваться множество аудиофайлов.
Горизонтальное ресеквенцирование в действии: Tron 2.0
В видеоигре Tron 2.0 от Buena Vista Interactive модель горизонтального ресеквенцирования имеет гораздо более сложный дизайн. Действие Tron 2.0 происходит в светящемся неоновом мире, который полностью существует внутри компьютерной сети. Здесь компьютерные программы являются разумными существами, а видеоигры – жестокими аренами, на которых программы сражаются друг с другом насмерть. Композитор Натан Григг создал для Tron 2.0 особую звуковую палитру: смешал электронные и оркестровые инструменты, чтобы воссоздать высокотехнологичную эпическую среду.
Используя рендеринг в формате WAV, саундтрек разбили на пучки звуковых сегментов, каждый из которых охватывал всего несколько тактов. В сегментах также были краткие вступления, перекрывавшие любой предыдущий фрагмент, и краткие заключения для слияния с последующим сегментом. Все это обеспечило плавные переходы и позволило музыке быстро реагировать на изменения игрового процесса. Внезапное появление врагов может изменить музыку с низкого пульсирующего ритма на более настойчивый энергичный паттерн, сохраняя при этом впечатление единой музыкальной композиции.
Хотя техника интерактивной музыки в Tron 2.0 намного сложнее простого метода из Speed Racer, это, безусловно, не вершина сложности горизонтального ресеквенцирования. Теперь давайте рассмотрим еще более сложную ситуацию, связанную с боевкой на основе QTE.
Горизонтальное ресеквенцирование в Quick Time Events
Давайте вспомним, что Quick Time Events (QTE) требуют от игрока нажимать кнопки в определенном порядке. Во время QTE «основная» игра ненадолго приостанавливается, а продолжение процесса зависит от того, насколько успешно игрок справился с комбинацией клавиш. Если мы планируем работать в формате горизонтального ресеквенцирования, заставляя музыку реагировать на каждый этап QTE, может понадобиться обширная коллекция музыкальных файлов.
Допустим, данное QTE игроки начинают в обычном боевом режиме, сражаясь со сложным персонажем (например, мини-боссом). Когда персонаж получит достаточно урона, игрок вступает в первое QTE. Действие основной боевой механики приостанавливается как раз в тот момент, когда персонаж игрока собирается взять врага в захват и прикончить его. Успешное завершение QTE вызовет анимацию, показывающую, как персонаж игрока проводит захват, нанося врагу огромный урон. В случае неудачи мини-босс нанесет сокрушительный ответный удар, в результате чего персонаж игрока отлетит назад. Затем обычный бой снова продолжается до тех пор, пока не будет нанесено достаточно урона, чтобы запустилось второе QTE, которое будет разворачиваться аналогичным образом (но с другими анимациями персонажей).
Чтобы добиться нужного эффекта с помощью метода горизонтального ресеквенцирования, начнем с создания короткого музыкального вступления на несколько тактов, которое обеспечит комфортный переход от обычного игрового процесса к бою. Этот вводный сегмент плавно перейдет в боевую петлю, рассчитанную на неопределенную продолжительность. Это нужно, чтобы игроки запустили первое QTE. В нашем примере первое QTE запускается, когда игроки наносят мини-боссу определенный минимальный урон. Когда это происходит, игра ожидает следующего доступного маркера в цикле боя (которым отмечены желаемые точки перехода к другому сегменту) и переключается на первый цикл QTE.
Во время звучания этого лупа игрокам предлагается нажать последовательность кнопок. Как только пользователь заканчивает ввод, игра оценивает его правильность и скорость. При положительном результате звучащий цикл QTE будет ждать следующего маркера перехода, а затем плавно переключится на «успешный» трек, который сопроводит победную анимацию (персонаж игрока успешно атакует мини-босса). В противном случае игроки услышат трек «неудачи», наблюдая за тем, как их персонажи унизительно летают по экрану. Эти «неудачливые» игроки затем вернутся к предыдущему циклу боя и начнут процесс заново.
Игроки, успешно завершившие QTE, услышат новый музыкальный цикл по мере продвижения к эскалации боя. Эта новая петля звучит до тех пор, пока игроки не войдут во второе QTE, которое снова запустит процесс горизонтального ресеквенцирования с новыми музыкальными сегментами, соответствующими каждому шагу действия.
Рис. 11.3. Гипотетический пример применения горизонтального ресеквенцирования в QTE
Чтобы горизонтальное ресеквенцирование сработало успешно, все сегменты должны плавно и незаметно перетекать друг в друга без каких-либо резких изменений. Цель в том, чтобы создать впечатление одной цельной музыкальной композиции, которая каким-то образом быстро и четко реагирует на состояние игрового процесса.
Плюсы и минусы горизонтального ресеквенцирования
Сочинение музыки для горизонтального ресеквенцирования – сложное и трудоемкое дело. В самом трудном случае музыка будет представлена в виде огромного набора коротких файлов, каждый из которых длится всего лишь пару тактов. Для дополнительного структурирования композиция может быть разбита на подразделы, каждый из которых содержит множество файлов для произведения в произвольном порядке. Внутри этой конструкции музыка переключается от одной секции к другой в зависимости от игрового процесса, то есть происходит переход к другой коллекции коротких взаимозаменяемых треков, которые звучат в нужной последовательности.
Эта техника имеет очевидные преимущества. При идеальной реализации саундтрек будет молниеносно реагировать на все драматические моменты и произведет такое же впечатление, как музыка в фильме. Но по мере того, как метод горизонтального ресеквенцирования становится все более амбициозным, композитор начинает испытывать существенные затруднения. Создание коллекции коротких сегментов для проигрывания в произвольном порядке загоняет композитора в жесткие рамки структуры аккордов и темпа. Ведь если каждый сегмент может перейти в любой другой, то изменения темпа или структуры аккордов вызовут резкий «скачок». Кроме того, короткая продолжительность каждого сегмента не позволяет композитору прописывать темы длиннее нескольких тактов. В конечном итоге такая интерактивная модель активно подталкивает композитора отдавать предпочтение определенному уровню музыкальной простоты, что на самом деле серьезно ограничивает творчество и возможности создавать выдающуюся музыку.
Но все-таки, несмотря на жесткие рамки горизонтального ресеквенцирования, этот метод имеет огромные плюсы. При аккуратном качественном исполнении эта техника в сочетании с другими методами музыкальной композиции открывает поистине захватывающие возможности для команды разработчиков. Итоговый саундтрек идеально впишется в игру, с легкостью переходя от одной музыкальной мысли к другой в идеальном соответствии с состоянием игрового процесса. По этой причине горизонтальное ресеквенцирование – действительно чрезвычайно мощный инструмент игрового композитора.