gdhycgs
你好,很高兴能够回答这个问题。
首先,像我们经常玩的游戏一般都是由很多种编程语言来开发的,和普通的软件开发是一个道理。目前开发游戏经常使用的语言主要有c++、c#、c、java语言等等,是因为现在的游戏开发领域已经趋于成熟了,所以只能选择相对成熟的方案;
其次,python也能开发游戏,但都是一些网页端的小游戏,但随着游戏行业逐渐的成熟,以python为主的游戏引擎越来越少,离着目前主流的开发技术越走越远,所以通过python语言来开发游戏也就慢慢就被边缘化了。现在我们用python来做游戏最大的目的就是提高学习python的学习兴趣,然后利用python来做其它方面的事情,比如人工智能,学习AI相关的技术大部分都是采用的python加上TensorFlow来完成的,这才是python语言的优势所在!
最后,我们可以总结出来,为什么python语言现在不适合开发游戏,它的优势在于数据挖掘、人工智能等相关领域。所以,再开发游戏之初就要跟上 目前的主流技术。
人工智能崔老师
Python是否适合开发游戏?
理解这个问题有两个角度:
1、任何语言都可以开发游戏,任何方便好用的语言都可以快速开发游戏。Python很好用,没理由不能开发游戏。
2、现代游戏开发,不能从画像素点、画三角形做起,绝大多数情况下都要借助于游戏引擎和编辑器。而流行的游戏引擎非常有限,它们采用的编程语言自然也就被限制在那几种。
从两个角度分析,就可以得出基本结论:理论上Python完全可以开发游戏,甚至还非常好用;但是实践中很难拿它开发游戏,因为缺乏必要的工具和基础设施。
1、编程语言和引擎、技术方案有绑定关系
游戏引擎限定了技术方案,具体点说:
- Unity和C#
- UE4和C++,蓝图
- 可以间接寄生在其它技术中的Lua
- 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年前的样子了。开发效率和运行效率本来就是需要取舍的。
所以,不需要担心主流的语言是否适合,你只需要学好他,知道怎么更好使用才是关键。