地理抽象层级
地理学家有许多不同的办法来看待这个世界以及别的真实世界。毕竟他们是专家。而虚拟世界的玩家大多不是地理学家,他们只会注意到比较显眼的错误。当然,设计者拥有超出普通玩家的知识总是好事,但玩家一旦不再注意到你在做什么,你就可以停下来。沉浸关心的是别把玩家打回现实,而不是教他们了解沉积岩的侵蚀模式 1。从这个角度来看,上一节列出的那些抽象层级,已经足够让一个虚拟世界获得它所需要的全部地理一致性。下面我们逐一细看。
分区是对虚拟世界的一种功能性划分,出于技术理由强加上的。并不是所有虚拟世界都会有分区。分区通常的影响,是把地理特征归并成便于分区的块状。山脉会在分区边界前止步,而不是让几座山麓伸过界去;河流会穿过一个分区,而不会越过边界来回绕;半岛只伸出刚好那么远,远到走到尽头也用不着换分区。
分区就像公路地图册的页面,只不过你可以改动地理特征,让它们正好合页。
地带是成片的大块领土,在战略层面上有各自鲜明的主题差异。比如“北境”可能寒冷,住着粗壮、多毛、扩张成性的蛮族;“群岛”可能是美丽的慵懒天堂,居民却嗜好人祭;“西区”(Westside)可能是片有大房子、泳池和长长车道的街区,住着对河对岸出生的人只有鄙夷的富人。
地带与自然地理边界相吻合。如果它们越过这样一条边界,那就是冲突的起因。在有分区的世界里,这两者常常重合;这是因为玩家对分区边界的感受,和(如果不是更强的话)对纯粹地理边界的感受一样强烈。分区与地带的关系并不必然是一对一(一个地带可以有几个分区,一个分区也可以有几个地带),但通常还是一体化的;一个地带只有一个分区的情形不常见。
区域是地带再往下细分出来的部分:它们在战略层面上主题相近,在战术层面却各有主题。“北境”可能由“群山”“谷地”“冰原”“众神之岛”“熔岩坑”等等组成。常常是由个别设计者把某个区域完整地定义下来,以保证该区域内部的氛围一致。
区域由房间组成。玩家正是在这个层级上体验虚拟世界。“房间”具体指什么,取决于虚拟世界向玩家呈现的方式。可选的做法有:
节点
坐标(格子)
坐标(多边形)
节点是点,与其他点之间可以有(潜在的)无限多条连接。这是文字虚拟世界的主流范式,尽管有些文字世界也用坐标系统。通常,单个节点代表玩家可共享的最小位置单位,在建筑里就是一个房间——「房间」这个名字就是这么来的。
从形式上说,格子坐标是一种节点系统,只是强制规定了节点之间的刚性关系;理论上你可以把格子表示成自由形式的节点。不过实践中之所以用铺砌,是因为用数组实现起来很容易。往往还有别的促成原因,但主要的原因是它映射到一种支持快速随机访问的数据结构。数组还便于自动生成内容,便于做快速的最短路径寻路,以及(最重要的一点)便于以(2D)图形方式显示。
使用格子坐标的文字虚拟世界,通常会给格子与其他节点同等的地位——也就是说,把每一个格子都当作一个房间,一个房间可以有多个玩家占据。图形化虚拟世界则追求更小的粒度,一个格子代表单个角色占用的空间;正因如此,格子只能单人占用,而一个主观意义上的“房间”由若干相邻的格子组成,周围是含有墙壁、门、窗以及其他建筑特征的格子。
节点与格子两种做法都以空间来定义虚拟世界。多边形则以围合来定义它。角色确实占据坐标,但角色的世界是用屏障——他们无法穿过的平面——来定义的。打个比方,想象一张方格纸:节点靠给方格编号来定出线;多边形靠给线编号来定出方格。
使用坐标系统的虚拟世界可以用图形方式显示。多边形系统里坐标的分辨率比格子系统还要小,因为角色本身就是由多边形拼成的。“房间”这个概念依然存在,指一个可以容纳许多角色的封闭空间,但它不再是原子的:角色可以处在房间与房间之间,处于某种过渡状态;而在节点系统里,这样一个位置本身就构成一个房间。
这三者当中,铺砌系统是最不灵活的。它没有处理细节所需的分辨率;尤其跟曲线合不来。精心绘制的纹理贴图能造成曲线的错觉,但玩家一旦对这些曲线做点什么(比如走上一段看起来是缓弯、实际是一级台阶的地方),这错觉就露馅了。
之所以采用 2D,通常是因为它实现起来相对容易,做动画 2 和升级 3 也容易;它往往是 Furcadia 4 这类业余爱好者虚拟世界的首选。随着廉价或免费的全 3D 引擎越来越容易得到 5,这种情况也许会改变,但有些人就喜欢“棋盘上的棋子”那种观感,以及它提供的清晰空间划分;所以 2D 这套做法不太可能消失。
由多边形平面构成的世界能更好地表现环境的不同侧面,因为它的细节更细。你可以轻松地把大型物体旋转任意角度,而不只是 90 度。曲线仍然有棱角,但这些棱角小到可以藏在纹理贴图后面而不显得假 6。
基于节点的系统是所有做法里最灵活的,因为它允许非欧几里得几何。在一个节点世界里,你可以从房间的北面出去,却从东面进来;你可以走进一个衣柜,发现那里是纳尼亚;你可以待在一个包含自身的房间里;你可以让多条出口通向同一个入口;你可以重新连接或销毁节点,留下一片封闭的虚空。
节点做法最直接的好处,是你用不着保持恒定的比例尺。走到一座塔的顶层,花的时间可以跟翻越一条山脉一样长。重要的细节因此可以得到近距离的关注,而不重要的细节可以一概略过。世界可以聚焦于要紧的东西,与玩家心里逐步建立起来的认知地图吻合。建立在坐标系统上的世界受限于真实世界的物理,没有这种精细度。另一方面,它们可以用图形方式呈现,而不受约束的节点系统就做不到这一点。
影响上述所有做法的一个问题是:在它们的边缘该怎么办?如果你一直往东走,会发生什么?应对这种情况,有一些久经检验的可靠办法:
绕回。如果你一直往东走,最后会回到起点——就像真实世界那样。
物理边界。路上有一道爬不上去的峭壁、一条游不过去的河、一片行不了船的海洋、一座过不去的森林。
大棒。如果你往沙漠里走得太远,不管你以为自己准备得多充分,太阳都会把你烤死。
情感边界。你的角色“不想”再往前走了。你可能想,但控制角色的不是你。
提示。如果你试图走得太远,会收到一条客气的消息,解释说设计者没能提供必要的内容。
隐形墙。没有任何解释,你就是走不出这块棋盘。
在以上这些办法里,物理边界最受欢迎,因为它处在虚拟世界的情境之内,又为日后的扩展留着一扇门。可惜它受欢迎到了其表达方式容易落成俗套的地步。“嗯,大海。看来我已经走到地图的西边了。”这里其实大有发挥想象力的机会。