c++ - programacion - Desarrollo de juegos Sound Frameworks
manual de programacion android pdf (7)
He usado DirectX, FMOD y Wwise en una variedad de plataformas en juegos enviados. No hablaré sobre DirectX aquí ya que otras personas tendrán muchos comentarios aquí ;-)
Esto es lo que debes tener en cuenta:
Licencia, puse esto primero porque esto puede tomar su decisión por usted. Haga que su abogado los revise y asegúrese de comprender el costo y las restricciones.
API - FMOD tiene una API muy limpia y mínima que es muy fácil de asimilar. Wwise ofrece un poco más en términos de funcionalidad, pero su API parece mucho más grande y engorrosa con conceptos incómodos para captar la atención.
Herramientas: Wwise tiene herramientas muy sofisticadas, orientadas en gran medida hacia los diseñadores de audio en lugar de los programadores, si desea dar a los diseñadores de audio un gran control directo y espacio para la experimentación, Wwise puede ser el camino a seguir. FMOD se está poniendo al día en el departamento de herramientas, pero sus herramientas están más orientadas hacia los programadores que siento.
Rendimiento: esto es algo que tendrá que evaluar por sí mismo, no puede decir que nadie sea mejor que el otro porque depende de su plataforma y tipo de juego. Puede obtener las estadísticas de rendimiento que se le citan, tómelas con un grano de sal, pueden idealizarse de alguna manera. Determine su presupuesto de rendimiento (por ejemplo, 2 ms por cuadro de sonido, número de canales X, número de X de transmisiones) y realice un montón de pruebas para diferentes formatos de sonido, frecuencias de muestreo y profundidades de bits: grafique esos inyectores.
Soporte - Tanto FMOD como Wwise tienen canales de soporte muy buenos, muchachos de buena tecnología. Verifique si el soporte cuesta más.
Si me pides que elija uno ... FMOD: realmente es un producto muy bueno, esos muchachos hacen un gran trabajo.
Estoy trabajando con un equipo que está construyendo un motor para una variedad de minijuegos 2D y finalmente 3D. El problema al que nos enfrentamos es una API sólida y multiplataforma. Obviamente, DirectX está fuera de lugar debido a nuestras necesidades de capacidades multiplataforma. SDL es agradable y funciona muy bien, pero aceptémoslo SDL_Mixer está un poco limitado en lo que puede hacer. Actualmente lo estamos usando, pero cuando finalmente nos expandamos a 3D, va a ser un problema.
He estado jugando con OpenAL, pero la mayoría de la documentación que encontré está bastante desactualizada, y parece que no funciona tan bien. Estoy dispuesto a aprender OpenAL y abrirme paso a través de él, pero me gustaría estar un poco más seguro de que no estoy perdiendo el tiempo. Sin embargo, aparte de los tutoriales de DevMaster, no he visto mucha documentación que me haya impresionado. Si alguien tiene un material mejor que el que encontré, sería increíble.
También he visto proyectos como FMOD, que parecen decentes a pesar de las licencias. Sin embargo, al igual que OpenAL, tienen documentación casi inexistente. De acuerdo, puedo revisar el código para deducir mis opciones, pero me parece un poco doloroso considerando que eventualmente podría estar pagando por ello.
De todos modos, pensamientos, comentarios, preocupaciones? ¡Muchas gracias!
La biblioteca Bass funciona en Mac y Windows, y tiene buena documentación y ejemplos de SDK:
Recientemente trabajé en un título de PC AAA que usaba FMOD. A nuestro programador de audio le encantó y fue muy productivo con él, así que le agradecería a FMOD. Solo utilizamos FMOD en Windows, por lo que no puedo hablar sobre los aspectos multiplataforma de la misma.
He enviado dos juegos de PC con Miles Sound System y funcionó bastante bien. MSS es fácil de integrar, rápido y estable. El soporte que obtienes de RAD Game Tools es excelente. Esta biblioteca se ha utilizado en más de 4500 juegos y, como resultado, es sólida como una roca. ¡Es barato también!
Por otro lado, MSS es una biblioteca de bajo nivel en comparación con FMOD o WWise. La biblioteca no proporciona ninguna forma para que el diseñador de sonido tenga control sobre los volúmenes de sonido, la atenuación, la aleatorización, el desvanecimiento o cualquier otra cosa que no esté almacenada en el archivo de sonido. Tendrá que escribir estas características de alto nivel usted mismo.
Es por eso que estoy evaluando WWise para mi próximo juego. Tiene un conjunto de herramientas mucho más desarrollado que Miles. Tomó más tiempo para ponerse en marcha, pero está funcionando bien hasta ahora. No estoy lo suficientemente acostumbrado a usarlo para ofrecer una recomendación de una manera u otra.
(nota: Tengo experiencia con FMOD, BASS, OpenAL y DirectSound, y aunque incluyo otras bibliotecas a continuación, no las he usado).
BASS y FMOD son buenos (y realmente me gustó mucho la documentación de FMOD, ¿por qué dirías que es "inexistente"?). También hay Miles Sound System , Wwise , irrKlang y algunos paquetes middleware más.
OpenAL es supuestamente multiplataforma, y en cada plataforma tiene sus propias peculiaridades. Tampoco es exactamente "abierto". Y no estoy seguro de cuál es el futuro para eso; parece que se atascó cuando Creative se apoderó de él. Sin embargo, hay un esfuerzo reciente para construir la implementación desde cero: OpenAL Soft .
Luego, hay API de plataformas nativas, como DirectSound o XAudio2 para Windows, Core Audio para OS X, ALSA para Linux, API propietarias para consolas, etc. Creo que usar API nativas en cada plataforma tiene mucho sentido; simplemente lo abstrae bajo la interfaz común que necesita y tiene diferentes implementaciones en cada plataforma. Claro, es más trabajo que simplemente usar OpenAL, pero OpenAL ni siquiera está disponible en algunas plataformas, y tiene varias peculiaridades en otras plataformas que ni siquiera puedes arreglar (porque no hay un código fuente que puedas arreglar). Licenciar una biblioteca comercial como FMOD o Miles es una opción en el sentido de que todo este trabajo dependiente de la plataforma ya está hecho para usted.
Estamos utilizando OpenAL en el trabajo en este momento, pero estamos considerando cambiar de lugar, porque simplemente no va a ninguna parte y no podemos arreglar las peculiaridades. Entonces, aunque OpenAL es fácil de comenzar, no obtiene mi voto como una buena opción.
También puedo responder por FMOD, se usa de manera bastante extensa en el desarrollo de juegos debido a las herramientas y al excelente soporte multiplataforma. Sus diseñadores son realmente una bendición para trabajar. Sin embargo, la cosa requiere una licencia costosa para el desarrollo comercial.
Wwise es probablemente la solución más completa para el desarrollo de sonido en términos de flujo de trabajo. La forma en que está diseñado realmente le ahorra tiempo de programación y le da más posibilidades de experimentar y construir estructuras de sonido complejas. Con Wwise, pudimos mantener el proyecto organizado para nuestro equipo.
Personalmente, me gusta mucho su sistema de música interactiva. Es flexible y hace que tu música reaccione sin problemas a las entradas de tu juego.
Además, el soporte de Audiokinetic es muy agudo también. Siempre rápido y listo para ayudar.
Yo recomiendo.