跳转到主要内容

固体:组合体

组合体是由其他物体构成的物体。铁钥匙有磁性吗?有。那斧头呢?嗯,头部那一块有。那一条牛仔裤呢?不太算,除非你把拉链和铆钉也算进去(前提是它们用钢做,而不是用铜做)。

大多数时候,人们把物体当作单一的物品来想,但只要有必要,他们也很乐意把它们看成由其他物体构成的。在虚拟世界里,这就成了个麻烦。如果物体是由其他物体做成的,那些物体也必定是由别的物体做成的,如此一路下去,直到某一点上你不得不就此打住为止。这个点在哪里?反过来说,如果物体不是由其他物体做成的,你又怎么指称一个物体的组成部分?门既然有钥匙,就必然有钥匙孔,对吧?

按惯例,虚拟世界没有组合体。你不能把物体拆成零件。如果你需要指称某个物体的一部分,指称这一部分,就等同于指称作为整体的那个物体。当我能透过门上的钥匙孔看时,就等于我在透过门看。

组合体之所以不存在,原因很简单:支撑这套功能的物理还不够格。属性挂在物体上,不挂在物体的配置上;如果你把属性挂到物体的配置上,那些配置本身就等于成了物体。

举例来说,假设在现实生活中我有一架木梯子。我能爬上梯子。我爬不上木琴。不过,我可以把梯子拆开,用那些部件做一架木琴。我能在木琴上演奏音乐,在梯子上却不能。木琴这个组合体与梯子那个组合体所用的物体相同,但两者有着截然不同的属性。

要给这个问题硬凑一个解决方案是可能的。你可以规定 “dismantle ladder” 或 “dismantle xylophone” 会销毁原来的物体、创建出两个新物体:“poles”(杆)和 “nails”(钉)。然后你可以允许 “make ladder from poles and nails” 和 “make xylophone from poles and nails”。遗憾的是,除非你事先已经想到了这一步,否则那个试着 “make fence from poles and nails” 的玩家会失望。

在真实世界里,物体之所以是物体,只是因为有人这么说。它不过是用来描述现实之中某些显现的一种语义手法。事实上,物体甚至不必是真实的:“如果我有个妹妹,她叫莫伊拉”;“没有人跟着我”。人们日常就会指称并不存在的物体,而且不只是以反事实或未实例化变量的形式。不管你对宗教怎么看,你都得承认宙斯、耶和华和毗湿奴是彼此不相容的存在,但对某些人来说,它们跟石头一样真实(至少对宙斯来说,曾经如此)。

用虚拟世界的眼光看,所有物体都跟石头一样真实(或者至少跟虚拟的石头一样虚拟)。它们存在,因为玩家就是这样理解自己的环境的。然而,真实世界里的人在灵感来时可以召唤出新的物体,在虚拟世界里这一点做不到。物体只能拥有被赋予的那些属性;组合体不能凭自身的构造就凭空获得任意的涌现属性。你不能发明物体,只能给已有的物体发明新用法。

虚拟世界之所以没有组合体,是因为那只是把问题推远了一层。到了某个阶段,你总得停下。既然反正都得停下,又何必开始?玩家会试着拆解物体,失败,沉浸感受损,然后放弃尝试。如果组合体的先例已经立下,他们就会一直试下去,因为有时行得通、有时行不通。每一次失败都会打击他们对现实模拟的信任。

不过,沿用我先前在 NPC 上用过的那套推理(也就是说,哪怕只是最粗浅的 AI,也比没有强),可以主张:任何在深度上前后一致地实现出来的组合体,都比完全没有要好。一把斧子由一根柄和一个斧头组成;一个斧头由六磅铁组成;六磅铁由两块三磅重的铁熔在一起组成,如此等等。只要把所有物体都定义为由其他物体和数量有限的可识别资源“原子”构成(这些原子又能分解成自身越来越小的版本),组合体就可以实现。这虽然不是一套完美的系统(每一种物体都需要一份“配方”,所以除非事先有了配方,新物体就造不出来),但比起完全没有组合体,这无疑是进步:它能容许更多的玩法,能提供的沉浸感也更好。

尽管如此,那些想用帆布和破桶造出一架滑翔机的玩家,多半是在浪费时间。