Python编程语言可以用来做大型网络游戏吗
岂止是有潜力,简直是很合适!
两大游戏客户端引擎,NeoX 和 Messiah,都使用 Python 作为脚本语言。

你最近所了解的比较火的挂着猪厂旗号的,也都是 Python 写的。
一些项目组甚至不需要分出人力去维护引擎部分,因为引擎本身比较稳。
也就是说,程序绝大部分时间都可以专注用 Python 写逻辑,保持创造力。
还有就是 Python 写各种工具,编辑器,不是一般的爽。PyQt 在手天下我有。
还能和项目代码无缝衔接。

————————
服务端:
也是纯 Python。
因此很多代码可以服务端客户端共用,尤其是数据结构定义,序列化等。
用过的才知道前后端用同一种语言有多方便。
同一套 Excel 配表,用 Python 写的工具转成 py 文件,然后服务端和客户端都用这个。
同一个类,服务端用,客户端也用,还需要啥数据格式转换啊(滑稽)。

————————
效率问题:
运行效率大部分情况下都不是问题,开发效率却可以提升几个数量级。
————————
静态类型语言 vs 动态类型语言:
这是个有争议的话题。
个人看法这是一种 trade-off,牺牲逻辑的严谨性,以及架构,来换取开发效率。
这样做当然很多弊端,只是在目前这个阶段,开发效率比什么都重要,真的。
(项目组都要解散了你跟我说你的代码更好看?)
————————
多线程:
客户端逻辑没有必要。
游戏项目从来都不是计算密集型的,逻辑本来就够复杂了,多线程会进一步增加复杂度,得不偿失。
(一般情况下不需要,要用的话祝你好运)
————————
Hotfix:
网络游戏正在逐渐成为一种服务,成为每个人的日常娱乐方式。
服务的稳定也变得越来越重要,如果隔三差五就得停服修bug,客户端动不动就得整包更新,会严重影响玩家体验。
而用 Python 进行热更是语言原生支持的,意味着实现成本很低,风险低,操作也很方便。
————————
最后的废话:
不要想当然,不要听风就是雨,实践出真知
————————————————
如果使用python做大型游戏的服务器端,是没有什么问题的。
但是如果是客户端,由于涉及大量的图形特效、多线程等,需要用很多显卡底层的功能,python在这方面是不行的,而且性能也跟不上。
python还是无法逃离它的胶水语言的命运。底层支持做好了,将业务逻辑抽离出来用python来实现和修改,是有效率上的天生优势的。做基础开发还是放弃这个想法吧。
答案肯定是可以的,目前知道的文明,EVE(大型星际飞行沙盒游戏,就是那个新手入门两年半那个),还有比较火的猪场的一些游戏都是Python写的,
Python有哪些优势呢?
首先我们说Python最擅长的运维层面的东西(S面上多数外挂都是Python写的),所有的运维工具、项目周边工具、工具链胶水层等等,个人感觉Python算很相当适合的了,本身就号称胶水语言(狗头保命,人身苦短,我用Python)
项目组甚至不需要分出人力去维护引擎部分,因为引擎本身比较稳。
然后是服务端:也是纯 Python。
因此很多代码可以服务端客户端共用,尤其是数据结构定义,序列化等。
效率问题:
运行效率大部分情况下都不是问题,开发效率却可以提升几个数量级。
多线程:客户端逻辑没有必要。
游戏项目从来都不是计算密集型的,逻辑本来就够复杂了,多线程会进一步增加复杂度
最后,Python 进行热更是语言原生支持的,意味着实现成本很低,风险低,操作也很方便。
请高兴能回答你的问题!
大型网络游戏一般也是会分为前后端,后端的话基本上所有开发语言都可以进行实现,Python也不例外。很多轻游戏(页游,手游)的服务端都是Python进行实现的。
所以Python做大型游戏的服务器端,是没有任何问题的。
游戏的前端实现大部分都是由C++来进行的,更底层,对客户机的硬件利用率会更高。
Python本身不是为游戏所进行开发的对于大量的图形特效,需要用很多显卡底层的功能,python在这方面是不行的,而且性能也跟不上。
所以S场上游戏前端大部分不会招Python岗的,当然国外也有一些游戏是用Python实现的,有些玩家自制的游戏Python 也不少。
不同的语言适用在不同的场景,希望我的回答能对你有所帮助!
手打不易,有用的话请关注我!
可以的,不过现在的游戏,很少有单一语言开发的,从两个方向来看。
客户端:
用c或者cxx来写渲染部分,用Python来写业务逻辑,也就是脚本语言只写具体的游戏逻辑,如果逻辑非常吃计算量,把这部分用c来写就好了。
服务端:
纯Python没问题的,因为本来用的网络库就是c写的,性能没问题,但是如果想更好把控,就用c来写网络,定时器部分,再用Python写游戏逻辑。
python能用来写cocos2d游戏吗
pygame在PC上写小游戏非常方便,可能几十行代码就可以实现一个简单的小游戏,使用pygame编写贪吃蛇、俄罗斯放开、连连看等小游戏很简单,有Python基础,可能半天就可以完成了!
