《愤怒的小鸟》赚5亿美元,物理引擎作者零分成

《愤怒的小鸟》赚5亿美元,物理引擎作者零分成

物理引擎开源游戏Box2D

数据源:box2d.org + HN discussion + web research · HN

2026年6月30日,Erin Catto 宣布了他的新作品:Box3D,一个开源的三维物理引擎。

如果你没听说过 Erin Catto,没关系。但你一定听说过他上一个作品的故事——那个故事里有全球最火的手机游戏之一、一场公开的尴尬问答,以及一件作者本人并不喜欢的红色卫衣。


物理引擎是什么:给游戏世界装上”重力”

要理解这件事为什么值得写一篇文章,先得理解物理引擎到底是什么。

笔者打个比方:你在手机屏幕上划一下,让一只鸟飞出去砸绿皮猪——鸟的抛物线轨迹、撞击后木板的碎裂、石块滚落的方向,这些都是被”算”出来的。负责这些计算的东西,就叫物理引擎。

换句话说,物理引擎是游戏世界的”重力系统”。没有它,愤怒的小鸟只会直线飞过去,撞到东西不会有任何反应,木板不会碎,猪不会滚——整款游戏的核心乐趣直接归零。

而《愤怒的小鸟》用的物理引擎,叫 Box2D。

Box2D 引擎标志


GDC 现场:一场让全场鼓掌的提问

时间拉回 2011 年的游戏开发者大会(GDC)。Rovio 的市场负责人 Peter Vesterbacka 正在台上做一场主题演讲,题目叫”《愤怒的小鸟》——一个娱乐品牌的诞生”。Rovio 风头正劲,台下坐满了人。

问答环节,一个男人站起来提问:“请问《愤怒的小鸟》用了哪个物理引擎?”

Vesterbacka 不假思索地回答:“Box2D。”

提问者接着说:“那为什么制作人员名单里没有提到它?顺便说一下,我是 Erin Catto,Box2D 的作者。”

据 TechCrunch 当时的报道,全场爆发出掌声。一位前 Rovio 员工在 Hacker News 上回忆,Vesterbacka 的回答是:“会后聊。”

这就是全部。没有对峙,没有律师函,没有诉讼。会后 Catto 的名字被加进了制作人员名单。据说他还收到了一件 Rovio 的红色连帽卫衣——Catto 后来在论坛上说,他其实不太喜欢红色。

此时的《愤怒的小鸟》已经是全球现象级游戏。根据行业估算,该系列累计收入超过 5 亿美元(约合 36 亿元人民币),电影票房、周边衍生品不计其数。而支撑这个帝国的核心物理引擎,其作者收到的是——一句”会后聊”。


为什么没署名?MIT 许可证里的”君子协定”

这里有一个技术性的问题需要解释:Rovio 没有违法。

Box2D 使用的是 MIT 开源许可证。这个许可证极简、极宽松,大意是:你可以随便用、随便改、甚至可以打包进商业产品卖钱,不需要付我一分钱。唯一的要求是——保留版权声明。

而版权声明这件事,恰恰被 Rovio 忽略了。直到 Catto 在 GDC 公开提问,名字才被补上。

MIT 许可证的原文是这样写的:“如果在本软件基础上开发了产品,在产品文档中注明出处将不胜感激,但并非强制要求。“(an acknowledgment in the product documentation would be appreciated but is not required.)

“不胜感激,但并非强制”——这九个字,就是整个故事的注脚。

笔者不做道德审判,但数据摆在这里:一款年收入数十亿美元的游戏,使用了 MIT 许可证下的开源代码;开发者不提、不署、不分。直到代码的作者本人站到了演讲厅的麦克风前。


Box2D:一个改变游戏行业的业余项目

Box2D 的诞生,本身就是一个”无心插柳”的故事。

Erin Catto 是一位拥有数学博士学位的游戏程序员。2006 年,他出于个人兴趣写了一个二维物理模拟库,取名 Box2D,以 MIT 许可证开源发布在互联网上。

