Python编程语言可以用来做大型网络游戏吗

14分钟前阅读11回复0
路人甲
路人甲
  • 管理员
  • 注册排名2
  • 经验值553935
  • 级别管理员
  • 主题110787
  • 回复0
楼主

Python编程语言可以用来做大型网络游戏吗

岂止是有潜力,简直是很合适!

两大游戏客户端引擎,NeoX 和 Messiah,都使用 Python 作为脚本语言。

Python编程语言可以用来做大型网络游戏吗

你最近所了解的比较火的挂着猪厂旗号的,也都是 Python 写的。

一些项目组甚至不需要分出人力去维护引擎部分,因为引擎本身比较稳。

也就是说,程序绝大部分时间都可以专注用 Python 写逻辑,保持创造力。

还有就是 Python 写各种工具,编辑器,不是一般的爽。PyQt 在手天下我有。

还能和项目代码无缝衔接。

Python编程语言可以用来做大型网络游戏吗

————————

服务端:

也是纯 Python。

因此很多代码可以服务端客户端共用,尤其是数据结构定义,序列化等。

用过的才知道前后端用同一种语言有多方便。

同一套 Excel 配表,用 Python 写的工具转成 py 文件,然后服务端和客户端都用这个。

同一个类,服务端用,客户端也用,还需要啥数据格式转换啊(滑稽)。

Python编程语言可以用来做大型网络游戏吗

————————

效率问题:

运行效率大部分情况下都不是问题,开发效率却可以提升几个数量级。

————————

静态类型语言 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基础,可能半天就可以完成了!

0
回帖

Python编程语言可以用来做大型网络游戏吗 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息