著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
岂止是有潜力,简直是很合适!
猪厂两大游戏客户端引擎,NeoX 和 Messiah,都使用 Python 作为脚本语言。
你最近所了解的比较火的挂着猪厂旗号的,也都是 Python 写的。
一些项目组甚至不需要分出人力去维护引擎部分,因为引擎本身比较稳。
也就是说,程序绝大部分时间都可以专注用 Python 写逻辑,保持创造力。
还有就是 Python 写各种工具,编辑器,不是一般的爽。PyQt 在手天下我有。
还能和项目代码无缝衔接。
————————
服务端:
也是纯 Python。
因此很多代码可以服务端客户端共用,尤其是数据结构定义,序列化等。
用过的才知道前后端用同一种语言有多方便。
同一套 Excel 配表,用 Python 写的工具转成 py 文件,然后服务端和客户端都用这个。
同一个类,服务端用,客户端也用,还需要啥数据格式转换啊(滑稽)。
————————
效率问题:
运行效率大部分情况下都不是问题,开发效率却可以提升几个数量级。
————————
静态类型语言 vs 动态类型语言:
这是个有争议的话题。
个人看法这是一种 trade-off,牺牲逻辑的严谨性,以及架构,来换取开发效率。
这样做当然很多弊端,只是在目前这个阶段,开发效率比什么都重要,真的。
(项目组都要解散了你跟我说你的代码更好看?)
————————
多线程:
客户端逻辑没有必要。
游戏项目从来都不是计算密集型的,逻辑本来就够复杂了,多线程会进一步增加复杂度,得不偿失。
(一般情况下不需要,要用的话祝你好运)
————————
Hotfix:
网络游戏正在逐渐成为一种服务,成为每个人的日常娱乐方式。
服务的稳定也变得越来越重要,如果隔三差五就得停服修bug,客户端动不动就得整包更新,会严重影响玩家体验。
而用 Python 进行热更是语言原生支持的,意味着实现成本很低,风险低,操作也很方便。
————————
PS:所有的运维工具、项目周边工具、工具链胶水层等等,Python来了其他技术都可以靠边站。
为什么我说的这么武断呢?是因为不同层面的工作,对开发效率、维护效率、运行效率三者的要求是不同的。需求决定方案,这是工程领域的真理。