start page
TECHNOLOGY PRICE MEMBERS

Our game music & fx

Handheld & Mobile games
1945: The Elbe
Beetle Junior
Biker
Bugminator
Chicken Attack
Elven Mists
Epic Glory
Evel Knievel Pinball
Fightality
Grenny Ventures
Hero's Quest
Longest Yard
Incadia Mobile
Men in Black
Mini Golf 2
Miss Reef Pinball
Moorhuhn Jagd
Space Nomads
S.T.Y.D.
The Last Dragon
The Longest Yard
Toxic Lab
Valley of the King
PC downloadable games

ARKANOIDS

Action Ball
Action Ball 2
Alpha Ball 2
BrixOut XP
Chicken Attack
Chicken Attack Deluxe
Hyperballoid Complite
Magic Ball 2
Neo Ball
Real Ball
RoboBall
Star Ball
Strike Ball 2

CARD & BOARD GAMES

Astral Tournament
Das Kreuzwortratsel
Dictator Control
City Magnate
Kasuko
Mahjongg Artifacts
Mahjongg Artifacts 2
Silver Solitaire
Spectromancer
The Great Mahjong

TIME MANAGEMENT

FarmCraft
Jenny's Fish Shop
Stand O'Food
Stand O'Food 2

LABYRINTHS

ArmadaTanks
Beetle Bug 2
Bomberman vs Digger
Bombermania
Crazy Chicken
Jeanne d'Pac
Krot
Magic Pets
Magus - In search...
Mummy's Curse
PacManic Worlds
Pacmania 3
Pacmanic
Pyramid Runner
Simpaplex

PUZZLES

7 Lands
Aquitania
Arctic Quest
Arctic Quest 2
Astral Puzzle
Azteca
Best Gift
Cradle of Persia
Cradle of Rome
Diamond Drop 2
Emerald Tale
Fairy Jewels
Gem Mine
Gem Zone
Gems Legend
Hamster Blocks
Lost Treasures of El Dorado
Rainbow Drops Buster
Scepter of Ra
Spiderz!
Treasure Masters

MATCH 3 ARCADE

AquaPop
Arxon
Bengal Game of Gods
Birds on a Wire
Chameleon Gems
Crystalix
Elven Mists
Golden Submarine
Gourmania
Neptunia
Rhombis
Sprill First
Svetlograd
Yeti Bubbles

PINBALLS & POOLS

Real Bowling
Real Pool

PLATFORMERS

Alex Gordon
Crazy Stuff
Dead Boys
Kenny's Adventure
Moorhuhn: The Jewel of Darkness
Super Cooper Revenge

RACING GAMES

Extreme Racers
Jet Jumper
KGB Hunter

SHOOTERS

Alien Stars
Astro Fury
Astro Menace
Chicken Rush Deluxe
Galaxy Invaders
Naval Strike
Onslaught
Redisruption
Sky Fire
Star Defender
Star Defender 2
Star Defender 3
Tank Assault

STRATEGY GAMES

GunRox
Eador
Totem Tribe
Полцарства за принцессу

XONIX GAMES

Arcadrome
Billy Bob (Bugix)
J-Ball

OTHER GAMES

Air Typer
Amazon Quest
Animal Empire
Beezzle
Birdies
Crusaders of Space 2
Dino and Aliens
Fish Tales
Great Secrets: Da Vinci
Leaping Freddy
Mummy Treasure
Mysteries of Horus
Rikki & Mikki: Rescue
Sea Bounty
Sheep's Quest
Sky Bubbles
Snowy Fish Frenzy

Tracker Albums

Singles

thesands.ru visitors:
Locations of visitors to this page
 
Саунд эффекты как язык игры. Звук + изображение = общий информационный поток.



I. Неотвлекающая музыка.
II. Саунд-эффекты - язык игры.
III. О пользе интерактивности.
IV. Полифония.
V. Источник, фон, окружение.
VI. Звуковики - часть команды.


Эта статья лишь частично пересекается с лекцией на КРИ 2006, поэтому я рекомендую ознакомиться также и с аудиозаписью выступления.
Изначально планировалось раскрыть в статье и тему интерактивной музыки, но материал по эффектам получился столь объёмным, что пришлось сокращать даже его. Подробно о музыке мы поговорим в следующий раз, во второй части статьи, а сейчас лишь слегка затронем эту тему.


