Разработка игр Sound Frameworks - PullRequest
       14

Разработка игр Sound Frameworks

12 голосов
/ 18 сентября 2008

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

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

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

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

Ответы [ 7 ]

10 голосов
/ 18 сентября 2008

(примечание: у меня есть опыт работы с 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 легко начать, он не считает мой выбор хорошим вариантом.

5 голосов
/ 18 сентября 2008

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

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

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

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

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

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

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

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

2 голосов
/ 18 сентября 2008

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

1 голос
/ 21 января 2009

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

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

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

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

1 голос
/ 25 ноября 2008

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

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

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

1 голос
/ 18 сентября 2008

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

http://www.un4seen.com/

0 голосов
/ 21 января 2009

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

...