我应该使用哪种技术来开发这种鱼眼视角游戏?

时间:2013-01-12 12:44:12

标签: python pyopengl panda3d quake

我将开发一款3D游戏,即玩家以3D第一人称视角走进迷宫,收集东西并逃脱怪物。游戏本身非常简单,但由于它不是用于娱乐,而是用于生物实验,因此它具有一些特定的功能:

  1. 我们将图形投影到带有3台投影仪的球形屏幕,因此图形应该是鱼眼转换,并且可以轻松进一步转换(到处理投影仪之间的合并。)

  2. 应该有记录数据的功能,例如玩家的路径,以及怪物出现的时间点等。所有事件都应该是可记录的。

  3. 游戏程序可以通过USB 与外部设备进行交互。例如,每当玩家按下某个键时,程序就会告诉Arduino板做某事。

  4. 作为我的调查,我找到了三个工具链的候选人来开发这样的游戏:

    1. 在Quake3引擎上开发 MOD + Fisheye Quake。我认为问题是Quake3运行虚拟机,所以可以实现上面的功能2和3吗?

    2. Panda3D + FisheyeLens API

    3. PyOpenGL 即可。这是最灵活的方式,但我认为工作量最大。

    4. 我对C / C ++ / Python非常熟悉,但这是我第一次开发3D游戏。我的问题是哪个工具链最适合这个项目(或任何其他好的选择)?我会遇到什么问题?

1 个答案:

答案 0 :(得分:0)

由于还没有答案,让我在这里给出自己的答案。我没有3D开发经验,也不知道这些技术是否有效。出于某些原因,我更喜欢Panda3D。

请注意,我仍然愿意接受其他答案。


为何选择Panda3D?

  1. well-documented。这始终是选择技术的重要因素。
  2. 这是Python,对我来说是个加号。
  3. 这是一般目的(比Quake3)。 Panda3D也可以用on robotics simulator等对我有用。
  4. 为什么不使用Quake3?

    1. 它在虚拟机(QVM)上运行。我担心记录数据或访问外部设备很困难。
    2. 起初我想到了Quake3,因为它至少是一个非常经典的代码阅读,但目前我意识到Quake3除了类似FPS的游戏之外别无他法。如果值得一读,只需阅读,但不必使用它。
    3. 转换图形渲染并不灵活。它是一个用于目的的游戏引擎,而不是一般的图形处理库。
    4. 为什么不使用OpenGL?

      此刻我觉得Panda3D足够低了。如果证明它不像我需要的那样灵活,那么我会转向OpenGL。