之后发生的事情,连 Catto 自己也未必预料到。因为 Box2D 设计简洁、运行高效、文档清晰,迅速成为独立游戏开发者的首选物理引擎。被 Box2D 驱动的游戏名单可以写满一整页——从《愤怒的小鸟》到《Limbo》(地狱边境),从《Incredibots》到《Happy Wheels》,甚至连 OpenAI 的强化学习训练环境 Gym 中,也内嵌了基于 Box2D 的物理模拟任务。

可以说,如果你在 2010 到 2020 年间玩过任何一款含有”真实物理碰撞”的二维游戏,它背后大概率站着 Box2D。

但 MIT 许可证决定了它的宿命:贡献巨大,回报为零。


十五年后的 Box3D:为什么他还在写开源?

这就要回到开头那条新闻:Box3D 发布了。

Box3D 是 Box2D 的”三维版本”。它将二维物理模拟拓展到三维空间——支持三角网格碰撞、高度场碰撞、大规模世界模拟、跨平台确定性、录制与回放等全新特性。代码全部使用 C17 标准编写,保持单一 C API 的极简风格。

Catto 在博客里坦率地写了他做 Box3D 的两个原因。

第一个原因很实际——他正在做的游戏需要它。Catto 目前在一家叫 Kintsugiyama 的工作室开发一款名为《The Legend of California》的生存游戏,使用虚幻引擎(Unreal Engine 5)。虚幻引擎自带的 Chaos 物理系统出了不少问题:砍倒的树会乱飞、细长物体旋转停不下来、对海量实体的支持不够高效。Catto 尝试过用 Jolt 等现成的开源方案,最后他的朋友——Valve 物理程序员 Dirk Gregorius(《半条命:Alyx》的 Rubikon 物理引擎作者)——建议他直接 fork 一个 Rubikon 的简化版自己改。

Box3D 演示画面

Box3D 物理模拟效果

于是 Catto 把 Rubikon-Lite 嵌进了虚幻引擎,又把自己在 Box2D v3.0 上积累的优化成果注入了进去。写着写着,这个 fork 就变成了 Box3D。

第二个原因更私人。Catto 在博客里写:“我从 2004 年就开始做游戏物理引擎。每换一次工作,之前的心血就得留在原地。这某种程度上也是我开发 Box2D 的原因——它是一个开源项目,承载了我的知识和努力,让我可以在未来的工作中继续使用它们。”

换句话说,开源对于 Catto 而言是一种”知识保存方式”。

Kintsugiyama 允许 Catto 在上班时间开发 Box3D 并将其开源。这意味着 Box3D 是世界上为数不多的、由商业工作室出资维持的全职开源物理引擎之一。


理想主义者的选择

笔者在阅读整件事的过程中,感触最深的是 Catto 的态度。

Hacker News 评论区吵翻了天。一派人认为,MIT 许可证就是 MIT 许可证,Rovio 没有法律义务付钱,市场规则如此。另一派人反驳:法律底线之上还有人情底线,5 亿美元的收入分不出哪怕 100 万美元吗?

Catto 本人从来没有参与这种争论。他在 GDC 上的提问方式也堪称体面——先问”你们用的是什么引擎”(让 Vesterbacka 自己说出 Box2D),再问”能不能署个名”,最后才报出自己的身份。没有控诉,没有指责,只是让事实自己说话。

十五年后,他依然在写物理引擎。从二维到三维,从 C++ 到 C17,从个人项目到有公司支持的正式产品。他说:“开源对我来说不是生意。我做 Box2D 和 Box3D 是因为我热爱游戏物理。看到这些年来用 Box2D 创造出的那些令人惊叹的游戏,我感到由衷的高兴。”

这种态度在今天的互联网上多少显得有些”不合时宜”。我们见惯了开源作者 burnout、删库跑路、对商业公司发律师函。而 Catto 选择的是另一条路:继续写。


最后

一个物理引擎撑起了 5 亿美元的游戏帝国。作者收到了一件红色卫衣——他还不喜欢红色。

十五年后,他发布了 Box3D。依然是 MIT 许可证。依然是开源。依然免费。

笔者认为,这个故事不需要一个煽情的结尾。它只需要被更多人知道:你手机里那些”物理效果逼真”的游戏,背后站着一个你可能从来没有听说过名字的人。

他的名字叫 Erin Catto。


参考链接: