Вопрос

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

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

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

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

Это было полезно?

Решение

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

БАС и ФМОД оба хороши (и на самом деле мне очень понравилась документация FMOD;почему вы говорите, что его «не существует»?).Это также Звуковая система Майлза, Мудрый, иррКланг и еще несколько пакетов промежуточного программного обеспечения.

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

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

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

Другие советы

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

Вот что вам нужно учитывать:

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

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

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

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

  • Поддержка. И у FMOD, и у Wwise очень хорошие каналы поддержки и хорошие технические специалисты.Проверьте, стоит ли поддержка дополнительно.

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

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

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

http://www.un4seen.com/

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

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

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

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

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

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

Я рекомендую.

Я также могу ручаться за FMOD, он довольно широко используется в разработке игр благодаря своим инструментам и отличной мультиплатформенной поддержке.Работать с дизайнерами — настоящее удовольствие.Однако для коммерческой разработки требуется дорогая лицензия.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top