游戏开发声音框架
我正在与一个为各种2D以及最终3D迷你游戏构建引擎的团队合作。我们面临的问题是可靠的,跨平台的,完善的API。显然,由于我们对跨平台功能的需求,DirectX毫无疑问。 SDL很不错,而且效果很好,但是让我们面对现实吧SDL_Mixer在其功能上有些局限。我们目前正在使用它,但是当我们最终扩展到3D时,这将成为一个问题。
我一直在使用OpenAL,但是我发现的大多数文档都已经过时了,似乎还不能很好地工作。我愿意学习OpenAL,并为通过它而奋斗,但是我想更加确定自己没有浪费时间。除了DevMaster教程之外,我还没有看到太多让我震惊的文档。如果某人的材料比我发现的要好,那真是太棒了。
我还看到了FMOD之类的项目,尽管获得了许可,但看起来还是不错的。但是,像OpenAL一样,它们几乎没有文档。当然,我可以倒入代码来推断我的选择,但是考虑到我最终可能会为此付出代价,这似乎有些痛苦。
无论如何,想法,评论或者担忧?非常感谢!
解决方案
Bass库可在Mac和Windows上运行,并具有良好的文档和SDK示例:
http://www.un4seen.com/
我最近研究了使用FMOD的AAA PC游戏。我们的音频程序员非常喜欢它,并且对它非常有帮助,所以我会给FMOD表示赞许。我们仅在Windows上使用了FMOD,所以我完全无法谈论它的跨平台方面。
(注意:我在FMOD,BASS,OpenAL和DirectSound方面有经验;虽然我在下面列出了其他库,但我没有使用它们)。
BASS和FMOD都很好(实际上我非常喜欢FMOD的文档;为什么我们会说它"不存在"?)。还有Miles Sound System,Wwise,irrKlang和其他一些中间件软件包。
OpenAL应该是跨平台的,在每个平台上都有自己的怪癖。它也不是完全"开放"的。而且我不确定它的未来是什么。当Creative掌握它时,似乎卡住了。但是,最近有一个从头开始构建实现的工作:OpenAL Soft。
然后是本机平台的API,例如Windows的DirectSound或者XAudio2,OS X的Core Audio,Linux的ALSA,控制台的专有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确实是一个很好的产品,那些家伙做得很好。
我已经使用Miles Sound System交付了两款PC游戏,并且效果很好。 MSS易于集成,快速且稳定。 RAD Game Tools提供的支持非常出色。该库已在4500多种游戏中使用,因此坚如磐石。它也便宜!
另一方面,与FMOD或者WWise相比,MSS是一个相当低级的库。该库没有为声音设计人员提供控制音量,衰减,随机化,衰减或者几乎没有存储在声音文件本身中的任何其他内容的方法。我们将必须自己编写这些高级功能。
这就是为什么我要为下一个游戏评估WWise。它具有比Miles更发达的工具集。启动和运行花费了更长的时间,但到目前为止运行良好。我还远远不足以使用它来真正地以一种或者另一种方式提供建议。
就工作流程而言,Wwise可能是声音开发的最完整解决方案。它的设计方式确实节省了编程时间,并为我们提供了更多尝试和构建复杂声音结构的可能性。使用Wwise,我们能够为我们的团队组织项目。
我个人非常喜欢他们的互动音乐系统。它非常灵活,可以使音乐对游戏输入做出流畅的反应。
另外,Audiokinetic的支持也非常敏锐。始终快速准备为我们提供帮助。
我建议。
我也可以担保FMOD,由于其工具和出色的多平台支持,FMOD已在游戏开发中广泛使用。与设计师合作真的是一件乐事。事实是,它需要昂贵的商业开发许可。