我想尝试一些PC游戏开发。我一直听说python与C ++相比很慢。这是我应该担心的吗?
我比C ++更熟悉python。如果我想制作一些游戏,我应该花时间学习C ++还是坚持使用Python?
答案 0 :(得分:13)
开发速度慢,运行时速度慢,这是有区别的。小心不要让两者混淆。
许多游戏大部分时间都在等待用户输入或等待计时器打勾。在这些情况下,运行时速度通常不太重要,更重要的是开发速度 - 尽可能快地将游戏推向市场,并使用您的预算使游戏尽可能好。对于这种类型的游戏,高级语言是一个合适的选择。
对于需要高性能的游戏,引擎通常用C ++这样的语言编写,但脚本仍然可以用高级语言完成。 Python不是唯一的选择。 Lua可能是游戏中脚本语言最受欢迎的选择。
答案 1 :(得分:5)
Elebenty-7。
不,真的,它对于大多数事情来说足够快,并且当你真正需要速度时可以降到C.配置文件两次,优化一次。
答案 2 :(得分:4)
这种游戏非常重要。像大牌PC或控制台游戏这样的高性能游戏几乎完全属于C ++领域。
休闲游戏几乎可以用任何语言编写,包括像Python这样的较慢的语言。
如果你是一个车库类型的开发人员,他第一次尝试了一些简单的游戏开发,那么Python就足够了。如果你有志于为游戏开发者工作室工作,我肯定会推荐学习C ++。
答案 3 :(得分:2)
现在很多(如果不是大多数)高端商业游戏都包含某种游戏逻辑脚本引擎。在大多数情况下,游戏逻辑决策对于例如游戏逻辑决策的方式并不特别敏感。渲染引擎是。
BTW - 我并没有声称对游戏开发有任何内幕知识 - 这在业内是众所周知的。一些游戏发行商甚至允许用户访问脚本内容和其他用于游戏修改的工具 - 多年。如果你找到一个包装在Python中使用的游戏引擎,你将会处理相同的基本原则。用Python编写游戏逻辑,你可能会没事的。
PyGame基本上是用于Python的SDL,大部分都支持基本的2D游戏(虽然OpenGL可以用于SDL中的3D - 对于PyGame不太确定。)这是一个很好的起点。您可能会遇到管理游戏对象和运行blit循环的性能问题,因为SDL只处理非常基本的图形内容,但您应该发现它对大多数事情都很好。
正如Ignacio所暗示的那样 - 当您知道性能问题时,担心性能问题,而不是之前。一些性能问题可以提前预测,但是如果你不是用Python编写实际的游戏引擎,你应该没问题 - 不要陷入过早的优化陷阱,IOW。
答案 4 :(得分:-4)
C ++对面向对象要容易得多。当你正在做事时,更容易跟踪所有事情,因为大多数用于C ++的IDE更多地基于项目,因为IDLE更多地基于单个文件。
最重要的是游戏开发,使用您熟悉的使用方式。我的意思是,游戏开发是关于你想做什么,而不是什么会更好,因为更好==你想要什么。