虚拟世界之外
那么,我想烤一条面包。我拿来各种材料,把它们混在一起,塞进烤箱,然后——我等着?如果我做的不是面包,而是打造剑呢?我把金属聚到一起,加热、捶打、快速冷却、加热、捶打、快速冷却、加热——这样要弄多久?我真的非得亲自动手做这件事吗?有技能的是我的角色,不是我——既然这样,为什么他做事的时候我还得在场?
反反复复点击同一个图标(对真正先进的系统来说,是同样那三个图标)、一坐就是很长很长时间,这种纯粹的单调促使设计者去寻找减轻无聊的办法。最有前途的一种办法还打开了别的可能性:离线行动。
虽然许多玩家也许很难相信,但他们不可能一天 24 小时都在自己的虚拟世界里玩。现实世界有一些必须满足的需求,尤其是睡觉。有些时候,玩家与自己的角色是断开的。在这段离线期里,角色在做什么?
嗯,答案是:他们可以做那些玩家在线时不想让他们做的事情。于是,角色可以睡觉、吃饭、上厕所等等。出于安全 1 和避免混乱 2 的考虑,他们做这些事时通常不会显形出现在虚拟世界里(也就是说,他们不会暂时变成非玩家角色);不过,他们在抽象意义上是待在那里的 3。
因此,事情看上去很明显:如果玩家想让自己的角色去做某种极其无聊的事,那就该在这段时间做。你让角色去挖矿,然后退出登录,去上学,半天后回来,重新登录,你的角色已经往你的仓库里存了六大卡车的矿石。
虚拟世界一直都会在某种程度上考虑到角色在玩家离线期间的持续存在。比方说,MUD1 会在没人玩某个角色时逐渐治愈他的伤口。不过,这些其实算不上离线行动;对于角色在你不在时做什么,你并没有真正的选择权。
往这个方向迈出的第一步与交易有关。你雇一个非玩家角色在你外出冒险时替你买进卖出(通常是卖出多于买入)。你这一场玩完时,那个非玩家角色仍留在原地,因此你下次回来时,可能会发现有人从你这里买走了东西,或者把你要的材料卖给了你。在这种情况下,价格变动如何运作还有些问题,但总体上是行得通的。离线制造把同一条原则从某个受雇的非玩家角色扩展到了角色本人,并且是模拟角色在做什么,而不是真的让他去做(对非玩家角色则是真做)。
技能学习很契合这套系统。学会做一只罐子,并不是在你交出学费的那一瞬间就完成的事;要说得通,它就该花时间。把它做成离线发生的事,就可以暗示这段时间的流逝,又不至于把玩家耗到崩溃。此外,这也让玩家盼着下一次上线,好试试新技能,而且,嘿,它对冒险者也有好处!
离线行动还有其他用途,其中也许最有趣的是旅行。虚拟世界很大,但玩家其实体会不到它有多大,因为能让他们瞬间移动的(破坏经济的)方案就摆在那里。没人愿意让玩家拖着角色穿过沙漠,可你要是允许他们按一下魔法按钮就瞬移到位,又怎么能传达出路途遥远的感觉?嗯,离线行动能让你做到这一点。你让角色出发,步行、骑马、飞行,或者随便什么方式,然后断线。第二天重新连上时,你就在那里了。如果你过早重连,你就会出现在沙漠中,具体位置根据你的出发点、目的地、经过的时间以及交通方式插值算出。
无论把离线行动用在什么地方,处理它们都有两种办法。
第一种办法是事先下令。就在退出登录之前,你告诉虚拟世界,你的角色在你离开期间要做什么。这些任务有的会比别的更耗时,但你可以把命令排成一个队列,所以这其实无关紧要。你下次登录时,角色已经处理完了队列里的一部分或全部,你可以从那里接着往下走。这种做法的好处是:任务完成时你可以收到通知(比如通过电子邮件或电话留言),而且你不必使用虚拟世界的客户端软件就能下达命令(比如上班时用普通的网页浏览器)。
第二种办法更接近量子力学的思路。你的角色在你离线期间累积活动时间,但你不必在登录、把量子波函数坍缩之前就决定这些时间怎么花。这意味着你可以把离线期间发生的事件考虑进去——比如,要是你本来没打算去的那片山里发现了黄金,你就能改道。这种做法是在事后才补上决定,因此不允许在动作完成时打断,但方便你与那些自你上次玩之后就走散了的朋友会合。
当然,虚拟世界没有理由不把这两种办法都用上:当动作队列为空时,随后的离线时间就被存起来,留给玩家下次登录时使用。
离线行动并不是无聊活动的万灵药。实际上,能花在离线上面的时间通常会有某种上限,哪怕只是为了阻止玩家设置好按程序运行的“骡号”,把它们当成制造工厂的摇钱树。有些人原则上反对这种做法,因为它会破坏玩家与角色之间的联系(“我怎么可能同时身处虚拟世界又在办公室里上班?”)。尽管如此,这个想法确实有潜力,而好处似乎大于坏处。