Minecraft 设计思想

卷三 · 技术实现

一个能跑的原型被成功拖进不可能的规模——技术史里的架构债与设计自由同源。五部:世界如何存在、模拟如何推进、呈现与交互、可扩展性与双引擎、工程教训。

卷命题:Minecraft 的技术史,是一个能跑的原型被成功拖进不可能的规模的历史。架构债与设计自由同源:本卷不歌颂也不鞭尸,只把价格单逐张读出来。

1先抛三句话

卷三的论证密度高,先把三句最反直觉的结论摆在门口,后文各章是它们的展开:

**单人模式就是本地服务器。**你以为的单机,其实是客户端和一台跑在你电脑上的服务端在互相通话——这个架构决定了很多事,从延迟手感(第 11 章)到反作弊为什么先天困难(第 10 章)。

**世界必须比引擎活得更久。**玩家十年前的存档要能在今天的版本里打开——这一条伦理要求(第 2 章)反过来锁死了无数工程决策,也解释了为什么有些债明明看得见却几十年不还。

**实体才是税。**方块便宜得像空气,会动的实体(生物、掉落物、矿车)贵得像税(第 6 章)——大型服务器的性能史,大半是与这份税单的搏斗史。

2五部地图

**第一部 · 世界如何存在(第 1–4 章)。**方块在内存里长什么样、世界怎么存储、生成管线怎么跑、光照与流体怎么更新。入口是《体素世界的数据模型》。

**第二部 · 模拟如何推进(第 5–8 章)。**刻与游戏循环、实体与碰撞、物品系统、红石的实现。20 TPS 是契约,打破它时游戏失去的不是帧率,是因果。入口是《游戏循环与刻》。

**第三部 · 呈现与交互(第 9–11 章)。**渲染、网络协议、音频粒子与手感谎言——手感很大一部分是客户端的表演,权威永远在服务器。入口是《客户端与渲染》。

**第四部 · 可扩展性与双引擎(第 12–16 章)。**模组与插件架构、数据包、Java 运行时、Bedrock 作为另一次实现、服务端与规模。可被模组的引擎才是完整的 Minecraft。入口是《模组与插件架构》。

**第五部 · 工程教训(第 17–18 章)。**技术债作为产品策略、以及卷结语「可被模组的引擎才是完整产品」。入口是《技术债作为产品策略》。

3怎么读这卷

爱好者主路径只需读懂「这意味着什么」:硬核的公式与包结构都压进了小节或可跳过的组件,不挡主论证。赶时间的爱好者可跳读第 4、5、8、11、15、17–18 章之外的全部细节;引擎向开发者建议全读,顺序即依赖序。本卷与前两卷的分工:卷二说「这些设计为什么好」,卷三说「这些设计付了什么价、谁付的、还没付完的挂在了哪」——读完本卷再回卷二,很多「简单」的设计决定会显出它的昂贵。

On this page