Minecraft 设计思想
卷一 · 历史与商业起源(2009–2011)

从 Infiniminer 到 Cave Game

Minecraft 并不是从一张完整蓝图开始的。2009 年的 Cave Game 借来了方块、第一人称与可破坏空间,却在许多系统尚未出现时,已经让玩家能够直接改变世界并由此产生下一步。

2009 年 5 月,Minecraft 还不叫 Minecraft。

Notch 放出来的是一个很小的 Java 原型:第一人称视角,一块块粗糙的立方体,可以挖,也可以重新放回去。没有苦力怕,没有工作台,没有昼夜,没有红石,更谈不上末影龙。名字甚至还没稳定下来——Cave Game、Minecraft: Order of the Stone,最后才收成我们熟悉的 Minecraft。

如果只看画面,它和当时刚出现不久的 Infiniminer 实在太像了。

这并不神秘。Notch 自己就公开承认过这种影响。第一人称、方块地形、挖掘与搭建,都能在 Infiniminer 身上找到很直接的前身。

但也正因为太像,一个更有意思的问题很容易被外观盖过去:

同样是能挖、能垒的方块世界,为什么 Cave Game 后来会长成完全不同的东西?

答案当然不可能藏在 2009 年 5 月的几天里。那时候谁也不知道 Minecraft 会变成什么。可如果把两个游戏并排放在一起,已经能看到一个很早的分叉:Infiniminer 把方块放进了一场比赛,而 Cave Game 暂时没有急着告诉玩家这些方块应该拿来完成什么。

1一个看起来很像 Infiniminer 的原型

Infiniminer 是 Zach Barth 在 2009 年做的一款多人团队游戏。玩家在体素地形里挖矿、修路、搭工事,把矿物带回去换成分数;两支队伍竞争,一局结束时分数更高的一边获胜。

Infiniminer 游戏画面:第一人称视角下正在挖矿与垒墙,屏幕上有队伍与矿石计分
Infiniminer(2009,Zach Barth)。同样是第一人称、方块、挖掘和建造,但这些动作都服务于一局明确的比赛。图源:Minecraft Wiki。

它最重要的地方,不只是“用了方块”,而是让三维空间本身变成了可以随时修改的东西。墙不再只是关卡设计师摆好的障碍,你可以把它挖穿;地形不只是背景,你可以拿它来修路、封门、搭桥。射击、移动、采集和建造第一次如此自然地落在同一张可修改的空间里。这已经很接近后来 Minecraft 最迷人的部分之一。

但 Infiniminer 仍然非常清楚地告诉你这些动作为什么存在:挖是为了找矿,放是为了帮助队伍,改变世界最终是为了赢下这一局。

甚至当玩家开始无视比赛、专心拿方块造东西时,真正有趣的变化已经发生了:玩家开始把系统拿去做设计目标之外的事。

这里才是 Infiniminer 和 Minecraft 之间最值得看的连接。不是“Minecraft 抄了它的方块”,而是 Infiniminer 已经证明了一个可修改的三维空间会诱使玩家自己发明用途。Cave Game 接过了这种空间,却没有急着把它重新锁回比赛。

2Minecraft 不是从一款游戏里长出来的

如果只找一个“祖先”,很快又会遇到另一个问题:Minecraft 身上很多东西根本不像 Infiniminer。

它对程序生成世界的迷恋,对持久空间的兴趣,对玩家自己找目标的容忍,都来自更杂乱的背景。

Dwarf Fortress 提供的是另一种想象:世界不必只是关卡,它可以像一台系统一样自己运转。地形、资源、液体、生物和意外互相作用,玩家不是沿着作者铺好的路径前进,而是在一堆规则里处理自己制造出来的问题。

当然,Dwarf Fortress 的模拟远比早期 Minecraft 密得多。它有社会、需求、历史、情绪和层层叠叠的系统。Minecraft 没有照搬这些东西。更像是拿走了一种感觉:世界本身可以比任务更重要。

Roguelike 和程序生成地下城提供了另一部分传统:每次进入的空间可以不同,探索的价值不一定来自手工设计好的关卡。Minecraft 后来会把这种“不确定的空间”放大到一个几乎没有尽头的世界里,但在 Cave Game 阶段,这仍只是一个方向,而不是已经完成的设计原则。

Notch 自己更早参与过的 Wurm Online,则展示了持久世界的另一面:土地、技能、劳动和长期积累可以让玩家真的“生活”在一块空间里,只是代价也很明显——系统越密,生活越容易变成工作。

