Python Performance vs Game Maker [关闭]


14

我最初考虑使用Python和SFML创建游戏。我了解Python与C ++相比速度较慢,但​​与Game Maker相比又如何?

我问的主要原因是我最近玩了一个Game Maker游戏(Iconoclasts),该游戏在我的计算机(GMA 950)上以相当差的帧速率运行。我担心Python / SFML会遇到类似的性能问题。


还有的是在游戏制造商的大规模发展,你可能想看看
杰夫

Answers:


50

说“ Python比C ++慢”是一种概括,它忽略了许多现实世界的实践,通常是一种糟糕的判断依据。您真正想做的是根据您的需求查看特定语言或技术可以带来什么,并且类似地,根据您的需求评估该技术的任何潜在故障。

如果您不得不提出这样的问题,那么很有可能,您制作的任何游戏的性能限制因素都将由自己决定,而不是技术选择本身。因此,最佳选择是使您拥有最大能力的选择,换句话说,就是您已经最了解的技术或语言。

至于您玩的Game Maker游戏的性能不佳,可能归因于许多因素,其中一些是特定于该游戏的因素,例如可能是通过Game Maker的工具或脚本语言编写的特定不良代码。这不一定是Game Maker本身的错。


2
@Nevermind,您可以-谷歌搜索sockpuppets。:)开玩笑-我会为您投票。5001-太好了,他现在可以对标签wiki编辑进行投票了
Cyclops

1
在GMA 950上,如果游戏是GPU绑定而不是CPU绑定,我不会感到惊讶。
亚当

4

如果我不得不猜想您玩的游戏运行如此缓慢的最大原因不是因为它是游戏开发商的游戏,而是该游戏开发商专门针对非程序员进行营销。因为您有非程序员来制作游戏,所以该游戏很有可能使用一些效率很低的算法,导致其运行缓慢。

在大多数情况下,语言的速度只会轻微影响程序的整体性能。当人们说“该语言比另一种语言慢50%”并且两种情况下的速度仍然很愚蠢时,您将发现最终用户几乎没有区别。


3

Game Maker是一个很好的初学者工具。但是,如果您以前有编程经验,我建议您升级到更大更好的程序。我使用GameMaker进行了大学2D游戏开发课程,它具有一个不错的,易于使用的拖放系统。但是,问题在于该程序的拖放操作没有使用最有效(或逻辑)的命令。另外,拖放操作不支持该程序能够执行的许多高级命令,因此程序员必须发挥创意或学习编码。但是,如果您学习使用GameMaker代码,则可以相对轻松地解决该问题。

但是,很难在一个人都有繁忙的时间表的情况下为单个程序学习代码,这很可能就是您体验性能缓慢的原因。

但是,正如Kort Pleco先前所述,大多数语言的速度并没有明显的不同。这完全取决于代码的编写和执行方式。很多冗余会使它变得相当慢,这通常是由于缺乏编码经验所致。


2

对于我正在开发的游戏,我使用菱形平方算法在开始新游戏时随机创建地形。为了决定将pygame和python搭配使用python还是GameMaker,我在两者中都实现了地形生成器。Pygame的执行速度稍快,但差异可忽略不计。最终我选择了GameMaker,因为我可以更快地工作。


1

接受的答案仍然悬而未决,但我只是想增加将近2年的通用汽车用户费用2美分。

GM在优化方面确实存在很多问题,因此存在一些合理的问题。有一组不推荐使用的方法* _variable_exists?曾经存在于Gamemaker pre-studio中。由于这种方便的方法,几乎​​在为GM编写的所有可想像的库和扩展中都利用了它。事实证明,这些方法非常昂贵,并且在运行大型游戏时引起了重大问题。

因此,在很多情况下,GM可能真的很糟糕,但是如果拥有适当的知识和谨慎的使用,GM的合法性就不亚于任何其他方法(unity2d,pygame等)。玩游戏,玩得开心。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.