I.

Начнём с того, что "музыка не должна отвлекать от игры, при этом она должна создавать настроение, созвучное графическому оформлению, и ненавязчиво подбадривать пользователя, стимулируя его играть дальше"... Как часто музыкант получает такое техзадание? Практически всегда. И, я полагаю, среди людей, принимающих решения по звуку, вряд ли найдётся кто-то, кто ни разу не формулировал подобного задания. Но что лежит в основе такой формулировки, есть ли какое-то разумное обоснование?.. Вы скажете "ну, как же, это очевидно и все так делают - если музыка будет отвлекать, то...". Вот и давайте разберёмся с причинами отвлечения пользователя от игры.

Считается, что наш мозг может удерживать внимание на весьма ограниченном числе процессов одновременно
(1). Сразу вычтите осязание (мышь, джойстик с обратной связью) и - при наличии соответствующих раздражителей - обоняние (казуальные игры запускаем в обеденный перерыв, не так ли?). Если человек играет на рабочем месте и косит глазом на входную дверь, из которой может появиться начальник, вычтите ещё один. Если наш игрок - секретарша, находящаяся в постоянном ожидании телефонного звонка - ещё минус один. Ничего удивительного, если в определённых ситуациях люди вообще отключают звук: им просто нужно освободить каналы восприятия.
Этим свойством мозга объясняется ещё одно интересное наблюдение: распознавать речь трёх человек, говорящих одновременно, способны лишь очень немногие люди. Если не сосредотачиваться до крайней степени, то следить удаётся лишь за двумя говорящими. И обратите внимание: то, что мы привыкли называть одним словом "звук", в данном случае активирует далеко не один процесс (восприятие на слух, выделение смысла и т.д.). Это очень важно (2).

Какой интенсивности должен быть поток звуковой информации в игре?
Здесь опасно "недожать" - если мы недостаточно загрузим внимание игрока, он может отвлечься на какие-то сигналы извне. Опасно и "пережать" - при чрезмерной нагрузке игрок начнёт упускать что-то в геймплее (до тех пор, пока не догадается выключить звук).
Проблема осложняется тем, что игровой звук - это поток переменной насыщенности (например, в какой-то момент игрока может засыпать бонусами и прочими событиями, в другое время может ничего не происходить).

Для того, чтобы ответить на этот вопрос, давайте рассмотрим правильную, последовательную подачу звукового материала в игре.
По мере прохождения игры пользователь запоминает ключевые звуки, отождествляет их с определёнными событиями, наделяет смыслом. Скажем так, изучает "язык" игры. Со временем звуки становятся однозначно узнаваемыми, мозг безошибочно извлекает из них смысл (информацию об игровых процессах). Игрок может уже не следить глазами за всем, что происходит на экране, а, скажем, запустить ракету и чисто по звуку слушать - попала она или нет. Работает механизм распознавания "речи".
Но представьте, что получится, если вдруг прозвучит слишком много звуков одновременно? Извлекать смысл из такого потока - всё равно что распознавать речь нескольких человек.

Кто-то может возразить, что в реальности к нам устремляется очень много звуков, но мы с этим вполне справляемся. Дело вот в чём:
1) Человек слабо реагирует на дальние, "безопасные" шумы, но проявляет повышенное внимание даже к тихим звукам в "опасной" (приватной, ближней) зоне.
2) Колонки переносят все звуки в "опасную зону", передача эффекта глубины пространства технически недостижима в типичных для игроков условиях.
3) Реальность далеко не всегда комфортна, поэтому апеллировать к ней не всегда правомерно. "Комфортная реальность" - та, что даёт нам знакомые звуки. Мозг более или менее "отсекает" их, и наше внимание не перегружается.
4) Даже если цель игрового звука - создать ощущение некомфортности, эффективно оперировать мы можем всё равно лишь в ближней зоне (3). Это означает, что неожиданные звуки в ближней зоне (даже если они тихие и редкие) окажут гораздо больший эффект, чем громыхание псевдо-удалённых шумов или музыки. Намеренное создание дискомфорта, при неправильном подходе, может запросто перегрузить ближнюю зону, что сделает звук вообще "нечитаемым", и весь эффект сойдёт на нет.

