和网友讨论这个问题:“网游来为啥:金山的lua多,网易的 python多”?

群里很多人进行了各种技术分析。俺给出了另外的回答:“网易用python 是因为成功的 梦幻西游的等是 python ,金山用lua 是因为剑三用lua,在一个公司里,最成功的开发团队用啥,其他团队就向这个团队靠拢。”

对比维度 金山(西山居) 网易游戏
核心奠基项目 《剑侠情缘网络版叁》(剑网 3) 《梦幻西游》
技术栈 C++ 引擎 + Lua 脚本(客户端为主) C++ 内核 + Python 全栈(客户端 + 服务端全面 Python 化)
上线时间 2009 年 2004 年
项目历史地位 西山居支柱产品,国产 MMO 活化石,运营 17 年持续盈利,建立了国内最成熟的 Lua 插件生态 网易现金牛,国产网游天花板,累计营收超千亿,奠定了网易游戏在国内的江湖地位
技术扩散路径 剑网 3 核心团队成员成为各新项目主程 / 技术负责人,Lua 技术栈、工具链、热更框架直接复用 梦幻系团队成员占据网易游戏核心管理岗位,从客户端到服务端的 Python 全栈体系成为内部标准,人才招聘全面 Python 化
后续传承代表项目 《剑网 3 重制版》《剑侠世界》《解限机》《剑网 3 无界》 《大话西游 3》《天下贰》《乱斗西游》《阴阳师》《荒野行动》《哈利波特:魔法觉醒》

这也是网易技术栈最特殊的地方 ——国内几乎只有网易一家是客户端也大规模用 Python,其他厂商基本都是客户端 Lua,服务端各玩各的。梦幻西游从客户端逻辑到服务端逻辑全是 Python,这个架构一直延续到 NeoX、Messiah 两大自研引擎,形成了网易独有的 Python 全栈游戏开发生态。网易的 Python,是 "魔改 Python",不是你用的那个 Python。外界以为网易用的是标准 CPython,实际上:

  • 网易有专门的引擎团队维护 Python 的游戏专用分支
  • 去掉了 GIL(全局解释器锁),性能比原生 Python 高很多
  • 自研了一套字节码热更机制,绕过了 Python 原生的限制
  • 裁剪了 90% 的标准库,内存占用大幅降低

说白了:网易的 Python,只是 "长得像 Python",内核已经改得妈都不认了。他们解决了 Python 的大部分痛点。

真相就是这么朴素:谁成功了,全公司就学谁

网易的故事:梦幻西游一战定江山

  • 2004 年《梦幻西游》 爆火,成为网易的现金牛,养活了整个游戏事业部
  • 梦幻团队用的什么技术栈?Python 服务端
  • 于是:
    • 新立项的项目,第一反应就是 "去梦幻团队挖人"
    • 挖过来的人,自然而然就把 Python 技术栈带过去了
    • 新项目成功了,又继续带徒弟,传帮带
    • 十几年下来,整个网易游戏 90% 的服务端主程,往上追溯师门,全都是梦幻系出来的

就这么简单:不是 Python 有多好,是用 Python 的那个团队赚了大钱。全公司的晋升、资源、话语权,都在这个派系手里。你一个新团队敢不用 Python?你是觉得自己比梦幻团队还牛逼?

金山的故事:剑网 3 一根独苗

  • 西山居十几年就成了这么一个 **《剑网 3》**
  • 剑网 3 用的 Lua,而且靠插件生态活了十几年
  • 于是:
    • 所有新项目的技术骨干,全都是剑网 3 出来的
    • 剑网 3 的引擎、工具链、Lua 框架,直接复用
    • 郭炜炜体系下,没人会去质疑 "为什么不用 Python"

大公司技术选型的真正潜规则 

1. 技术栈 = 权力版图

  • 哪个派系的人掌权,就用哪个派系的技术栈
  • 网易游戏的话事人,基本都是梦幻 / 大话系出来的,他们就是 Python 的基本盘
  • 西山居的话事人,全都是剑网 3 系出来的,他们就是 Lua 的基本盘

2. 成功是最大的政治正确

  • 你跟老板说 "Python 性能不如 Lua",老板听不进去
  • 你跟老板说 "梦幻西游用 Python 赚了几百亿",老板马上就懂了
  • 没人会为 "技术更优" 买单,但所有人都会为 "已经验证过的成功" 买单

3. 招聘本质是 "同门招聘"

  • 网易招服务端,面试题全都是 Python 的
  • 西山居招服务端,面试题全都是 Lua 的
  • 不是公司选了语言,是老员工优先招和自己用同一种语言的人

历史的骰子:2004-2009 年,两个偶然的起点

网易这边:梦幻西游的 Python 基因(2004 年)

  1. 梦幻西游(2004):真正拯救网易的项目,服务端技术负责人是徐波(后来的多益网络老板),他选了Python
  2. 关键节点:梦幻成了,一年赚几十亿,这个团队成了网易游戏的 "开国元勋"
  3. 结果:梦幻系的人占据了网易游戏所有关键岗位,Python 成了 "首选语言"

金山这边:剑网 3 的 Lua 基因(2009 年)

  1. 2004-2008 年:剑网 3 研发了 5 年,中间团队崩过一次(赵青带核心团队跳槽网易做了《大唐豪侠》)
  2. 重建团队:新团队参考当时最成功的 MMO《魔兽世界》,而魔兽用的就是 Lua 插件体系
  3. 关键节点:2009 年剑网 3 公测,成了西山居唯一能打的产品
  4. 结果:剑网 3 系的人成了西山居的绝对主流,Lua 成了西山居的 "第一选择"

更多推荐