How Dare You: звук.

Всем привет, я снова здесь и снова буду рассказывать о звуке. На этот раз — о звуке чудесной игры с упоротым сеттингом.

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



Организация работы — ТЗ.
В данном конкретном случае ТЗ мне пришлось составлять самой по билду игры (очень удобно для флешек и мобилок, серьёзно, делайте так почаще). В итоге понадобилось три музыкальных трека, несколько десятков sfx и смонтированные дорожки для видеороликов.

Длительность треков зависит от того, сколько времени игрок проводит в той или иной части игры. Например, менюшный трек длится до 30 секунд — больше не нужно — в целом игрок проводит в меню и магазине не так уж много времени, а ограничения по весу и стоимости музыки поджимают. Меньше тоже делать не стоит — пусть игрок успеет прослушать няшный лейтмотив и порадуется (искренне в это верю). Два геймплейных трека нужны для разграничения двух режимов игры — обычного и бонусного, в котором персонаж движется с увеличенной скоростью. Этот режим сопровождается очень красноречивой анимацией, так что стоит его выделить музыкой. Игровая сессия может длиться довольно долго, а может и недолго — я решила, что минуты музыки хватит. Тестирование показало, что вполне хватает.
Беглый взгляд на билд помог мне составить список sfx для интерфейса и геймплея, но в процессе озвучки список, как водится, вырос.

По технической части мастеринг для флеша делается в мп3 128 кбит/с стерео (господа звукорежиссёры, не наступайте на мои грабли — всегда проверяйте, во что превратится ваш замечательный лузлесс после такого сжатия). Кроме того, есть некоторые сложности с зацикливанием треков — хотя были случаи, когда программно удавалось зациклить даже мп3.

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

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

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


Для игры, конечно, потребовалась более казуальная музыка с восточными мотивами. В итоге получилось вот что:


Стилистику во многом определила графика — отсюда, например, восточные тембры в соседстве с попсовым битом в геймплейной теме и общий игриво-агрессивный настрой. С геймплейной темой есть оговорка: начало уровня всегда совпадает с началом трека — надо было как-то показать «разгон» и при этом сделать так, чтобы при зацикливании он не слишком бросался в уши. Темп подбирался по видео из игры, ритм и размер типичный для раннера. Выглядит всё это так:


Трек для «рывка» держит скорость, но при этом звучит в контрасте с геймплейным. Анимация как при запуске — козёл в языках пламени летит навстречу судьбе. Изначально geovizz подставил в этот режим знаменитую «O, fortuna» — я решила, что это здорово и надо сохранить атмосферу.


SFX
С некоторых пор звуковые эффекты я делаю исключительно под видео — все, даже sfx интерфейса. Так можно создавать sfx по принципу «звучит как выглядит» и гибко их редактировать, что в итоге помогает избежать мороки с поправками.

В плане интерфейса мне очень повезло с сеттингом: на многие игровые события отлично легли тембры китайских и японских народных инструментов (струнники в ачивках, гонг при нажатии на «пуск» и проигрыше и т.п.).

Некоторые события я специально выделяла с помощью частот. Когда экран-ворота захлопываются, когда звучит сердцебиение при нехватке энергии, когда падают метеориты или бежит демон — звуки глубокие, со срезанными верхами. Когда игрок набирает достаточно ярости для рывка или получает ачивку — он наоборот слышит тонкий, высокочастотный звук. Наиболее повторяющиеся sfx (козёл сбивает шлем у скафандра или давит червяка) сделаны в диапазоне средних частот, чтобы не надоедать. Исключение — монетки. Это игровая валюта, которая влияет на дальность бега, так что я привлекла внимание к монеткам, сделав звук высоким, но при этом не звенящим. Отдельное спасибо Георгию за программный питч (чем больше монеток собираешь за раз, тем выше тон звука). Вообще, отзывчивость игры в плане звука — это очень и очень хорошо.

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

ЗЫ. Если копнуть глубже, можно написать ещё энцать постов о звуке этой же игры :) Я решила особо не распространяться о таких аспектах озвучки, как аранжировка музыки или способы создания sfx — хотя это тоже интересная тема, но достаточно узкопрофессиональная. Так что если что интересно — спрашивайте.
  • +14

Комментарии (12)

0
Круто! Что может быть лучше интересного проекта в нашей работе!;)
0
Особенно когда музыка к нему узнаётся с первых ноток! ;)
+1
Озвучка просто шикардос!
+1
От себя добавлю вот что — я не знал как сделать так, чтобы можно было менять звук на лету. Ведь до этого все звуки я просто вставлял в либу, и через свц уже загружал в игре. Для саундмейкера это не удобно — каждый раз открывать флеш (зачем ему вообще нужен флеш?), паблишить проджект и т.д.

Олег из Deqaf Studio подсказал отличный и очень простой метод, даже не знаю почему я сам не догадался — Объявляем звук:
var s_z:Sound = new Sound();
var s_c:SoundChannel;

Загружаем звук из папки со звуками
s_z.load(new URLRequest(«sounds/s_zvuk.mp3»));

И играем его
s_c = s_z.play();

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

Хочу заметить, что многие игроки приценили музыку, что добавило к общей лояльности к игре
+1
Уже от третьего человека слышу жалобы на mp3-луп.
Вообще-то нужно wav выводить, и в Flash IDE уже делать декод в mp3.
0
Можно юзать утилиту mpTrim которая обрезает паузы mp3 формата
0
Пробовал несколько таких утилит. Одни не рабочие, вторые крашили mp3 файл, третьи то работают, то нет.

Самый толковый способ это создание отдельного fla, импорт туда wav файлов и дальше уже в настройках к каждому звуку можно регулировать битрейт, формат, стерео/моно и плюс ко всему сразу видеть размер итогового звука на выходе.
На стадии разработки, когда композитору нужна «замена звуков на лету», конечно правильным будет подход через load() из папки.
А вот в итоговой сборке советую юзать способ описанный выше и экспорт в swc библиотеку.
0
Очень интересно, надо будет посмотреть.

Мне удалось один трек как-то обрезать, в коде добавить смещение и он зациклился, но это какой-то хреновый способ, честно говоря.
0
mpTrim нормально работает, проверено неоднократно)
+1
Игра замечательная, а звук так вообще — сказка. Видно, что большая работа проделана. Чувствую, что теперь клиентов у тебя станет намного больше))
+1
блин, каждый раз тыкаю в твои посты с мыслью «неужели опять классно» и опять ))))))))))) очень хорошая и позитивная музыка.
0
Спасибо всем) Насчёт утилит интересно. Я слышала такое про SoundBooth — вроде как он позволяет обрезать паузы и сохранять без дополнительного рендеринга, но не пробовала пока.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.