Итак, возвращаемся к сложностям "распознавания речи".
Если с самого начала игры из динамиков льётся непрерывная мешанина саунд-эффектов, игрок не научится их распознавать. Это будет похоже на гомон восточного базара, когда незнакомый язык просто сливается в однородный фон, и мозг постепенно начинает отсекать его. Полезной информации такой поток не доносит.
Поэтому подавайте звуки отдельно и последовательно. Только тогда игрок научится наделять их смыслом. Если в Вашей игре есть обучающие уровни, проектируя их, думайте о звуках так же, как об элементах геймплея. Tutorial - он и для звуков тоже. Надеюсь, это не сюрприз.
Если же Вы твёрдо уверены, что с самого начала хотите занять внимание игрока насыщенной звуковой картиной, то разумно будет использовать всем известные, знакомые из жизни звуки. Тогда они будут распознаваться без проблем.

Обучением ("языку" игры) дело не заканчивается. В дальнейшем важно аккуратно управлять интенсивностью звукового потока.
Как управлять, с какой целью?
Забегая вперёд, приведу практический пример, чтобы Вы могли проецировать на него дальнейшие выкладки.
Итак, Вы решили пожалеть утомившегося игрока и перемещаете его на бонус-уровень с упрощённым геймплеем. Тогда давайте будем удерживать каналы восприятия под нагрузкой за счёт более интенсивного звука. Противоположный пример: бонус-уровень на скорость, где от игрока потребуется максимальная сосредоточенность. Тогда полезно будет упростить звук. Грубо говоря, так.
Цель наша - соблюсти баланс между всеми элементами игры, то есть постоянно удерживать внимание игрока ровно настолько, чтобы он чувствовал себя в игре комфортно (4).


II.

Если саунд-эффекты - язык игры, то давайте говорить на нём правильно.

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

То же самое касается и музыки. Например, если игрок начнёт незаметно для себя подпевать изысканной и берущей за душу мелодии во время прохождения уровня, требующего максимальной концентрации... это будет означать, что кое-кто из разработчиков явно просчитался. Иногда выручает пресловутая "фоновая спокойная музыка", но что если этот самый "высококонцентрированный" уровень проходится в бешеном темпе? Спокойная музыка не подойдёт. Может быть, вообще её отключить? Да, можно и отключить. А чего бояться-то?
Есть и другое решение. Короткая, часто повторяющаяся тема, которая очень скоро начинает отсекаться мозгом, как тиканье часов. В Super Mario есть темы длительностью 4 секунды! И они отлично работают, под них можно играть очень долго. Разумеется, важно, что это грамотно и талантливо написанная музыка. Композитор может потратить очень много времени на поиск такого идеального 4-секундного рифа.


III.

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

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

По вертикали отмеряем загруженность внимания игрока. Низкая загрузка (немногим выше воздействия окружающей среды) приводит к рассеиванию внимания. Высокая загрузка подводит нас к границе, после которой игрок теряет способность полностью воспринимать и контролировать происходящее. Разумеется, схема чисто символическая, здесь мы оперируем отношениями "больше-меньше", а не точно измеренными величинами.
По горизонтали расположены различные игровые ситуации. Они могут происходить последовательно во времени, как изображено на графике, а могут иметь и другой порядок.

1) Игровое меню. Внимание привлекается графической заставкой и яркой музыкальной темой. От пользователя требуется минимум расторопности и сообразительности.

2) Игра. Насыщенность звукового потока заметно снижается. Как музыка, так и звуковые эффекты становятся мягче по сравнению с меню. Игровые события захватывают основное внимание. Суммарная загрузка внимания может быть снижена по сравнению с меню: игроку нужно освоиться, спокойно разобраться с правилами игры.

3) Сильный раздражитель из внешней среды, например, телефонный звонок. Игрок может продолжать игру, разговаривая по телефону, но его внимание загружено полностью. Долгое нахождение в таком состоянии некомфортно.

