0

我打算开发一款 3D 游戏,玩家以 3D 第一人称视角走在迷宫中,收集东西并逃离怪物。游戏本身很简单,但由于它不是为了娱乐,而是为了生物实验,所以它有一些具体的特点:

  1. 我们将图形投影到3台投影仪的球形屏幕上,所以图形应该是鱼眼变换,并且可以很容易地进一步变形(处理投影仪之间的合并)。

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

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

在我的调查中,我找到了三个候选工具链来开发这样的游戏:

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

  2. Panda3D + FisheyeLens API

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

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

4

1 回答 1

0

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

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


为什么选择 Panda3D?

  1. 它有据可查。这始终是选择技术的重要因素。
  2. 它是用 Python 编写的,这对我来说是一个加分项。
  3. 它是通用的(比 Quake3)。Panda3D 也可以用于机器人模拟器等,这对我很有用。

为什么不是 Quake3?

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

为什么不是 OpenGL?

目前我认为 Panda3D 已经够低了。如果证明它不如我需要的灵活,那么我会转向 OpenGL。

于 2013-01-12T16:02:48.687 回答