这些影响并不能拼出一张精确配方表,也没必要。更重要的是,它们让我们看到 Cave Game 所处的位置:当时已经有人做过可破坏空间、程序生成、持久世界、复杂模拟和玩家建造。Minecraft 的起点并不是“突然发明了所有东西”,而是把这些已经存在的方向放到一个异常轻的原型里重新组合。

3轻到几乎不像一个完整游戏

回头看 Cave Game,最容易被忽略的其实是它有多“空”。没有比赛、关卡、任务和技能树,甚至还没有后来意义上的生存系统。按通常的产品清单看,它离“一款完整游戏”还很远。

这并不意味着 Notch 在第一天就做出了成熟的“无目标设计哲学”。更朴素的解释是:这只是一个刚能跑起来的原型,很多系统压根还没做。

有意思的是,在这些东西缺席时,它仍然没有退化成一间只能测试移动和碰撞的空房。玩家已经可以直接改变脚下的空间,而改变后的空间又会立刻影响接下来的行动。

4世界本身就是交互对象

地面、墙壁、路径和高度都不是锁死的舞台。玩家可以直接修改它们,而修改后的空间又会改变移动、观察和下一次操作:挖掉一块挡路的石头,后面可能露出一个洞;洞口太陡,就垒两块方块当台阶;出来时怕找不到入口,又在旁边立一根柱子。

这里的反馈不只是“按下按钮,画面有反应”。玩家的动作会留在世界里,成为下一步真正要面对的环境。哪怕当时的 Cave Game 还没有后来完整的背包、合成和生存系统,这种持续变化的空间已经足够让行动彼此接续。

这也是它与许多传统关卡游戏很早的一次分叉。传统关卡更常让玩家穿过作者准备好的空间;Cave Game 则允许玩家在经过以后,留下一个已经被自己改过的世界。

5先把它做出来

这种“轻”,也和 Notch 当时的开发方式有关。

Cave Game 不是几年闭门开发后第一次公开的完整产品,而更像一个很快被丢到玩家面前的工作原型。Java 和 LWJGL 的意义首先也不是“它们最适合做未来世界上最大的游戏”,而是 Notch 熟悉它们,能很快让窗口、输入、OpenGL 和游戏循环跑起来。

他以前参加过 Java 4K 一类小型比赛,也做过许多规模很小、快速成形的原型。这样的习惯会让开发顺序和大型项目很不一样:不是先把所有系统列完,再逐项实现;而是先找一个能转起来的东西。

早期 Minecraft 还复用了他之前项目 RubyDung 的一些尝试,又把刚刚看到的 Infiniminer 式第一人称方块互动接了进来。

所以这段历史没有一个特别浪漫的“灵光一现时刻”。它更像很多真正的软件项目:看到一个有意思的东西,拿手头已有的代码试一下,删掉一部分,换掉一部分,然后尽快看它跑起来是什么感觉。

这种工作方式后来会变得非常重要,因为 Minecraft 很快进入公开开发:玩家不是在成品发布以后才进场,而是在游戏还不知道自己最终是什么的时候就已经开始玩它。

那是下一章的故事。

6起点不是答案

我们今天很容易从后来的 Minecraft 倒推 2009 年,然后说:看,最开始就已经有“开放世界”“玩家作者性”“涌现设计”这些伟大原则。但这样写历史会太顺。Cave Game 当时首先只是一个小原型,借了很多东西,也缺了很多东西,甚至还没有证明自己会成为一款完整游戏。

但它已经暴露出一个值得继续追的特征:

当世界本身可以被玩家反复修改时,即使游戏暂时没有规定足够多的目标,玩家也可能自己制造下一步。

这比“谁最早用了方块”更值得记住。Infiniminer 给了 Minecraft 一个非常重要的形式;Dwarf Fortress、Wurm 和其他游戏提供了关于世界、生成与长期空间的不同想象。Cave Game 没有把它们完整继承下来,而是先做成了一个更轻、更空、更容易继续变化的东西。

它后来是不是因为这种“空”才成功,还需要后面很多章才能回答。现在只需要停在 2009 年的这个瞬间:一个看起来像 Infiniminer 的小原型,已经能让人挖掉一块世界,再把它放到另一个地方。

剩下的 Minecraft,还没有发生。

7这一章留下什么

  • 爱好者:Minecraft 的起点并不是一次凭空出现的发明。更有意思的是,熟悉的方块、第一人称和可破坏空间被重新组合以后,原本服务于比赛和系统的空间,开始能够容纳玩家自己的目的。
  • 开发者:原型阶段最值得学的不是“少做功能”,而是先找到一个即使内容很少也能自己产生下一步的循环。Cave Game 的价值不是它已经回答了 Minecraft 是什么,而是它让这个问题值得继续做下去。

On this page