4) Игрок выключает звуковое сопровождение игры. Нагрузка снижается, условия для одновременного разговора по телефону и игры становятся комфортными.

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

5) Игра производит звуковой поток, насыщенный больше обычного. Это может быть намеренным действием (например, стимуляция игрока к концентрации внимания перед сложным этапом), а может быть просто ошибкой гейм-дизайнера (звук вообще никак не контролируется и нарастает подобно лавине).

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

7) Мы (в роли гейм-дизайнера) догадываемся ограничить звуковой поток. Вместо того, чтобы усугублять и без того сложную игровую ситуацию, мы создаём игроку комфортные условия для решения задачи, которую ему, действительно, нужно сейчас решать.

8) "Узкий" звуковой поток оставляет нам возможность эпизодически "радовать" игрока сверхнасыщенными игровыми ситуациями. Главное - одновременно с этим не насыщать звуковой поток, иначе мы просто "вытолкнем" игрока за пределы не то что комфортного, а вообще возможного восприятия.

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

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

Посмотрим теперь на график, составленный для "хардкорной" игры.

1) По сравнению с казуальной игрой, внешняя среда здесь требует меньше внимания. Игрок может как мысленно абстрагироваться от действительности, так и физически создать себе более комфортные условия для погружения в игру.

2) Отдельно введём процесс управления. В казуальной игре он, зачастую, почти не усложняется со временем. Хардкорная же игра нередко требует от игрока последовательного изучения "комбо" и предлагает ситуации, в которых нужно проявлять чудеса проворности и синхронности движений.

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

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

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

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

А ограничивать придётся. Гейм-дизайнеру полезно быть готовым к самым "нелогичным" предложениям звукорежиссёра. Здесь не работает прямая логика: если на экране что-то упало, это ещё не значит, что должен быть звук падения. Может быть игроку даже некогда смотреть на это, и "Бабах!" только собьёт его с толку.

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

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


IV.

Итак, технологии. Начнём со звуковых эффектов, затем перейдём к интерактивной музыке.

Термины и обозначения:

Полифония (P). Максимальное количество звуков (одинаковых, разных - не важно), которое инструмент может воспроизводить одновременно. Примеры: шестиструнная гитара - полифония равна 6; скрипка - полифония 3; дуэт гитары и скрипки - полифония 9; фортепьяно - полифония 88.

Базовая частота (W). Число оцифровок (замеров) в секунду при переводе звука из аналоговой формы в цифровую (или, в случае эмуляции аналогового синтеза, при дискретизации значений непрерывной функции). Наиболее часто встречаемое значение - 44100.

Отклонение частоты (dW). Изменение частоты воспроизведения замеров (оцифровок), а именно отклонение от базовой частоты W на величину dW. В зависимости от знака dW приводит к эффекту ускорения (и повышения) или замедления (и понижения) звука.

Базовая громкость (A). Грубо говоря, та громкость звука, с которой он был оцифрован. Положим её равной единице.

Отклонение громкости (dA). Изменение громкости звука относительно базовой громкости A.

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

Для начала рассмотрим метод контроля звукового потока, разработанный нами несколько лет назад для компании
Intenium GmbH. Этот метод мы давно и успешно практикуем также и в проектах других разработчиков. Метод предельно прост, реализовать его можно в рамках практически любой саунд-системы (библиотеки) без особых сложностей и временных затрат.

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

Рассмотрим на схеме метод озвучивания таких событий.

1) Для каждого нового события выбирается один звук из серии.

2) Звук направляется в очередь. Все элементы очереди сдвигаются вправо. Длина очереди = P. Если в правой ячейке находился звук, он выбывает из очереди (прерывается, перестаёт воспроизводиться). Любой звук, доигравший до конца, удаляется из очереди автоматически, очередь "сжимается".

3) Для вновь поступившего звука случайным образом выбирается отклонение частоты (dW) и громкости (dA), после чего звук начинает воспроизводиться. Максимальные значения dW и dA - глобальные величины.

