游戏引擎重制 - 选择语言/ API(Java或Python)时遇到麻烦

时间:2011-06-01 02:04:43

标签: java python

我一直想重拍的引擎来自PlayStation 1游戏,名为“最终幻想战术”,该游戏基本上是一款2.5D游戏,我想你可以说。低分辨率的精灵和纹理,以及战场的3D地图。计划是主要从光盘加载图形,或.iso(我已经知道需要读取图形的扇区)并用游戏逻辑和图形例程填充其余部分,并且可能从光盘加载其他东西,如地图数据。

我希望这是一个多平台项目,因为我使用Linux并且希望一旦我完成了足够多的人加入项目(并且很容易通过Windows等平台获得更多人)。我将建立一个网站来主持该项目。此外,没有任何图形将被分发,它们必须从您自己的光盘加载。我宁愿不必处理任何法律问题。至少在我的网站上托管项目后不久。

但无论如何,这是我的困境 - 我知道相当多的Java和一些Python,但如果我使用这两种语言之一制作这个引擎,我会担心性能/功能问题。由于熟悉和平台独立性,我选择了它们,但我还没有进入图形编程。然而,我非常愿意学习,并且我已经在游戏中完成了相当多的ASM工作 - 查看图形例程和诸如此类的东西。这样的项目最好的路线是什么?哦,请记住,我最终会想要在.iso重组补丁中添加更高分辨率的纹理。

我假设根据我在谷歌上的结果,我可以选择Pygame + OpenGL,JOGL,Pyglet等等。有关API的任何建议吗?哪个有足够的文档/支持游戏或图形编程?他们有任何严重的表演命中吗?

感谢您的时间。

3 个答案:

答案 0 :(得分:0)

我建议使用PySFML,当然还有Python。

如果你正确地进行了Python编程,并且如果你真的愿意使用C或ASM Python插件来加快计算速度,那么你应该没有太多的性能命中。

答案 1 :(得分:0)

首先,我不会过分担心语言表现。如果你不必要地担心性能并选择错误/硬平台,那么你的项目在开始之前就已经死了。因为你需要更长的时间来制作一些东西并且更难让其他人加入你的项目。

因为你熟悉Java& Python,我建议您使用JythonJRuby进行项目。这样,您就可以使用Java运行时编写好的强大语言。

通过选择在Java运行时运行它,你得到:

  1. 支持多平台,因此这解决了您对linux / window平台的关注。
  2. 最新的Java运行时非常好,在大多数情况下,JIT可以与本机编译的程序执行相同或更好的操作。

答案 2 :(得分:0)

如果您对该项目充满热情,并且致力于充分利用您选择的语言,那么在一天结束时,如果不存在,Java和python之间的性能差异将会很小。

就个人而言,最大的挑战是在项目失去新奇和初始动力后完成项目。我建议你选择一种你更热衷的语言,并且对管道的深度感兴趣,或者可以提升你的简历。

其次,正如您所说,您希望吸引贡献者,您可能希望将其纳入您的决定。我不能在这里评论太多,但看看有很多活动的类似项目。

祝你好运!