Python适合制作游戏吗?
我听到有人说Python和C++、Java一样好,但我找不到很多用Python做的好游戏。虽然有一些用Pygame做的,但数量不多。
我只是想选择一个合适的编程语言。
补充一下:抱歉,确实有很多游戏。我很想做一个类“地下城探险”的游戏,这基本上是我的梦想。还有一个俯视视角的角色扮演游戏。不要太复杂,我不想重新发明轮子,但我希望能做一个有趣的游戏。我对Java有一点经验,但我喜欢Python的样子。我其实不打算做3D游戏。
6 个回答
我觉得用Python在游戏引擎里写脚本还不错(比如:EVE Online和文明4),但是我不会用它来写一个游戏引擎。因为在处理真正需要实时反应的游戏时,性能上不够好。如果你只是想做一些简单的2D游戏,那用Python没问题,但你不可能用纯Python写出下一个《孤岛危机》或者《我的世界》这样的游戏。
对于你的需求来说,pygame看起来是个很不错的选择。我建议你可以看看其他人用Python做的游戏,里面有很多很酷的东西。
另外,值得一提的是,Python在一些对性能要求高的地方和C++配合得很好。你可以看看这个帖子 链接
你还应该知道,Python和其他语言的结合让它变得非常有价值。例如,Panda3D引擎(http://www.panda3d.org/)允许你用Python编写3D游戏,然后根据需要把部分代码转到C++。当然,这对你来说可能有点过于复杂,但这说明Python的功能很强大。此外,使用这个引擎制作的一款游戏还是迪士尼的商业游戏,所以有一些大型游戏是部分用Python编写的。如果性能真的是个问题,你还可以通过Pyglet在Python中使用OpenGL(我相信PyGame也可以),这样可以在一定程度上减轻渲染的负担。而且,使用像Cython这样的库可以把类似Python的代码编译成C的Python扩展模块,PyPy也可以对一些Python代码进行即时编译(不过有一些限制)。因此,你可以很容易地用Python快速制作游戏原型,然后根据需要再改进某些部分。
另外,PyWeek是一个专门为Python游戏举办的比赛,通常是2D游戏,使用Pygame或Pyglet编写,这里可以提供一些示例代码和例子。最后,Frets on Fire这款游戏是用Python写的,而且在这么小的游戏中似乎还挺有名的。
编辑:查看 https://gamedev.stackexchange.com/questions/5035/famous-games-written-in-python