Замечания, которые хотелось бы сделать по этой схеме:
а) Звуки в серии могут иметь разную длительность, а произвольное варьирование частоты может эту разницу даже усилить. Поэтому нормальной является ситуация, когда звук, поступивший в очередь позже, закончит проигрывание раньше. Этим объясняется освобождение мест в середине очереди.
б) Варьирование частоты и громкости само по себе не создаёт разнообразия и не устраняет неразборчивость микса, ни в коем случае не заменяет использования серии звуков. Более того, применение этого эффекта на одном и том же звуке быстро распознаётся как "дешёвый трюк", начинает раздражать.
в) Для пущей наглядности в этой схеме я ввёл дельты, однако на практике лучше использовать коэффициенты умножения (хотя бы потому, что базовые частоты разных звуков могут отличаться).
г) Следует задать минимальный временной промежуток "разделяемости" двух событий (Tmin). Это та небольшая разница во времени, при которой сольются и оба звука, и оба изображения. Если два одинаковых события произошли с разницей в несколько миллисекунд, предпочтительней озвучить более раннее, тогда последующее событие будет происходить уже на фоне звукового эффекта. Поэтому не спешите добавлять в очередь каждое новое событие, игнорируйте слишком часто идущие.
д) Из практики, реальные значения полифонии лежат в интервале от 1 до 3. Широкие жесты здесь неуместны: увеличив полифонию каждому эффекту лишь на единицу, Вы можете с удивлением наблюдать, как на небыстрых компьютерах появляются заметные подтормаживания.

В ini-файле каждое событие будет описано следующим образом (5):

EventName
(
SoundName1, SoundName2,.. SoundNameN;
P;
W1,W2;
A1,A2;
)

Можно усовершенствовать метод, назначив коэффициент уменьшения громкости при продвижении звука по очереди (чем правее, тем тише).

Тогда мы получим "бесплатный" (с точки зрения производительности) компрессор-лимитер: каждый новый звук будет приглушать предыдущие - перетянет акцент на себя, а остальные отодвинет в фон. При такой привязке громкости звука к месту в очереди "сжимать" очередь следует только при поступлении нового звука (а не по окончанию старого). На иллюстрации вторая ячейка очереди пуста: звук доигрался до конца, в микшер ничего не посылается (серая стрелка). Теперь при поступлении нового звука сдвигаться будет не вся очередь, а только то, что стоит левее пустой ячейки. Таким образом мы даём возможность "старым" эффектам звучать подольше, не обрезаем полифонию понапрасну.

Кстати, при сдвиге эффекта в очереди имеет смысл уменьшать его громкость не резко (ступенчато), а плавно. На эту операцию всегда есть запас по времени - Tmin. Но лучше настроить время спада более точно, посоветовавшись со звукорежиссёром (может быть даже индивидуально для каждого эффекта, в зависимости от его атаки).

Ещё одно усовершенствование применимо к серии звуков, источники которых могут быть сильно разбросаны по стереопанораме. В этом случае при вытеснении старого звука из очереди следует сперва искать звук со значением панорамы, близким к панораме нового звука. Диапазон, в котором значения панорамы считать близкими, подбирается экспериментально. А полифонию придётся немного увеличить.

Теперь рассмотрим второй метод. Назовём его методом адаптивной полифонии.

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

В подгруппы следует объединять события одинаковой важности с похожим частотным спектром. Задача эта для дуэта звукорежиссёра и гейм-дизайнера. Примеры подгрупп: крупные взрывы; голосовые сообщения; попадания; выстрелы из плазменного оружия; выстрелы из огнестрельного оружия. Нетрудно заметить, что последние две группы имеют одинаковую важность, однако звуки в них сильно различаются по спектру - это повод разнести их в разные подгруппы.
Полифония каждой подгруппы ограничивается индивидуально. Критерием здесь служит разборчивость звука внутри подгруппы, а сочетание со звуками других подгрупп не учитывается.

Затем подгруппы объединяются в группы по принципу похожести звучания. Лучше не ломать голову над тем, что это значит (6), а просто поручить работу звукорежиссёру. К примеру, выстрелы из огнестрельного оружия, вообще говоря, похожи на взрывы и прочие хлопки, различие лишь в масштабе. А звуки выпадения бонусов могут походить на звуки телепортации или применения плазменного оружия. Вот из таких соображений подгруппы объединяются в группы.

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

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

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

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

Парадокс состоит в том, что всё это выглядит довольно сложно, а результат слушается очень просто - как будто никаких алгоритмов контроля звука и не задействовано вовсе. Однако, стоит Вам отключить контроль и сравнить результат, никаких сомнений не останется. Надо. Контролировать надо. Будь у Вас "шутер века" или "простенькая" казуальная игра - лучше один раз написать правильный алгоритм, чем на каждом новом проекте снова и снова удивляться, "почему этот звукорежиссёр не может справиться с такой простой работой". Не в звукорежиссёре дело. Программисты, вперёд!


V.



Нередко встечается ситуация, когда программист, гейм-дизайнер, менеджер проекта или любой другой несчастный, на которого легла обязанность подключать звуки в игру и/или "вообще контролировать этих музыкантов", проделывает буквально следующее: получив кучу эффектов, загружает их в аудио-редактор и, с ужасом увидев "пустые хвосты" в конце каждого звука, безжалостно их обрезает. Мол, нечего место (и полифонию) тратить. Ситуация, действительно, хрестоматийная, от этих творческих натур всегда подспудно ожидают чего-то подобного - наверняка забыл, поленился, не подумал... Так вот, не надо этого делать. И вот почему.
"Пустые хвосты" (отсутствие звука) - это нулевая амплитуда. 16-битный звук - это 65536 градаций амплитуты. Если бы Ваш монитор имел разрешение 65536 точек по вертикали, Вы смогли бы отличить пустоту от непустоты. Но на самом деле окошко, в котором Вы просматриваете форму волны, на два десятичных порядка меньше. Если же Вы загрузили стереозвук, точность отображения по вертикали сокращается ещё вдвое. Отклонения амплитуды в один-два пикселя, скорее всего, будут незамечены или признаны несущественными и тоже попадут под нож... Но, поверьте, при такой точности отображения "не видно" вовсе не означает "не слышно". Давайте замеряем относительный уровень сигнала, который выглядит "слишком тихим" (за 0 db принимается максимальная амплитуда). Получим что-то в районе -40 db.
Прослушивая звуки на рабочем месте, Вы вынуждены поднимать громкость выше уровня окружающего шума. Вентиляторы компьютеров, разговоры коллег, кондиционер или шум из окна - каков абсолютный уровень этого шума? Можно предполагать, что в районе 65 db (если у Вас не отдельный специально оборудованный кабинет). Уровень полезного звука Вы, естественно, делаете выше уровня шума (допустим, 75 db). Теперь посчитаем ослабление на 40 db ("невидимая" часть звука, которую Вы собрались отрезать). Это же звук громкостью 35 db! Вообще говоря, это уровень тихой музыки или нешумной комнаты. То есть вполне ощутимый звук. Да, он почти неразличим в условиях производственного цеха, но Вы уверены, что Ваши пользователи будут играть в таких же условиях?

Какую полезную информацию содержит этот "невидимый хвост"? Взаимодействие источника звука с окружением. Отражения от стен и предметов - реверберацию. Коротких звуков в природе не бывает. Вообще. Единственное место, где Вы могли бы услышать звук без реверберации - зал для тестирования микрофонов на заводе "Октава" (это один большой звукопоглотитель, там нет даже пола, вместо него - сетка). Короткий звук - нонсенс, дискомфорт, вызов слуховому центру мозга. Отрезать реверберацию, находящуюся, тем более, в хорошо слышимом диапазоне - моветон.

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

Обрезание "хвостов", помимо цели уменьшения полифонии "задаром", может преследовать и цель экономии памяти. Эта вторая цель гораздо более благородна, и ей следовало бы посвятить гораздо больше места в статье. Если бы решение не укладывалось в пару строк. Итак, программная реверберация. Звукорежиссёру следует готовить короткие "голые" звуки, а эффект реверберации будет в дальнейшем накладываться программно.

Эффект WavesReverb входит в DirectX, начиная с восьмой версии. В популярную саунд-систему BASS уже интегрирована поддержка Direct Music Objects, но можно вполне обойтись и без BASS. Саунд-система FMOD Ex содержит собственный алгоритм реверберации.

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


VI.

Звуковики - часть команды.

Насколько часто это утверждают на словах, настолько же часто об этом забывают на деле.
Может быть, причина в самих музыкантах? Большинство читателей на вопрос о своей работе ответит одним словом: игры. Вы делаете игры. Музыкант же, скорее всего, ответит иначе: музыка. Он пишет музыку.

И это повод насторожиться. Ведь мы с вами должны делать одно общее дело.
Специалист по звуку должен быть вовлечён именно в создание игры. Он должен иметь такое же полное представление о геймплее, как и гейм-дизайнер. В начале статьи я показывал, что воздействовать на игрока можно двумя способами: изображением и звуком - так разработайте схему этого воздействия совместно с звукорежиссёром!

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


P.S. В следующей статье я расскажу об интерактивной музыке на примере казуальных игр (Billy Bob, Seven Lands), дисковых ("Магия Крови") и консольных проектов (пока секрет). Также, наконец, мы поговорим о новых трекерных технологиях (на примере "Azteca", "Fairy Jewels" и др.).


Сноски.

(1) "Если обратиться к итоговым параметрам деятельности мозга, то и они окажутся достаточно скромными - человек не может следить более, чем за 5-7 переменными" - ИПМ. им. М.В.Келдыша РАН. (от себя добавлю - при проведении эксперимента в пределах одной модальности).

(2) "Смысловое восприятие речи на слух является перцептивной, мыслительно-мнимической деятельностью, которая осуществляется в результате выполнения целого ряда сложных логических операций таких, например, как анализ, синтез, дедукция, индукция, сравнение, абстракция, конкретизация и т.д." - wiki, Аудирование.

(3) Передача информации о глобальных событиях средствами ближней зоны - задача не всегда тривиальная, порой даже творческая. Представьте, что Вам нужно информировать игрока о приближении босса, о воздушном налёте или залпе "Катюш". Можно, руководствуясь физикой и логикой, изобразить далёкий залп, после которого плавно наращивать громкость воющих снарядов. А можно, руководствуясь соображениями психологии и драматургии, подвести сослуживца, который в паническом ужасе тихо прошепчет игроку прямо в ухо "о боже, что это?!" и укажет пальцем на огни в небе. А рёв снарядов может и подождать немного... В общем, простор для творчества здесь есть.

(4) "Комфорт" в широком смысле - "получаю то, за чем пришёл". Шутер от первого лица, казуальный Тетрис, рейсинг, файтинг или стратегия - везде своё понятие комфорта.

(5) Здесь dW уже заменено на W1 и W2 - коэффициенты отклонения в обе стороны (они могут быть несимметричными). Пример: 0.9 и 1.3. Базовая частота всегда полагается равной единице.

(6) Кроме очевидного частотного спектра, сравнительных характеристик здесь немало: это и параметры огибающей громкости (ADSR), и эффекты обработки (фленжер, фейзер) и др.


Александр Мачуговский / the SandS

