我正在与一个团队合作,该团队正在为各种 2D 以及最终的 3D 迷你游戏构建引擎。我们面临的问题是可靠的、跨平台的、健全的 API。显然,由于我们对跨平台功能的需求,DirectX 是不可能的。SDL 很好,而且工作得很好,但让我们面对现实吧,SDL_Mixer 的功能有点有限。我们目前正在使用它,但当我们最终扩展到 3D 时,这将是一个问题。

我一直在搞乱 OpenAL,但我发现的大多数文档都相当过时,而且似乎并没有那么好用。我愿意学习 OpenAL,并努力通过它,但我想更加确定我没有浪费时间。不过,除了 DevMaster 教程之外,我还没有看到太多让我震惊的文档。如果有人有比我发现的更好的材料,那就太棒了。

我也见过 FMOD 等项目,尽管有许可,但看起来还不错。然而,与 OpenAL 一样,它们几乎不存在文档。诚然,我可以通过编写代码来推断出我的选择,但考虑到我最终可能会为此付出代价,这似乎有点痛苦。

不管怎样,有什么想法、评论、担忧吗?多谢!

有帮助吗?

解决方案

(笔记:我有 FMOD、BASS、OpenAL 和 DirectSound 方面的经验;虽然我在下面列出了其他库,但我没有使用过它们)。

低音调频调制 两者都很好(实际上我非常喜欢 FMOD 的文档;为什么你会说它“不存在”?)。还有 迈尔斯音响系统, 威斯, 巴生市 和一些更多的中间件包。

OpenAL 据称是跨平台的,并且在每个平台上都有自己的怪癖。它也不完全是“开放”的。我不确定它的未来是什么;当 Creative 抓住它时,它似乎被卡住了。不过,最近有人努力从头开始构建实现: OpenAL软件.

然后还有本机平台 API,例如适用于 Windows 的 DirectSound 或 XAudio2、适用于 OS X 的 Core Audio、适用于 Linux 的 ALSA、适用于控制台的专有 API 等。我认为在每个平台上使用本机 API 很有意义;您只需将其抽象为您需要的通用接口,并在每个平台上有不同的实现。当然,这比仅仅使用 OpenAL 要做更多的工作,但 OpenAL 甚至在某些平台上不可用,并且在其他平台上有各种您甚至无法修复的怪癖(因为没有可以修复的源代码)。从某种意义上说,授权 FMOD 或 Miles 等商业库是一种选择,因为所有这些依赖于平台的工作都已经为您完成了。

我们现在在工作中使用 OpenAL,但正在考虑放弃它,因为它没有任何进展,而且我们无法解决问题。因此,虽然 OpenAL 很容易上手,但我认为它并不是一个好的选择。

其他提示

我在发行的游戏中的一系列平台上使用了 DirectX、FMOD 和 Wwise。我不会在这里讨论 DirectX,因为其他人会在这里得到很多反馈;-)

以下是您需要考虑的事项:

  • 许可,我把这个放在第一位,因为这可能会为你做出决定。让你的律师仔细检查一下,并确保你了解成本和限制。

  • API - FMOD 有一个非常干净、最小的 API,非常容易理解。Wwise 在功能方面提供了更多的功能,但它的 API 似乎更大、更麻烦,而且概念也难以理解。

  • 工具 - Wwise 拥有非常复杂的工具,非常适合音频设计师而不是程序员,如果您想为音频设计师提供大量直接控制和实验空间,Wwise 可能是您的最佳选择。FMOD 在工具方面正在迎头赶上,但我觉得它的工具更适合程序员。

  • 性能 - 这是您需要自己评估的东西,您不能说任何一个都比另一个更好,因为这取决于您的平台和游戏类型。您可能会得到引用的性能统计数据 - 对这些数据持保留态度,它们很可能以某种方式理想化。确定您的性能预算(例如,声音每帧 2 毫秒、通道数量 X、流数量),并对不同的声音格式、采样率和位深度进行大量测试 - 将这些糟糕的情况绘制出来。

  • 支持 - FMOD 和 Wwise 都有非常好的支持渠道和优秀的技术人员。检查支持是否需要额外费用。

如果你要我选一个..FMOD - 这确实是一个非常好的产品,那些人做得很好。

我最近开发了一款使用 FMOD 的 AAA PC 游戏。我们的音频程序员非常喜欢它并且工作效率很高,所以我对 FMOD 竖起大拇指。我们只在 Windows 上使用 FMOD,所以我根本无法谈论它的跨平台方面。

Bass 库适用于 Mac 和 Windows,并且有很好的文档和 SDK 示例:

http://www.un4seen.com/

我已经使用 Miles Sound System 发行了两款 PC 游戏,效果非常好。MSS 易于集成、快速且稳定。您从 RAD Game Tools 获得的支持非常出色。该库已在 4500 多款游戏中使用,因此坚如磐石。也很便宜!

另一方面,与 FMOD 或 WWise 相比,MSS 是一个相当低级的库。该库没有为声音设计师提供任何方法来控制音量、衰减、随机化、淡入淡出或任何未存储在声音文件本身中的其他内容。您必须自己编写这些高级功能。

这就是我在下一款游戏中评估 WWise 的原因。它拥有比 Miles 更发达的工具集。启动和运行需要更长的时间,但到目前为止运行良好。我还没有深入地使用它来真正以一种或另一种方式提供建议。

就工作流程而言,Wwise 可能是最完整的声音开发解决方案。它的设计方式确实节省了您的编程时间,并为您提供了更多尝试和构建复杂声音结构的可能性。借助 Wwise,我们能够让团队的项目井井有条。

我个人非常喜欢他们的互动音乐系统。它非常灵活,可以让您的音乐对您的游戏输入做出流畅的反应。

此外,Audiokinetic 的支持也非常敏锐。始终快速并随时准备提供帮助。

我建议。

我也可以为 FMOD 提供保证,由于其工具和出色的多平台支持,它在游戏开发中得到了广泛的使用。与它的设计师合作真的很幸福。但事实是,它需要昂贵的商业开发许可证。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top