Farseer还是Box2D?自上而下的射手物理实现

时间:2010-02-07 14:17:24

标签: xna physics box2d game-physics farseer

其中哪一个更适合自上而下的射击游戏?

我听说Box2D表现得更快,但我也注意到它缺乏对XNA的更广泛的社区支持(它似乎用于闪存 - 出于我不知道的原因)。

然而,

Farseer是为XNA构建的,似乎适合它并且表现非常好。在我看来,Farseer的优点还在于它干净,易于使用的API(它也非常适合我的游戏引擎结构)。但是我很害怕如果我使用它会有一些缺点(子弹和高速机体?奇怪的不是数字崩溃?)

总的来说,如果您指出哪一种更适合XNA / PC开发,我将不胜感激。

我需要这个的原因:

  • 它不会仅用于一个自上而下的射手,而是用于与游戏框架集成。
  • 即使是自上而下的射手也会在碰撞效果更好,物理逼真的环境中更具吸引力 - 例如你可以移动一个盒子进入掩体?
  • 以像素完美的方式手动控制碰撞太昂贵了(我没有时间对其进行优化 - 如果存在高级碰撞检测算法的高性能物理引擎,我也不需要它),同时边界框碰撞是不切实际的方式。

我现在应该得到你的意见吗?请保持直截了当告诉我,我使用Farseer而不是Box2D做了错误的步骤吗? (我必须在等待答案时开始工作。)

提前致谢

3 个答案:

答案 0 :(得分:3)

为什么在自上而下的射击游戏中使用物理库?

我认为您需要的只是一些基本的碰撞检测/处理。 运行完整的物理模拟似乎有点过头了。

编辑:

就我个人而言,我认为我会选择Farseer,我听说过它的好消息,似乎得到了很好的支持。关键是,对于基于参数的决策,首先需要确切地知道它将会用于什么,不会用于什么,您在功能,速度和支持的平台方面的期望,您对支持,等等。只是问“我应该使用什么物理 - lib作为自上而下的射手”是不够的信息。特别是如果你稍后编辑它,说它实际上不是一个自上而下的射击游戏,而是一般用于游戏引擎: - )

答案 1 :(得分:3)

我肯定会和Farseer一起去(尽管我之前使用过它,所以我有偏见)。它有很多例子,甚至对.Net compact FX有一些特定的优化。在内部,它基于Box2D(是的,它是一个稍微旧的版本),但它正在积极开发Box2D的所有新功能被拉过来。 API比Box2D更成熟,更干净,更易于使用。如果所有这些都没有影响你,那么这应该是:http://ianqvist.blogspot.com/2010/12/benchmarking-box2d-based-physics.html

答案 2 :(得分:2)

我绝对建议使用Farseer,它已经开发了很长时间(> 3年),我认为它的主要缺陷已得到纠正。