Основное.
Когда мы начали работу над Frostbite, движком нового поколения, мы задумались и над тем, что значит "новое поколение" для звукового оформления. Мы пришли к выводу, что мы хотим, чтобы были использовано столько фильтров, сколько это возможно для создания более динамичного звукового окружения, и нужно было реализовать такую возможность исключительно на всех игровых платформах. Это означало, что работу надо начинать с самих себя. Раньше мы использовали набор программных средств в Battlefield 1942 и программно-аппаратный гибрид Battlefield: Modern Combat на приставке PS2 (это позволило добавит несколько фильтров и еще 16 "голосов"), но до этого звук в играх обычно базировался на звуковых формах, которые были статическими, за исключением громкости и высоты звучания.
Для реализации нам нужно было, чтобы на звук накладывалось различное количество фильтров, которые бы смешивались в нужном нам порядке, но аппаратные аудио-акселераторы просто не способны были и все еще не могут этого позволить. Мы были уверены, что все основные платформы либо перешли на программное ускорение звука (Xbox360, PS3) или переедут в ближайшее время (ПК), вместо того, чтобы использовать ограниченные по возможностям аппаратные средства (Xbox, PS2 и некоторые звуковые карточки для ПК), так что программная среда была очевидным выбором для нас.
Короче говоря, мы пошли по пути, который позволяет нам делать именно то, что нам нужно, чтобы, как мы считали, добиться высококачественного, инновационного аудиозвучания в наших играх, и, я надеюсь, вы согласны с тем, что мы этого достигли!
Производительность.
Естественно, что обработка аудио программным путем накладывает на ЦПУ компьютера дополнительную нагрузку. С тех пор, как Xbox360/PS3 используют аппаратные средства и имеют на борту по несколько ядер, способных выполнять задачи параллельно, мы решили, что это может быть проблемой для владельцев ПК-версий, имеющих меньшее количество ядер, чем на консолях. В Bad Company все аудио процессы производятся последовательно в одном потоке, вне зависимости от платформы. Для ПК это означает, что ЦПУ с бОльшей частотой будет лучше, чем многоядерный процессор. Но, конечно же, остальные аспекты игры распараллелены, так что лучше иметь более, чем два ядра для игры Bad Company 2. Вопрос производительности мы постоянно улучшаем и результаты можно будет увидеть в следующих тайтлах EA.
Красная граница, на которой будет тянуть игру ваш компьютер, это минимальные требования. Владельцам консолей беспокоиться не о чем.
Точность воспроизведения.
Как это принято сейчас, мы производим все операции на 32-битной стандарте IEEE плавающей точки (при частоте 48 КГц), чтобы сохранить высокую точность конечного аудиопотока для аудиодрайвера той или иной платформы. Наши звуковые волны кодируются, используя различные кодеки в зависимости от того, что наиболее оптимально для каждой платформы. Эти кодеки и выдают тот же звук, что и заложено в самой игре. Как только мы передали аудио в основной аудиодрайвер, любая погрешность в точности зависит от того, как драйвер смешивает наше аудио с другими аудиопотоками из других процессов, запущенных на вашей системе. На персональном компьютере мы конвертируем аудио в 16-битный ИКМ (ред. Импульсно-кодовая модуляция используется для оцифровки аналоговых сигналов) до того, как послать его в DirectSound, а не отдаем DirectSound для того, чтобы он сам конвертировал. В целом, это искусственный обходной путь для решения проблемы с совместимостью различных аудиокарт, мало того, этот способ добавляет поддержку 16-битных выходов, что приводит к отмене долголетней и сложной настройке аудио-кодирования через DirectSound. Это дает возможность добиться точной передачи и высокого качества звучания. Далее я расскажу о 16-битном построение звука, ну а для тех, кто уже знает это или кого не волнует, можете пропустить (ред. Что мы и делаем, однако замечаем, что по словам аудио-инженера, игра разрабатывалась для 5.1 систем и не имеет смысла ориентироваться на 7.1. К тому же, наиболее оптимальные настройки звучания таковы: 5.1 система, 48 КГц, 16-бит )
Аппаратное ускорение.
Я коротко упомянул это в основном разделе, но, думаю, стоит кое-что прояснить. Аппаратное ускорение практически никак не развивается, потому что аудио в играх стоит на месте, чего не скажешь про графическую составляющую, которая интенсивно развивается из года в год. Сегодня даже GPGPU (ред. Графические процессоры общего назначения) удовлетворяет потребность аудио процессов лучше, чем аппаратные ускорители звуковых карт, и мы очень довольны такими возможностями, как, например, нам могут предоставить Intel Larrabee (ред. Архитектура новых графических процессоров, которые будут конкурировать с AMD и nVIDIA) .
Кроме того, основное преимущество аппаратного ускорения звуковых карт является возможность производить эффекты окружающего мира, например, реверберация (ред. Подробнее об этом можно узнать здесь). Мы полагаем, что мы получаем такой же или даже лучше эффект, используя наше программные решения, обрабатываемые ЦПУ с незначительной нагрузкой. Даже интерфейс программного программирования этих карт "хромает" во многих местах, сохранив, в основном, структуру DirectSound. Да так, что сама Microsoft отказалась от такого интерфейса, выбрав себе более современный XAudio API.
Получается, что с программной стороны вопроса, эти звуковые карты устарели, однако требование к "железу" увеличилось и нужны процессор более общего назначения, чем представленные на рынке звуковые карты, поэтому мы выбираем Larrabee или простые многоядерные процессоры.
В заключение.
Каждый, кто занят в аудио-проектировании в DICE трудятся с полной отдачей и от лица всех сотрудников, я хотел бы воспользоваться возможностью, чтобы поблагодарить всех вас за ободряющие комментарии и интерес к аудио в наших играх как в блогах, на форумах, так и в комментариях к видео!
Мы будем следить за вашими комментариями, которые могут вдохновить нас на новую работу над аудио в движке Frostbite.
Спасибо.