Skip to main content
 Web开发网 » 编程语言 » Python语言

Python真的不适合游戏开发吗?游戏全都用像Python这种解释型语言写,对开发出的游戏有什么影响?

2021年11月27日6850百度已收录

感谢邀请!

Python是否适合开发游戏?

理解这个问题有两个角度:

1、任何语言都可以开发游戏,任何方便好用的语言都可以快速开发游戏。Python很好用,没理由不能开发游戏。

2、现代游戏开发,不能从画像素点、画三角形做起,绝大多数情况下都要借助于游戏引擎和编辑器。而流行的游戏引擎非常有限,它们采用的编程语言自然也就被限制在那几种。

从两个角度分析,就可以得出基本结论:理论上Python完全可以开发游戏,甚至还非常好用;但是实践中很难拿它开发游戏,因为缺乏必要的工具和基础设施。

Python真的不适合游戏开发吗?游戏全都用像Python这种解释型语言写,对开发出的游戏有什么影响?  Python游戏开发 第1张

1、编程语言和引擎、技术方案有绑定关系

游戏引擎限定了技术方案,具体点说:

Unity和C#UE4和C++,蓝图可以间接寄生在其它技术中的LuaH5游戏领域流行的JavaScript和TypeScript。一套技术会形成一套生态,生态本身很难发生大的改变,主要是因为缺乏改变的必要。这是人类社会常见的现象。不仅是技术领域如此,其它领域也是一样:比如,抖音用户超级多,但是用电脑观看抖音的需求很少。

2、现代游戏开发并不排斥解释型语言

现代游戏开发中,以Lua为代表的解释型语言大行其道。国产手机游戏特别重视“热更新”功能。所谓热更新,就是用户不需要重新下载安装游戏,就能在游戏内升级版本。

为了做到代码热更新,很多公司都采用Lua编写大部分游戏逻辑代码。(也有Lua以外的其它技术)。

虽然解释型语言有着运行效率较低等弊端,但至少从大体上看,Lua能做的,Python也能做。Lua效率比Python高一些,但还是属于量的差异而不是质的差异。不少网络游戏服务器端就采用了Python。

3、Python很难做游戏开发的原因

最主要的原因还是没有技术土壤。被主流单机游戏开发排除在外的不止是Python,而是除了C++、Lua、C#以外的几乎所有语言~~~ 并不是针对Python。

次要原因是Python本身的特点。Python在执行效率、多线程、内存管理方面确实存在一些瑕疵,而这些瑕疵是高性能游戏客户端很介意的,所以Python很难成为首选方案。

而只要不是首选方案就很可能没有出头的机会,这两个原因也算是相辅相成的。

评论列表暂无评论
发表评论
微信