Звукови рамки за разработка на игри

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

Забърквах се с OpenAL, но повечето от документацията, която намерих, е доста остаряла и изглежда не работи толкова добре. Имам желание да науча OpenAL и да си пробия път през него, но бих искал да съм малко по-сигурен, че не си губя времето. Освен уроците за DevMaster обаче, не съм виждал много документация, която да ме изуми. Ако някой има по-добър материал от този, който намерих, това би било страхотно.

Виждал съм и проекти като FMOD, който изглежда приличен въпреки лиценза. Въпреки това, подобно на OpenAL, те имат почти несъществуваща документация. Разбира се, мога да изпълня кода, за да изведа възможностите си, но изглежда като малко болка, като се има предвид, че в крайна сметка може да плащам за него.

Както и да е, мисли, коментари, опасения? Благодаря много!


person f4nt    schedule 18.09.2008    source източник


Отговори (7)


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

BASS и FMOD са добри (и всъщност много харесах документацията на FMOD; защо бихте казали, че е „не съществува“?). Има и Miles Sound System, Wwise, irrKlang и някои други междинни пакети.

Предполага се, че OpenAL е междуплатформен и на всяка платформа има свои собствени странности. Също така не е точно "отворено". И не съм сигурен какво е бъдещето за това; изглежда, че се заби, когато Creative го хвана. Все пак има неотдавнашен опит за изграждане на внедряването от самото начало: OpenAL Soft.

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

В момента използваме OpenAL на работа, но обмисляме да се откажем от него, защото просто не върви никъде и не можем да коригираме странностите. Така че, докато OpenAL е лесен за започване, той не получава гласа ми като добър вариант.

person NeARAZ    schedule 18.09.2008
comment
Благодаря ви за информацията. Що се отнася до FMOD, просто си спомням, че разглеждах документацията и почувствах, че малко липсва. Сега обаче ще трябва да го повторя отново. Много информативен отговор, който ми дава някаква насока, благодаря! - person f4nt; 18.09.2008
comment
OpenAL не е отворен? Източникът е достъпен на публичен SVN. - person Jasper Bekkers; 21.01.2009
comment
Малка забележка (актуализация) към този отговор: Ето OpenAL repo. То е с напълно отворен код: github.com /kcat/openal-soft .Също така го използвах за моите приложения на iOS/Android/Windows и нямах проблеми. Много прост и чист API, ако сте запознати с API като OpenGL. Но добре, виждам, че отговорът датира от 2008 г. Хехе, много неща са се променили оттогава. Като Unity, използвайки FMOD сега :) - person Michael IV; 04.10.2017

Използвал съм DirectX, FMOD и Wwise на редица платформи в изпратени игри. Няма да говоря за DirectX тук, тъй като други хора ще имат много отзиви тук ;-)

Ето какво трябва да имате предвид:

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

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

  • Инструменти – Wwise разполага с много сложни инструменти, насочени по-скоро към аудио дизайнерите, отколкото към програмистите, ако искате да дадете на аудио дизайнерите много пряк контрол и място за експериментиране, Wwise може да е правилният начин. FMOD наваксва в отдела за инструменти, но според мен неговите инструменти са по-насочени към програмистите.

  • Производителност - Това е нещо, което ще трябва да оцените сами, не можете да кажете, че някое е по-добро от другото, защото зависи от вашата платформа и тип игра. Може да ви бъдат цитирани статистически данни за ефективността - приемете ги с резерва, те може да са идеализирани по някакъв начин. Определете бюджета си за производителност (напр. 2 ms на кадър за звук, X брой канали, X брой потоци) и направете куп тестове за различни звукови формати, честоти на дискретизация и дълбочини на битове - начертайте тези нещастници на графика.

  • Поддръжка - И FMOD, и Wwise имат много добри канали за поддръжка, добри технически момчета. Проверете обаче дали поддръжката струва допълнително.

Ако ме питате да избера един... FMOD - наистина е много добър продукт, тези момчета вършат страхотна работа.

person user13899    schedule 18.09.2008

Наскоро работих върху AAA PC заглавие, което използва FMOD. Нашият аудио програмист го хареса и беше много продуктивен с него, така че бих дал палец нагоре на FMOD. Използвахме само FMOD на Windows, така че изобщо не мога да говоря за кросплатформените му аспекти.

person Jeff Hill    schedule 18.09.2008

Библиотеката Bass работи на Mac и Windows и има добра документация и примери за SDK:

http://www.un4seen.com/

person Daniel O    schedule 18.09.2008

Изпратих две компютърни игри, използвайки Miles Sound System и тя работи доста добре. MSS е лесен за интегриране, бърз и стабилен. Поддръжката, която получавате от RAD Game Tools, е отлична. Тази библиотека е използвана в над 4500 игри и в резултат на това е стабилна. Освен това е евтино!

От друга страна, MSS е библиотека на доста ниско ниво в сравнение с FMOD или WWise. Библиотеката не предоставя никакъв начин за звуковия дизайнер да контролира силата на звука, затихването, рандомизирането, затихването или почти всичко друго, което не се съхранява в самия звуков файл. Ще трябва сами да напишете тези характеристики на високо ниво.

Ето защо оценявам WWise за следващата си игра. Има много по-развит набор от инструменти от Miles. Отне повече време, за да започне да работи, но досега работи добре. Не съм достатъчно далеч в използването му, за да предложа наистина препоръка по един или друг начин.

person Joe Ludwig    schedule 25.11.2008

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

Аз лично много харесвам тяхната интерактивна музикална система. Той е гъвкав и кара музиката ви да реагира плавно на въведените от вас игри.

Освен това поддръжката на Audiokinetic е много остра. Винаги бърз и готов да помогне.

Препоръчвам.

person decasteljau    schedule 21.01.2009

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

person Jasper Bekkers    schedule 21.01.2009