Behringer V-Tone
Шестиструнная электрогитара,
три сингл-звукоснимателя. Чёткий звук хорошо подходит для записи тяжёлых рифов.
Handy Pepper
Электрогитара ручной работы с активными звуко- снимателями EMG, дающими кристально чистый звук и беспрецен- дентное для гитар соотношение сигнал/шум до 94 db.
Aria Sinsonido
Бас-гитара с ясным «живым» звучанием. Активный стерео звукосниматель даёт чистый от шумов сигнал.
AKG c1000s
Малошумный конденсатор- ный микрофон широкого назначения, диапазон 50-20000 Гц, фантомное питание.
Октава МК-012
Профес- сиональные конденса- торные микрофоны (стереопара) модульной конструкции со сменными головками, обеспечивающими три типа направленности. 20-20000 Гц, чувствитель- ность не менее 10 мВ/Па.
Beyerdynamic 990
Beyerdynamic DT 990 Pro - мониторные наушники высшего класса с ровной АЧХ и диапазоном частот 5-35000 Гц.
M-Audio DUO
Внешний USB интер- фейс, до 24 бит 96 КГц. Позволяет разнести рабочее место и системный блок компью- тера в разные помещения и создать идеальные условия для контроля и записи звука.
Roland JV-1010
Звуковой синтезатор- ный модуль Roland JV-1010 содержит более 1000 качественных тембров, полифония 64 голоса.
Art Tube Pac
Ламповый микрофон- но-инстру- ментальный предусили- тель с аналоговым ком- прессором.
Mackie 1202 VLZpro
Двенадцати- канальный микшерный пульт с высококачественными микрофонными предуси- лителями и общей схемо- техникой, направленной на минимизацию собственного шума.
Evolution MK249C
MIDI-клавиатура, 49 клавиш, 12 настраиваемых регуляторов для контроля параметров при создании музыки.
AKG K-141M
Мониторные наушники с ровной АЧХ в диапазоне 20-20000 Гц.
Tannoy Reveal
Пассивные аудио- мониторы ближнего поля. Дают честное неокрашенное звучание. Построены по двухполосной схеме: 6,5-дюймовый и 1-дюймовый ВЧ-драйверы. Частотный диапазон 50-20000 Гц, мощность 80 Вт RMS.
Behringer GM-108
15-ваттный гитарный комбо-усилитель с функцией аналогового моделирования (анало- гичной знаменитому SansAmp GT2 от Tech21).
Fatar SL 990 Pro
Fatar SL 990 Pro - профессиональная MIDI-клавиатура (88 клавиш) с полновзвешенной моло- точковой механикой.
AKG D770
Инструменталь- ный динамичес- кий микрофон для подзвучки гитарных комбо-усилителей.
Art SLA-1

Профессиональный студийный усилитель с ультралинейной АЧХ. Мощность - 2x100 Вт RMS при нагрузке 8 Ом.
Баглама
Турецкий народный инструмен с ладами 1/4 тона. Тройные струны создают колоритный звук. Используется в ритм-секциях и соло.
Yamaha PSS-390
Синтезатор FM и PCM, 7 слайдеров контроля над синтезом. Используется при сочи- нении мелодий, а также для поиска удачных сочетаний тембров.
Gravis UltraSound
Среди доступных саунд-карт начала и середины 90-ых продукты компании Advanced Gravis являлись самыми передовыми: они первыми ввели стандарт 48 КГц, аппаратное микширование, ЦАП и АЦП высокого качества. Трекерная музыка 90-ых неразрывно связана с картами семейства GUS.
QuickShot Composer
MIDI-клавиа- тура началь- ного уровня. 49 клавиш, 2 колеса.
Impulse Tracker
Наиболее продвинутый трекер 90ых, возможности которого актуальны до сих пор. Создаёт IT-модули для воспроизведения в реальном времени. Сжатие сэмплов, резонансные фильтры, сурраунд и пр.
Skale Tracker
Трекер и секвенсер (VSTi) нового поколения, совместим с форматами SKM, XM, MOD.
Commodore Amiga
Commodore Amiga, легенда 80-ых. На этом компьютере родился формат MOD - стандарт цифровой тре- керной музыки. До сих пор с успехом использу- ется для написания 4-канальных треков.
Bluesbreaker II
Классическая аналоговая гитарная педаль Marshall с качественным перегруженным звуком.
Audiophile 2496
Профессиональ- ная звуковая карта, работаю- щая с разреше- нием до 24 бит 96 кГц.
Creamware Pulsar
Мощный программно-аппаратный комплекс, включающий профессиональную звуко- вую карту и программное обеспечение для синтеза и обработки звука.
Sennheiser HD580
Полуоткрытые мониторные наушники студийного качества.
Roland A33

Профессиональная
76-клавишная полувзвешенная динамическая MIDI-клавиатура.
Midiman Mixim 10
10-канальный микшерный пульт Midiman.
Celtic Harp
Поясная кельтская арфа "Minstrel". 29 нейлоновых струн, 4 октавы, леверсы. Современный улучшенный аналог инструмента, распространенного в древней Ирландии более пятисот лет назад.
Hammered Dulcimer
Английский народный инструмент. Парные струны, звуко- извлечение происходит при помощи легких молоточков.
Аккордеон
Трое из нас начинали муз-образование с этого инструмента. При случае пользуемся им до сих пор.