2008-09-18 4 views
12

Я работаю с командой, которая строит двигатель для различных 2D и в конечном итоге 3D мини-игр. Проблема, с которой мы сталкиваемся, - это надежный, кросс-платформенный, звуковой API. Очевидно, что DirectX не может быть и речи из-за наших потребностей в кросс-платформенных возможностях. SDL хорош и отлично работает, но давайте посмотрим правде в глаза. SDL_Mixer немного ограничен в том, что он может сделать. В настоящее время мы его используем, но когда мы в конечном итоге расширяем 3D, это будет проблемой.Разработка игр Sound Frameworks

Я уже возился с OpenAL, но большая часть документации, которую я нашел, довольно устарела и, похоже, не работает так хорошо. Я хочу изучить OpenAL и пробиться через него, но я хотел бы быть более уверенным, что я не трачу свое время. Тем не менее, кроме учебных пособий DevMaster, я не видел много документации, которая меня взорвала. Если у кого-то есть лучший материал, чем я нашел, это было бы потрясающе.

Я также видел проекты, такие как FMOD, которые кажутся достойными, несмотря на лицензирование. Однако, как и OpenAL, у них почти несуществующая документация. Конечно, я могу налить код, чтобы вывести мои варианты, но кажется, что это немного боль, учитывая, что я, возможно, в конечном итоге заплачу за это.

В любом случае, мысли, комментарии, проблемы? Большое спасибо!

ответ

10

(примечание: У меня есть опыт работы с FMOD, BASS, OpenAL и DirectSound, и пока я перечисляю другие библиотеки ниже, я их не использовал).

BASS и FMOD оба хороши (и на самом деле мне понравилась документация Fmod много, почему? Вы бы сказали, что это «не существующий»). Также есть Miles Sound System, Wwise, irrKlang и еще несколько пакетов промежуточного программного обеспечения.

OpenAL предположительно является перекрестной платформой, и на каждой платформе у нее есть свои собственные причуды. Это не совсем «открыто». И я не уверен, для чего это будущее. похоже, что он застрял, когда Creative завладел им. Недавно были предприняты попытки построить реализацию с нуля: OpenAL Soft.

Тогда есть встроенные API-интерфейсы платформы, такие как DirectSound или XAudio2 для Windows, Core Audio для OS X, ALSA для Linux, патентованные API-интерфейсы для консолей и т. Д. Я думаю, что использование собственных API на каждой платформе имеет большой смысл; вы просто абстрагируете его под общим интерфейсом, который вам нужен, и на каждой платформе есть разные реализации. Конечно, это больше, чем просто использование OpenAL, но OpenAL даже не доступен на некоторых платформах и имеет различные причуды на других платформах, которые вы даже не можете исправить (потому что нет исходного кода, который вы можете исправить). Лицензирование коммерческой библиотеки, такой как FMOD или Miles, является опцией в том смысле, что вся эта работа, зависящая от платформы, уже выполнена для вас.

Мы используем OpenAL на работе прямо сейчас, но рассматриваем возможность отказаться от него, потому что он просто никуда не денется, и мы не можем исправить причуды. Таким образом, хотя OpenAL легко начать работу, он не получает моего голоса как хороший вариант.

+0

Благодарим за информацию. Что касается FMOD, я просто вспоминаю просмотр документации и чувствую, что этого немного не хватает. Однако мне придется удвоить его. Очень информативный ответ, который дает мне какое-то направление, спасибо! – f4nt 2008-09-18 07:06:45

1

Библиотека Bass работает на Mac и Windows, и имеет хорошую документацию и примеры SDK:

http://www.un4seen.com/

2

Я недавно работал над названием AAA ПК, который использовал FMOD. Наш аудиопрограммист любил его и был очень продуктивным, поэтому я бы подарил FMOD большие пальцы. Мы использовали FMOD только в Windows, поэтому я не могу говорить о кросс-платформенных аспектах.

5

Я использовал DirectX, FMOD и Wwise на различных платформах в отгруженных играх.Я не буду говорить о DirectX здесь, так как другие люди будут иметь много обратной связи здесь ;-)

Вот что вам нужно рассмотреть следующие вопросы:

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

  • API - FMOD имеет очень чистый, минимальный API, который очень прост. Wwise предлагает немного больше функциональности, но его API кажется намного более крупным и громоздким с неловкими концепциями, чтобы окунуться в вашу голову.

  • Инструменты - Wwise имеет очень сложные инструменты, ориентированные на аудио-дизайнеров, а не на программистов, если вы хотите дать аудиоконструкторам много прямого контроля и место для экспериментов, Wwise может быть путем. FMOD догоняет инструмент, но его инструменты больше ориентированы на программистов, которые я чувствую.

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

  • Поддержка - У обоих FMOD и Wwise есть очень хорошие каналы поддержки, хорошие технические парни. Проверьте, поддерживает ли дополнительная поддержка.

Если вы просите меня выбрать один из них. FMOD - это действительно хороший продукт, эти парни делают отличную работу.

1

Я отправил две игры для ПК с использованием Miles Sound System, и это сработало достаточно хорошо. MSS легко интегрируется, быстро и стабильно. Поддержка, которую вы получаете от RAD Game Tools, отличная. В результате эта библиотека использовалась в более чем 4500 играх, и в результате она прочная. Это тоже дешево!

С другой стороны, MSS представляет собой довольно низкоуровневую библиотеку по сравнению с FMOD или WWise. Библиотека не предоставляет никакого способа, чтобы звукорежиссер мог контролировать объемы звука, затухание, рандомизацию, затухание или просто что-либо еще, что не было сохранено в самом звуковом файле. Вам нужно будет написать эти функции высокого уровня самостоятельно.

Вот почему я оцениваю WWise для своей следующей игры. Он имеет гораздо более развитый набор инструментов, чем Майлз. Потребовалось больше времени, чтобы встать и работать, но пока работает хорошо. Я не настолько далеко, чтобы использовать его, чтобы действительно предлагать рекомендации так или иначе.

1

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

Мне лично очень нравится их интерактивная музыкальная система. Он является гибким и позволяет вашей музыке плавно реагировать на ваши игровые входы.

Кроме того, поддержка Audiokinetic также очень острая. Всегда быстрая и готовая помочь.

Рекомендую.

0

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

Смежные вопросы