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

gdhycgs


你好,很高兴能够回答这个问题。

首先,像我们经常玩的游戏一般都是由很多种编程语言来开发的,和普通的软件开发是一个道理。目前开发游戏经常使用的语言主要有c++、c#、c、java语言等等,是因为现在的游戏开发领域已经趋于成熟了,所以只能选择相对成熟的方案;

其次,python也能开发游戏,但都是一些网页端的小游戏,但随着游戏行业逐渐的成熟,以python为主的游戏引擎越来越少,离着目前主流的开发技术越走越远,所以通过python语言来开发游戏也就慢慢就被边缘化了。现在我们用python来做游戏最大的目的就是提高学习python的学习兴趣,然后利用python来做其它方面的事情,比如人工智能,学习AI相关的技术大部分都是采用的python加上TensorFlow来完成的,这才是python语言的优势所在!

最后,我们可以总结出来,为什么python语言现在不适合开发游戏,它的优势在于数据挖掘、人工智能等相关领域。所以,再开发游戏之初就要跟上 目前的主流技术。


人工智能崔老师


感谢邀请!

Python是否适合开发游戏?

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

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

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

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

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

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

  1. Unity和C#
  2. UE4和C++,蓝图
  3. 可以间接寄生在其它技术中的Lua
  4. H5游戏领域流行的JavaScript和TypeScript。

一套技术会形成一套生态,生态本身很难发生大的改变,主要是因为缺乏改变的必要。这是人类社会常见的现象。不仅是技术领域如此,其它领域也是一样:比如,抖音用户超级多,但是用电脑观看抖音的需求很少。

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

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

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

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

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

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

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

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


i网络心连心


从业8年的游戏开发者告诉你,非常适合。

但客户端不适合纯Python开发,有部分功能还是要用其它语言配合最佳。例如你需要用c来写渲染部分,客户端逻辑用Python来写,例如Python的一个库pygame.就是典型的c渲染python逻辑的例子,很多人觉得他很慢,实际上是有很大优化空间的,作为非商用引擎,没必要而已。

服务器你可以纯python,包括网易等大公司都有这样的服务器在用。

脚本效率是比不上编译语言的,但游戏写个逻辑需要多高的性能呢?现在脚本语言早就已经不是20年前的样子了。开发效率和运行效率本来就是需要取舍的。

所以,不需要担心主流的语言是否适合,你只需要学好他,知道怎么更好使用才是关键。


分享到:


相關文章: