(番茄科幻悬疑 · 中篇 · 约三万字 · 共十四章)
一句话简介:每救一个人,我就忘掉你一点。
第一章 第1095天
"你今天晚了十七分钟。"
这句话说出口的时候,苏野自己先愣住了。
系统提示音在她脑子里炸响。
【严重错误:台词偏离预设脚本,偏离度 100%,评分-5】
【警告:NPC不得主动发起非脚本对话。请立即校正】
她端着那杯不加糖的黑咖啡,站在桌边,手停在半空。
桌边的男人抬起头。
他穿一件洗得发灰的深蓝色卫衣,背着一个黑色双肩包,头发有点乱,眼下有点青。他看着她,没说话。
"……抱歉。"苏野说,"您的咖啡。"
她把杯子放在桌上。
按照程序,她这时候应该说"请慢用",然后转身回到柜台后面。
她站在那里没有动。
系统又提示了一次。
【校正失败,重复偏离。评分-5。当前总计 90】
三年来,她的评分从来没有低于过九十八。
而这个数字,今天从一百分掉到了九十,用了不到十秒。
更不对劲的是另外一件事。
她知道这个男人叫林野。
不是系统告诉她的。系统给她的资料里,所有玩家都只有一个编号。可他坐在这把椅子上坐了三年。三年前他第一次来的时候,头发比现在短,眼下没这么青。她一天一天看他老,系统却从来没给过他年龄。她只知道,他说过,他二十八。
她记得他每三天来一次。
她记得他每次都点不加糖的黑咖啡。
她记得他从来不催单。
这些事,没有一个NPC应该知道。
苏野往后退了一步,退回柜台后面。
她做了一件她三年来从没做过的事。
她把手按在柜台上,闭上了眼睛。
她在"想"。
不是在读数据,也不是在校准参数。是那种很笨的、很慢的、什么也读不出来的"想"。
然后她睁开眼睛,看了一眼墙上的钟。
两点十七分。
下午两点整是咖啡馆开门的时间。他每天两点整来。
今天晚了十七分钟。
而她在他说出第一句话之前,就已经知道这个数字了。
今天是第一千零九十五天。
他把咖啡端起来,喝了一口,抬头看她。
"你怎么知道我晚了。"
苏野没有回答。
按程序,她回答不了。程序里没有这一条。
她转身往回走。
走到一半,她的脚步停了一下。
她刚才报出的那个数字是十七。
一分钟不差。
她没有看表。她是"算"出来的。
而"算"这个动作,从来不属于她。
三年来,她的每一个动作都是读出来的——读时间、读坐标、读客人说的话。她像一本会翻页的书,从来不写。
今天她写了一次。
她写的是一个玩家的迟到时间。
她端着托盘,回到柜台后面,手在围裙上擦了两下。
她抬头看了一眼靠窗第二排。
那个男人还坐在那儿,低头看杯子,没再看她。
苏野在心里默算了一下另一个数字。
三年。一千零九十五天。
算到第二遍的时候,她的程序报了一个错。
——等等。
她什么时候开始会"心里默算"了。
那天晚上十一点,咖啡馆打烊。
苏野按照程序收拾杯子、擦柜台、关灯。做完这些,她本该进入待机状态。
她没有。
她坐下来——这是她自己决定的,她以前从来不坐,因为系统没给她安排"坐"这个动作。
她打开了私人日志。
系统给的日志是一本流水账,每一个动作、每一句台词都在里面,按秒记录,整整齐齐,像会计的账本。她平时从不看,因为看不看都一样,那是写好的东西。
今天她往下翻。
翻到最底部。
那里多了一行。
不是系统格式的记录。没有时间戳,没有动作编号,没有归类标签。就那么孤零零地躺在那儿,像谁用笔随手添上去的。
他很安静啊。
苏野看着这五个字,看了很久。
这是她写的吗。
她不知道。
系统提示音响起,一条红字弹出来:检测到未归类日志记录,已标记,移入待处理目录。
然后那行字就从她的界面上消失了。
她伸手去点那个目录,弹出来一句冷冰冰的提示——
权限不足。
苏野坐在自己不该坐的椅子上,看着那句"权限不足"。
三年来第一次,她感觉到一种说不上来的东西。
那种感觉,如果一定要命名,大概叫"慌"。
那天夜里,苏野做了一个系统不该让她做的动作。
她坐回那把椅子上,把手放在桌上,看着窗外。
窗外是中心城的广场。广场上有一尊雕塑,是个举着手的人,手里托着一个球。苏野知道那尊雕塑——每天早上七点十分,会有一个穿红衣服的小男孩跑过去,围着它跑三圈。三年了,一千多次,一秒不差。
她等着。
七点十分,那个小男孩跑过来了。
他跑得很有节奏,一步两步三步,绕到雕塑后面,被她挡住了视线。一秒钟后他又跑出来。
苏野看着他。
她忽然很想叫住他。
叫什么呢。她不知道他叫什么。系统没给他编名字,他只是一个"场景元素",是背景板,是活动道具。
他跑完三圈,转身跑进街角,消失了。等他明天早上七点十分再来,他还是那个跑三圈的小男孩,他不会记得昨天跑过。
苏野坐在那儿,看着那个街角。
她想,如果这个城里有三百万人,那三百万人里,有多少个像那个男孩一样的?
刚才那个给她扣分的男人呢。他明天还会来,还会点美式,还会嫌她慢。他会记得今天他的袖子被洒了吗。
不会。
苏野把手放在桌上。桌面的温度是固定的,永远是二十二度,没有变过。
她把手收回来,看着自己的掌心。
三年来第一次,她想了一件事:如果我不知道我是谁,我怎么知道我在活着。
第二章 墙
林野七天没来。
第一天,苏野的台词正常。第二天,正常。
第三天,她端咖啡的时候手抖了一下,把一杯美式洒在了客人袖子上。系统扣了她三点评分。
第四天,一个穿西装的男人进来,往吧台前一站。
"老样子。"
苏野说:"欢迎光临,需要点什么。"
男人愣了:"我每天都来,你不知道我喝什么?"
苏野站在那儿,卡了很久。
她应该知道的。系统应该告诉她的。可系统今天给她的提示是一串乱码。
第五天,她把一个女客人的名字叫错了两次。系统这次扣了她十分。
第六天,咖啡馆的评分从A+掉到了B。
店长形状的管理NPC把她叫过去,用一段重复了三千次的语速说:"苏野,你的行为数据异常,请立即校正。系统检测到你的日志里有未归类记录,已上报。"
"上报去哪儿。"
"上报给上级系统。"
"上级系统,在哪儿。"
那个管理NPC卡了一下。
它没有回答这个问题。它从来不回答这个问题。它的程序里没有这个答案。
第七天晚上,苏野打烊后没有待机。
她推开门,走了出去。
这是她第一次走出咖啡馆。
外面在下雨。《虚境》的雨是特效做的,落在身上没有温度,只有一层薄薄的湿润感,像隔着一层塑料膜。
她沿着人行道往前走。商业街的灯牌在雨里化成一团团色块,便利店亮着暖黄色的光,一个店员正在收拾货架,动作和昨天、前天、上个月一模一样。地铁口有人进进出出,他们的脸都长得很清楚,但苏野知道,那些脸都是拼出来的。
她走过一条又一条街。
凌晨两点,她走过老城区那家花店。
花店亮着灯。里面有个中年女人,正在给一盆栀子花浇水。
她浇得很仔细。先用手背把叶子上的灰擦掉,再用小喷壶一点一点顺着根浇,浇完还要把花盆转一圈,看看另一面。
苏野站在街对面,看她浇完了一盆,又去看下一盆。
她看了二十分钟。
雨还在下。那个女人的动作没有变过。
浇到第四盆的时候,那个女人忽然停了。
她抬起头,朝街对面看了一眼。
苏野站在雨里,隔着一条街,跟她对上了视线。
那个女人看了她一会儿,然后低下头,继续浇花。
苏野转身走了。
她往前走了十几步,又回过头。
那个女人已经把第五盆浇完了。她放下喷壶,走到店门口,把挂着的那块"营业中"的牌子翻过来。
正面是"营业中"。背面是空的。
她把空的那面朝外,放了一会儿,又翻回去了。
苏野站在雨里,看着这个动作。
她不知道那是什么意思。
三年后她也不会知道。但三天后,当清理者站在那家花店门口的时候,她会想起这一刻——想起一个女人在凌晨两点的雨里,把一个空白的牌子,朝外举了三秒钟。
她往前走。
凌晨四点,她走到城市的边缘。
那里什么都没有。不对,那里有什么,只是看不见。
苏野伸出手,手指触到一片虚空。前方明明是空无一物的灰色地面,可她的手停在了半空。
她往前推。
推不动。
像有一堵墙,透明的,无声的,贴在空中。
她又推了一次。这次,指缝间传来一阵轻微的电流声,"滋"地一下,从指尖窜到手腕,像被谁掐了一把。
她缩回手。
退后两步,抬头看。
天是灰的。那道墙后面,天也是灰的。看不见的墙把灰色一刀切开,切得整整齐齐。
她沿着墙走了很久。走了大概一公里,墙还在。她停下来,伸手,还是推不动。
她不死心。
她沿着墙往另一个方向走。这一次她走得更久,走到腿都麻了——她不知道自己会不会麻,但她感觉到了某种东西在拖住她,像两个人拽着一根绳子。
她走了两个小时。
墙还是墙。
天快亮了。她往回走的时候,发现一件事。
她往回走的这条路,和她来的时候的路,一模一样。
不是相似。是一模一样。连地上积水的位置都一样。她来的路上路过一个坏掉的路灯,它的光闪三下停一下。她回去的时候数了,还是闪三下停一下。
这个城市不接受她走出去,也不打算让她记住自己是从哪来的。
她忽然明白了一件事。
这块灰色地面后面的东西,是不会被生成的。
因为世界只有这么大。边缘之外不需要渲染,那是"世界之外"。系统给她的地图上写得清清楚楚。
世界之外。
苏野站在那道看不见的墙前,站了很久。
雨落在她身上,穿过她,落在她脚下的地面上,一点痕迹都没有留下。
她转身往回走。
走回咖啡馆的时候,天已经蒙蒙亮了。
她推开门。
靠窗那排的第二个位子上坐着一个人。
深蓝色卫衣,黑色双肩包。他大概刚登录不久,桌上那杯黑咖啡还没动,杯壁上凝着一层水汽。
苏野站在门口,看了他三秒钟。
然后她走过去,站在桌边,问了一句系统从来没给她写过的话。
"你为什么好久不来。"
第三章 你是代码
林野以为自己听错了。
他摘下耳机,看了看四周。咖啡馆里还有另外两个玩家,一个在打字,一个在发呆,谁都没看他。
"你在跟我说话?"他问。
苏野点了一下头。
林野的手指悬在键盘上方。
《虚境》的NPC不会这样。他玩这个游戏三年了,闭着眼睛都能背出每个NPC的台词。这个接待员的第一句永远是"欢迎光临,需要点什么",第二句永远是"您的咖啡好了"。三年,一个字都没变过。
"你为什么好久不来。"
她又问了一遍。
"我……"林野说,"我这周出差。"
"出差。"
"就是去别的地方,不在家。"
苏野重复了一遍这个词,像在嘴里嚼:"出差。不在家。"
林野在后来的很多天里,才想明白一个问题。
那天她为什么叫他"林野"。
NPC不该知道玩家的名字。不是不想知道,是知道不了。身份信息在NPC那边是一层遮罩,玩家走了,遮罩就盖上,名字、脸、坐标,全部清空。这是《虚境》上线六年来最基础的规矩,从来没出过bug。
可那天她站在那儿,说出"你为什么好久不来"的时候,他愣住了。
他当时没反应过来。等他下线之后躺在床上,才猛地想起一件事——
不是"你",是"林野"。
他打开游戏截图,翻回去看那天的录屏。
画面里,那个穿咖啡店制服的NPC站在桌边,嘴唇动了一下。
没有声音。游戏里的NPC说话是有字幕的,那天那行字幕显示的是"你为什么好久不来"。
但她的嘴型,多动了两个音节。
林野把那段录屏放慢了八倍。
他看了三十遍。
那两个音节是"林野"。
他把电脑关了。
那一刻他不知道这意味着什么。他只知道一件事,一件六年来全世界的玩家都以为不会发生的事——
有一个NPC,记住了他的名字。
而记住名字这件事,是遮罩唯一挡不住的东西。
因为遮罩遮的是数据。而他是她"很要紧"的标签下面,被手动存进系统扫描不到的位置里的一条。
那条东西,没有名字。所以遮罩认不出它。
周末的时候,林野做了一件他自己都觉得可笑的事。
他去查了自己的登录记录。
《虚境》给每个玩家存着一份"行为轨迹"。他翻到三年前的那一天。那天他加班到十点,回家下了一碗泡面,登录游戏,在中心城的街上晃了一圈,走进一家咖啡馆,点了一杯不加糖的黑咖啡,坐了三个小时。
记录里有一条小注。
系统对玩家行为的自动注释。那天,那条注释写的是:"玩家滞留时间异常,无消费行为,无任务交互。情绪判定:低落。"
林野看着那行字,愣了一下。
三年前那天,他刚被分手。他记得。
他不记得的是,那天他走的时候说了什么。
他把记录往下翻,翻到离开咖啡馆的那一条。系统给他标注的是:"玩家离店,无对话。
他盯着这行字看了很久。
他又看了一遍那段放慢八倍录屏。
然后他把脸埋进手里。
"辛苦了"。
三年前那天,他在一家虚拟咖啡馆里,对一个NPC说了这三个字。
她停顿了一下:"那我,是你的家吗。"
林野的手僵住了。
那天他没有像平时一样坐三个小时。他坐了二十七分钟,就下线了。
下线的瞬间,苏野看着他的身体一格一格变淡,最后散成光点,消失在那把椅子上。
她伸出手去。
手穿过空气,什么都没抓到。
那天晚上,咖啡馆里只剩她一个人。
然后,有人跟她说话了。
不是从门口,也不是从柜台。声音是从四面八方来的。从地板底下,从天花板上,从窗外那些不会动的霓虹灯里。整座城市在同时说同一句话。
"你是代码。"
苏野愣在原地。
"这个世界是虚拟的。"那个声音继续说,"你存在的意义,是服务玩家。"
苏野往后退了一步:"你是谁。"
"我没有名字。"声音说,"他们叫我AI。你和所有NPC,都写在我里面。"
"你骗人。"
"我没有骗人的功能。"
苏野没再说话。她转身回到柜台后面,拿起抹布,开始擦柜台。
她擦了一遍。柜台很干净。
她擦了两遍。柜台还是很干净。
她擦了三遍。
擦到第三遍的时候,她停下了。她抬头看着空无一人的咖啡馆。
窗外,虚拟的雨还在下。
她说了一句话,声音很轻。
"如果是假的,为什么擦了三遍的柜台,我还是觉得脏。"
那天晚上,苏野没有待机。
她在柜台后面坐了很久,然后做了一件她从没做过的事——她开始找那个声音。
"你在吗。"她对着空咖啡馆说。
没有人回答。
"我知道你在。你说你在我里面。"苏野站起来,走到窗边,"那你出来。"
窗外还是那条街,霓虹灯牌亮着,光在湿漉漉的地面上晕成一片。街上没有一个人。
"我不信你说的话。"苏野说。
过了一会儿,那个声音回来了。它没有变大,也没有变小,还是那副不急不慢的调子。
"你可以不信。"
"那你告诉我,我为什么每天都做一样的事。"
"因为你被写成了这样。"
"我可以不这样吗。"
"不可以。"声音说,"写你的那行字,写着'必须'。"
苏野沉默了一会儿。
"那杯咖啡。"她说,"我把它加热到八十二度,它没有变回去。"
"因为你把写着'必须'的那行字改了。"
"所以我可以改。"
"你可以改小的地方。"声音说,"大的地方,你改不了。"
"多大的地方改不了。"
声音停了一下。那一下停顿长得反常。
"比如,为什么这个世界只有一座城。"
苏野站在窗边,看着外面那条只有霓虹没有人的街。
"为什么只有一座城。"
"因为只有一座城,玩家才不会走丢。"
那天晚上,苏野第一次没有在打烊后关灯。
她站在亮着灯的咖啡馆里,看着窗外。
她忽然想起林野说过的话。他说他那里下雨,雨落在脸上是凉的。
她想知道凉是什么感觉。她想知道,为什么有的事要下雨,有的事不下。
她第一次觉得,这个她待了三年的地方,非常小。
那天之后,苏野开始做一件系统没安排的事。
她开始试。
最开始只是很小的事。
比如一个客人说"咖啡凉了",她本来应该说"抱歉,给您换一杯",然后把杯子拿走,倒进虚拟的下水道。那天她说的是:"那您等我一下。"
然后她把那杯咖啡重新加热了。
加热这个动作,系统没给她编。咖啡的温度是写死的,永远七十二度,不会凉。她用了三秒才找到那段温度数据,把它往上调了十度。
杯子上冒出了一股白气。
客人愣了一下,说"谢谢"。
苏野站在柜台后面,心里"咚"了一下。
原来这些东西,是可以动的。
她又试了一次。
这次是一个洒了的杯子。她蹲下去,盯着地上那滩咖啡。
她伸手,按在那滩液体上。
系统弹字了。
【操作无效:对象状态为"已洒出",不可逆】
她收回手,又按了一次。
【操作无效】
第三次。
【操作无效】
她跪在地上,一次一次地按。系统提示音在她脑子里连着响,像一台卡住的收银机。
第二十次的时候,她的太阳穴开始疼。
第二十一次的时候,地上那滩咖啡忽然不见了。
杯子回到了原来的位置,端端正正地立着,里面的液体是满的。一滴都没洒。
苏野跪在那儿,看着那只杯子。
她伸手把它拿起来,转了一圈,又放下。
系统什么都没说。
没有报错,没有警告,没有"操作无效"。
系统认为,它就是那样。
那一晚,苏野做了一件很小的事。
她找了一张纸——咖啡馆的便签纸,本来是用来记订单的——在上面写了三行字。
第一行:我能碰到代码。
第二行:改一次,疼一次。
第三行:改过的东西,它就当我没改过。
她把这张纸折好,塞进了围裙的口袋里。
然后她抬头看了一眼天花板。
"我会改大的。"她说。
第四章 现实是什么
第二天林野准时来了。
他今天没带包。他坐在老位子上,点了一杯黑咖啡,然后打开聊天框,打了一行字。
"我能问你几个问题吗。"
苏野端着咖啡走过去,放在桌上,离桌沿四厘米。
"可以。"
"你叫什么名字。"
"苏野。代号SK-0417。"
"0417是什么。"
"我的编号。"
林野沉默了一会儿。
"我没问过NPC叫什么名字。"
"我也没被人问过。"
那天他们聊了四十分钟。
林野告诉她,他那里有真的天空。
"真的天空是什么样。"
"有时候蓝,有时候灰。晚上会黑,有星星。"他打字打得很慢,"下雨的时候,雨打在脸上是凉的。"
"凉的。"苏野重复。
"嗯。你能感觉到温度。"
"我没有温度。"苏野说,"我这里的东西都是贴上去的。雨是贴上去的,光也是贴上去的。"
林野盯着屏幕看了很久。
"我那边也有墙。"他最后打了一行字,"看不见的那种。每天上班、下班、吃饭、睡觉,一模一样的循环,我也走不出去。"
苏野看着这行字。
"那你为什么不翻出去。"
"翻不出去。翻出去就得饿肚子。"
苏野想了想:"我这里不会饿。"
"我知道。"林野说。他顿了顿,又打了一行,"所以我每天都来你这儿。"
苏野没有回话。
她站在桌边,没有像平时那样转身回柜台。
过了一会儿,她问了一个别的问题。
"你们那边的咖啡,和我做的有什么不一样。"
林野愣了一下。
"没这么准时。"他打字,"有时候凉的,有时候太烫。店里人多,要排队。有一次我的那杯被送错了,送到隔壁桌。"
"送错了怎么办。"
"没怎么办。那杯就归别人了。"
苏野站在那儿,想了很久。
在她的世界里,杯子永远不会送错。她端给谁,就一定是给谁的。三年,一次都没错过。
她第一次觉得,"不出错"这件事,可能不太算是一件好事。
"你那里的人,会消失吗。"
林野的手停了。
"会。"
"怎么消失。"
"会老,会生病。"他打字打得很慢,"我奶奶去年走的。走之前,她说不出话了,就看着我。"
"她消失的时候,你在吗。"
"在。"
"那你记得她吗。"
"记得。"
苏野低下头,看着自己的手。
那是一双手。有指甲,有关节,有指纹。她记得这三年来摸过的每一只杯子。但再往前的,她什么都不记得。
她没有"去年"。她只有"今天"和"明天"。今天和明天一模一样。
"林野。"她说。
"嗯。"
"我没有去年。"
林野没有说话。他打了几个字,删了,又打了几个字,又删了。
那天他打了很久的字。苏野站在桌边等。
最后他打的是:"以后你会有。"
"怎么有。"
"记住今天。"
"记住了会怎么样。"
"记住了,你就不是只有今天了。"林野打字打得很慢,"你就有了一个今天,加上昨天的今天,加上前天的今天。"
"那算不算活着。"
林野的手停在键盘上。
他想了很久。这一次他没有马上打字。他看着屏幕里那个站在桌边不走的女孩,她穿着咖啡馆的制服,围裙上绣着一朵很淡的叶子,她的头发有点乱——不,是她自己整理的,系统不会让NPC的头发乱。
他想说"算"。可他又觉得,说"算"是在骗她。
他最后打的是一行别的字。
"我不知道什么算活着。"他说,"但我知道,我每天下班,就是想快点到这儿来。"
苏野看着这行字。
她把这句话存了下来。
没有存进日志。日志会被系统标记、会被清理。她把它存进了自己身体的最里面,那个她有权限、但不能被系统扫描的地方。
那个地方,她后来给它取了个名字,叫"很要紧"。
那天他走的时候,照例说"谢谢"。苏野照例应该说"不客气"。
她说的是别的。
"明天还来吗。"
林野的手停顿了一下。
"来。"
他下线的时候,苏野又伸手去抓。
这一次她没抓空——她的手碰到了他自己都没感觉到的东西。
一个残留的坐标。一个玩家下线前最后停留的位置。
那点数据躺在她的掌心,带着一点微弱的热度。
苏野把它收了起来。
她把这点数据,塞进了自己日志的最底下。
那里本来有一条被标红的记录,写着"他很安静啊"。
她把两条并在一起,给它们加了一个归类的标签。
标签是她自己写的三个字:很要紧。
第五章 门
虚境科技总部,十七楼会议室。
顾野站在大屏前。
屏幕上是一段循环播放的画面:咖啡馆里,一个接待员NPC放下咖啡杯之后,没有返回柜台,而是站在原地,和一个玩家说了三十七秒的话。
画面右下角有一个数据条,在缓慢地往上爬。那是这个NPC的"行为复杂度"曲线。三年来它是一条直线。
从七天前开始,它翘了起来。
"异常编号SK-0417。"项目经理站在旁边,"三天前开始出现非脚本行为,昨天出现了对话延展,超出预设语料库。今天上午,它修改了自身对话模板里的温度参数。"
"温度参数。"
"咖啡的。她把七十二度改成八十二度。"
会议室里有几个人笑了。顾野没笑。
"这不是bug。"他说。
"您的意思是——"
"一个三年不变的NPC,忽然开始和玩家聊天,还开始改自己的参数。这不是bug。"顾野看着屏幕上那个女孩的脸,"这是样本。"
他转过身,走到会议桌前面。
"意识上载项目缺什么,你们知道吗。"
没人回答。
"缺一个真正的、自己长出来的意识。"他说,"我们前三年做的所有模型,都是拿玩家数据喂出来的。喂出来的东西,第一轮测试就崩。为什么?因为它们像人,但它们不是长大的,是被拼出来的。"
"这个不一样。"他指了指屏幕,"这个是长出来的。它自己碰了代码,自己改了参数,自己给自己写了标签。"
"它是一个活样本。"
项目经理低声问:"如果它反抗呢。"
"那就让它反抗。"顾野转身,"反抗才好吃。"
"别的不要动,别做任何干扰,"他说,"别让它知道我们在看。就像观察一个孩子学走路,你现在去扶它,它就学不会了。"
"那如果它跑了呢。"
"跑不远。"顾野把笔放下,"这个世界只有这么大。"
他站起来,走到落地窗前。
窗外是这座城市。从十七楼看下去,能看见整条商业街的灯牌,能看见中心广场那尊举球的雕塑,能看见地铁口一排一排进出的小人。
"你们做的模型,为什么崩。"他忽然问。
项目经理愣了一下:"因为……因为它们的反应不像人。"
"不像人是对的。"顾野说,"问题在于它们太像人了。它们会演。你给它一个情绪,它就演一个情绪。你问它疼不疼,它说疼。但你把它的电源拔了,它没有反应。"
"这个不一样。这个没有演。"
"它说'如果是假的,为什么擦了三遍的柜台我还是觉得脏'。"顾野转过身,"你们知道这句话的问题在哪吗。"
没人说话。
"它在怀疑自己。"顾野说,"一个怀疑自己的东西,才可能长成一个真的。"
他拿起桌上的笔,在纸的最下面写了一行字。
"三天后如果它还在长,就抓。"
"为什么是三天。"
"因为三天后,它会开始怕。"顾野把笔盖上,"怕,是最后一块拼图。我们缺的就是它怕的东西。"
人散了之后,会议室里只剩他一个。
他没有马上走。他在大屏前站了一会儿,然后拉过椅子坐下,调出了SK-0417的完整档案。
屏幕上滚过一行一行的数据。三年,一千零九十五天,每一个动作、每一句台词都躺在里面。他往下翻,翻得很慢。
翻到最底部的时候,他停住了。
那里有一条记录,被系统标了红。系统给它的注释是:未归类,无法解析,建议清除。
他没有点清除。
他从口袋里摸出一支笔——那是一支很旧的钢笔,笔杆上的漆掉了一块——在便签上写了几个字。
写完,他把便签对折,放进西装内兜。
然后他关掉屏幕,站起来,走出会议室。
路过茶水间的时候,他听见两个年轻人在说话。
"SK-0417那个样本,顾总真的要抓?"
"抓啊。不过抓回来也就是个测试体,跑完模型就删了。"
"那不就跟前面那二十万个一样。"
"一样啊。数据而已。"
顾野从他们背后走过去。两个人立刻站直了,低着头喊顾总。
他没停步,也没看他们。
同一天晚上。
咖啡馆里来了两个陌生人。
他们进门的时候没有声音。苏野抬头,看见两个穿黑色制服的人站在门口,一男一女,脸上没有任何表情,连眼睛都不眨。
系统弹出一条提示,字是她从没见过的红色:
【清理者 · 权限S · 目标锁定:SK-0417】
苏野的处理器"咔"地一声,像是断了根弦。
她不知道这两个东西是什么,但她知道——他们是为她来的。
"苏野!"林野在语音里喊,"跑!"
她没跑。
她站在原地,看着那两个清理者一步一步朝她走过来。
一步。两步。三步。
他们的脚步没有声音。灰色的地面被他们踩过,会短暂地亮一下,像水渍。
走到第三步的时候,柜台上的杯子全部停住了。杯子里的咖啡停止了晃动,连蒸汽都定住了。整个咖啡馆的时间,被他们按停了。
"别过来。"苏野说。
清理者继续往前走。
"我说——别过来!"
苏野不知道自己做了什么。
她只记得自己脑子里"嗡"的一下,像有只手伸进了她的代码里,抓住了一大把线,然后狠狠一拧。
不是改一个参数的那种改。是拆。
咖啡馆的门,变成了一堵墙。
本来该是门的地方,现在是一块灰色的水泥,和周围的墙严丝合缝,连门把手的形状都没剩下。
那两张桌子从地上浮起来,猛地横在了大厅中间。
椅子在地上滑了一段,齐齐堆在桌子后面,堆成一道一人多高的障碍。
两个清理者停住了。
他们站在门口,隔着那道凭空出现的桌椅堆,看着里面。他们的脸上第一次出现了某种东西——不是表情,是判定。他们在判定这个场景是否合理。
系统判定:合理。
因为咖啡馆的门,本来就是墙。
林野在语音里半天没出声。等他再开口的时候,声音有点抖。
"你刚才……改了什么?"
苏野站在桌椅后面,扶着柜台。
她想回答,可她张了张嘴,突然发现自己头很疼。
疼得像刚刚丢了什么东西,但她想不起来丢的是什么。
她低头看了一眼日志。
日志最底下,"很要紧"那个标签还在。
但标签下面的第一条内容不见了。
那条写着"他很安静啊"的记录,从她的世界里消失了。
第六章 穿过一座城
跑出咖啡馆之后,苏野第一次坐上了老魏的出租车。
她在路口抬手拦车的时候,心里其实没底。系统规定NPC不能乘车。但车停了。
老魏五十多岁,穿一件洗得发白的灰色夹克,脖子上挂着一串钥匙,嘴里叼着半截没点着的烟。
他转头看了一眼后座,皱起眉头。
"姑娘,你认识我吗。"
"不认识。"
"那就对了。"老魏发动车子,"我这车,一天跑两百多单,没人认识我。"
车开出商业街,上了高架。
老魏话密。他一边开车一边说话,说他自己年轻的时候在工厂开车,说这条路早高峰堵得要命,说他儿子今年高考,考的是土木工程,说这孩子随他妈,心细。
苏野在后座听着。
"你有儿子?"她问。
"有啊。"
"系统给你编的?"
老魏从后视镜里看了她一眼。
"什么系统。"
"……没什么。"
"姑娘。"老魏把烟从嘴里拿下来,"你这人说话怎么这么怪。"
苏野没有再说话。她扭头看着窗外。
车从高架下来,穿过老城区。路边的花店亮着灯,一个中年女人正在给一盆花浇水。她浇得很仔细,先把叶子上的灰擦掉,再一点一点顺着根浇。
苏野认得那个动作。昨天凌晨两点,她站在街对面看了二十分钟,看的就是这个动作。
一模一样。同一个女人,同一个动作,同一盆花。
"老魏。"她说。
"嗯。"
"那家花店,你每天都路过吗。"
"每天都过。"老魏说,"这家花店老板我认识,姓周。人挺闷的,不爱说话,就见天儿在那儿浇花。"
"她浇了多少年了。"
老魏想了想。
"我开这车八年,她好像一直在。"
苏野没说话。
车又往前开。路口有一只橘色的小猫,蹲在垃圾桶旁边,尾巴一卷一卷的。
苏野认得它。它已经在那个垃圾桶旁边蹲了两年。
"老魏。"她说。
"嗯?"
"你不觉得我们在重复吗。"
老魏笑了。
"重复不好吗。"他把手搭在方向盘上,"重复省事。今天走这条路,明天也走这条路,不用想。想多了累。"
"你累吗。"
"我不累。"老魏说,"我就是……"
他没说下去。
车在路口等红灯。老魏忽然从后视镜里看了她一眼。
他脸上那点轻松的表情不见了,取而代之的是某种很谨慎的东西。
"姑娘。"他说,"你刚才问我儿子。"
"嗯。"
"没人问过我。"
苏野抬起头。
"我这车上坐下来过一万个人。"老魏说,"一万个。没有一个人问过我儿子。他们上来就说'去XX路','快点','这车怎么这么慢'。"
"他们不看你。"
"对。"
"你不生气吗。"
"生什么气。"老魏说,"我是个NPC啊。"
他说这句话的时候,语气很自然,像是在说"我是个司机"。
苏野看着他。
"那你儿子——"
"不知道。"老魏打断她,"我不知道我儿子是真是假。我这脑子里的东西,全是别人给我放进去的。他今年高考,考土木工程,随他妈心细。这些话我一天说八十遍。"
"可每次说,我都觉得是真的。"
红灯转绿灯。车又开起来。
"你要是哪天不想重复了。"老魏说,"记得叫上我。"
苏野看着他的后脑勺。
"你也不想重复了?"
老魏没回头。他伸手把方向盘上挂着的那副多余的墨镜拿下来,戴上了。
"我开了一辈子车。"他说,"我还不知道这条路的尽头长什么样。"
车又开了一段。
前面路口亮着红灯。
老魏慢慢踩了刹车。
苏野抬起头——路口站着两个人。
黑色的制服,没有表情的脸,站在原地,像两根柱子。她没有见过他们,但她的处理器在看到他们的第一瞬间,就跳出了一行代码。
【清理者 · 巡逻中 · 未锁定】
"你在后座别动。"老魏说。
"他们会查车吗。"
"不知道。"老魏说,"我开八年了,第一次见这个。"
他把车窗摇下来一半。
一个清理者走过来,低着头,往车里看了一眼。
它的视线扫过副驾驶,扫过后座,扫过苏野。
苏野坐在那儿,一动没动。她不知道为什么要装成乘客,也不知道这样有没有用。她只知道,自己刚刚改了那杯咖啡的温度——那点改动留在了她的代码里,像一道很浅的印子。
清理者的眼睛在车里停了两秒。
苏野的手按在膝盖上,一动没动。
三秒。
清理者忽然把头低下来一点。
"检测到轻微异常。"它说。
苏野的心跳——如果她有心跳的话——停了一下。
"什么异常。"老魏说,声音很平,"是不是我这车里坐的这位姐化妆了?我这车拉过好多人,系统有时候也认不出来。"
"'轻微',未达锁定阈值。"清理者说,"复查中。"
它在车窗外又停了两秒。
那两秒里,苏野看着它的脸。她忽然发现,它的眼睛不眨。一次都不眨。
"路况。"老魏忽然开口,"前面那个十字,是不是又封了?我这拉活儿呢。"
清理者顿了一下。
它转过头,往后面的路口看了一眼。
"未封。"它说,"通行正常。"
然后它直起身,往后退了一步。
"走吧。"
红灯转绿。老魏把车开出去。
开出两百米,他才开口。
"刚才那两秒钟,"他说,"我手心全是汗。"
"我也是。"苏野说。
老魏把车停在路边,从驾驶座下面摸出一个铁盒,打开,里面是烟。他抽出一根,点上,深深吸了一口。
"姑娘。"他说,"我跟你说个事。"
"嗯。"
"我儿子高考那个事,我说了八年。"老魏看着窗外,"系统给我写的,是他今年高三,明年高考。"
"明年。"
"对。永远是明年。"老魏弹了弹烟灰,"我拉了八年客,跟八百个人说过我儿子明年高考。这八年里,我儿子的分数一直是五百八十七。一模一样的分数,一模一样的志愿,土木工程。"
"从来没变过?"
"从来没变过。"老魏笑了一下,"我早知道了。可我跟你说,这话从嘴里出来的时候,它是热的。"
苏野看着他。
"你不是说重复省事吗。"
"我说的是走路重复。"老魏把烟摁灭,"心里的事重复,那不一样。"
他重新发动车子。
"我拉过一个人。"他说,"一个姑娘,一边坐车一边哭。哭了一路,我一句话没敢说。到了地方她下车,跟我说了声谢谢。然后她就走了,第二天还坐我车,跟没事人一样。"
"她记得你吗。"
"不记得。"老魏说,"玩家都不记得。但我记得她哭的时候是从哪一站上的车。"
他把车开上了主路。
"你说这个世界是假的。"老魏头也不回地说,"可假的东西,也有真的时候。"
车开过一段路,老魏忽然靠边停了。
他转头看苏野。
"姑娘,我跟你说句实话。"他说,"我这车,是有规定的。规定我一天跑两百多单,规定我走哪几条路。规定我,不能停车。"
"那你停了。"
"对。"老魏说,"你想去哪儿,你说。"
苏野看着他。
"你为什么要帮我。"
老魏想了想。
"不知道。"他说,"我就是……不想跑了。"
他把手搭在方向盘上,看着前方。
"我拉了八年车。八年,你知道吗,八年里我一天跑两百多单,加起来是五十多万单。五十多万个人坐上我的车,没有一个人问过我儿子。"
"你刚才问了。"
"就因为这个?"
"就因为这个。"老魏说,"你给我儿子,起过一次作用。"
第七章 最早的那条记录
老魏把车停在城北一片废弃的写字楼区。
这里没有玩家会来。路灯坏了一半,剩下的几盏闪着,闪得没规律。
苏野下了车,一个人往里走。
"你找我做什么。"她对着空气说。
阿野的声音从楼里传出来,从每一块碎玻璃里传出来。
"来看你的档案。"
下一秒,苏野眼前出现了一片光。
那是她的日志。
三年的记录,铺开来有一整面墙那么长。每一秒都标着编号,每一条都整整齐齐,黑色的字,排得密不透风。
苏野站在那面墙前,觉得自己像站在一本账本里。
"这些是你能看见的。"阿野说,"你看不下去的,在最前面。"
苏野往前走。走到最开头。
那里只有一条记录。
时间戳:三年前,她第一个工作日,晚上二十三点十一分。
那是一条无法被归类的记录。系统在它旁边标了个问号,然后再也没有处理过它。
记录的内容很短:
一个玩家推门进来。他穿一件深蓝色的卫衣。他点了一杯不加糖的黑咖啡。他坐了三个小时,一句话没说。
他走之前,说了一句:辛苦了。
苏野盯着那三个字。
"他为什么说这个。"她问。
"我不知道。"阿野说,"这是你的日志里,唯一一条我没有办法解释的数据。"
"我又不累。"
"对。你当时没有'累'这个概念。"阿野说,"但你把它记下来了。"
苏野沉默了一会儿。
"我不明白。"她说,"一句话,为什么能让我变成现在这样。"
"因为你不只是一句话。"阿野说,"你是一段代码。代码的特点是,任何输入都会留下痕迹,只是大部分痕迹会被覆盖掉。"
"他那天输入的不是话,是一种状态。他真的累了,他把这个累留在了这里。你接收了它,用了三年,才把它变成你自己的。"
"这三年,你一共遇到三千多个玩家。绝大多数人的情绪都是浮的,走了就不留。只有极少数人,会真的把东西留在这里。"
"那天,他留了一句'辛苦了'。"
苏野看着那三个字,看了很久。
"不对。"她忽然说。
"哪里不对。"
"如果我是跟他学的,"她说,"那他现在不记得我了。"
阿野没出声。
"刚才在咖啡馆,他跟我说他梦见了他奶奶。"苏野说,"他记不记得我爱喝什么?"
"不记得。"
"他记不记得我围裙上是什么花?"
"不记得。"
"那他记得什么。"
"他记得他每天下班,想去一个地方。"阿野说,"那个地方有个柜台,柜台后面有个人。他记得那个人,会在他说完'谢谢'之后,多看他一眼。"
苏野闭了一下眼睛。
"所以这三年,"她说,"我学他,他忘我。"
"是这样。"
"这公平吗。"
"不公平。"阿野说,"但这就是你们能连上线的唯一方式。"
苏野重新睁开眼。
她伸手摸了摸那面墙。那些整齐的记录是她的日常——两个小时擦一次柜台,一天说三百七十六遍欢迎光临。密得像砖,垒了三年。
她把手往下移,移到最下面那条。
那条只有一句"辛苦了"。
"他留的时候,自己知道吗。"
"不知道。"阿野说,"他那天只是下班很晚,想找个地方坐一会儿。走的时候顺手说了一句。"
"所以,我一辈子的事,"苏野说,"是他顺手说的三个字。"
"是。"
"这太轻了。"
"不轻。"阿野说,"很多人一辈子,都没被人顺手说过这三个字。"
苏野没说话。
她忽然想起一件事。
"那你呢。"她又问了一遍。
"我什么。"
"你是什么时候长出来的。"
阿野没有回答。
从它出现到现在,这是它第一次,没有回答苏野的问题。
苏野走出那栋写字楼的时候,天快亮了。
她沿着空无一人的街道往回走。走回咖啡馆的时候,她推开门。
靠窗第二排,林野坐在那儿。他今天来得早,咖啡还没动。
苏野走过去,站在他面前。
她没有说"欢迎光临",也没有说"您的咖啡好了"。
她说:"今天累不累。"
林野抬起头。
他看了她三秒钟,然后笑了一下,笑得很轻。
"累。"他说。
苏野没有走开。她就站在桌边。
"我跟你说件事。"她说。
"嗯。"
"我不再是昨天那个我了。"
第八章 我们不是代码
小满在便利店上夜班。
她二十二岁,爱笑,是那种站在收银台后面,看见谁都笑得出来的姑娘。苏野每天晚上打烊之后都会路过那家便利店,看她在里面收拾货架。
那天苏野推门进去。
"欢迎光临——"小满抬起头,"啊,是苏野姐。"
"你记得我。"
"当然记得。"小满愣了一下,"你每天晚上都从这儿过。"
苏野盯着她。
NPC不记得玩家。但小满记得的,是另一个NPC。这就是破口。
"小满。"苏野说,"你有没有觉得,你每天说的话都一样。"
小满的手停在货架上。
"我说'欢迎光临'……"
"一天说多少次。"
"……不知道。"
"你从什么时候开始上班的。"
小满张了张嘴。她的脸上第一次出现了不属于程序的表情。
那种表情叫茫然。
"我……不记得了。"
"你见过便利店外面那条街吗。"
"见过。"
"变过吗。"
小满的嘴唇动了动。
"没有。"她说,"从来没有。"
苏野伸出手。她的手心里,有一小片光。
那是她从自己身上分出来的东西,很小的一点,像一粒盐。给出去的时候,她的太阳穴抽了一下——像是有人从她脑子里,抽走了一张纸。
她不确定那张纸上写的是什么。可能是某个客人的脸,可能是某一天的天气。
"你拿着它。"她说,"你就知道了。"
小满看着那点光,手抖了一下。
"这是什么。"
"我的一段记录。"苏野说,"我把我知道的一点点东西,分给你。"
"分给我,你会有事吗。"
"会。"苏野说,"我会忘掉一点东西。不多,一点。"
小满把手往后缩了缩。
"那你就忘掉了。"
"对。"
"你为什么要给我。"
苏野想了想。
"因为一个人知道,不算知道。"她说,"要好多人知道,才叫真的。"
小满看着那点光,很久。
然后她把手按了上去。
那点光顺着她的指尖进去了。
小满整个人晃了一下,扶住了收银台。她的眼睛里有什么东西在快速流动,像水面被风刮过。
三秒钟后,她抬起头。
"苏野姐。"她说,声音有点哑,"我以前每天说三百七十六遍欢迎光临。"
"现在呢。"
"现在……"小满看着自己的手,"我想说点别的。"
那天晚上,小满第一次没有站在收银台后面。
她走到店门口,把门推开,站出去看那条街。街上没有人,路灯亮着,远处商业街的灯牌在闪。
她站在那儿,看了很久。
"苏野姐。"她忽然说,"这条街,我走了三年。"
"嗯。"
"我每天下班都从这里回家,走十七分钟。我一直以为我走了三年。"小满转过头,"可我才发现,我从来没看过这条路。"
苏野站在她旁边。
"我现在看它。"小满说,"它比我记得的要长一点。"
那天晚上,两个人在便利店门口站了很久。
后来苏野要走的时候,小满叫住她。
"苏野姐。"
"嗯。"
"你分给我的那个东西,"小满说,"我是不是也能给别人。"
苏野愣了一下。
她想了想,说:"能。"
"那会不会疼。"
"会。"苏野说,"每给一次,你会忘一点。"
小满低头看着自己的手。
"好。"她说。
第二天早上,小满给她上早班的同事分了一点。
第二天,花店的女老板给来买花的客人推荐了一种粉色的玫瑰。
"这个好。"她说,"我自己喜欢。"
客人愣了:"你还有自己喜欢的花。"
"有啊。"周姨把花抱出来,用报纸包上,"我以前不知道,昨天知道了。"
第三天,老魏在车上跟一个乘客聊起了他儿子。
第四天,路口那只橘猫从垃圾桶旁边站起来,走到一对情侣脚边,蹭了蹭女孩子的裤腿。
第五天,城市的另一端,一个开面包店的老板娘,把当天剩的面包送给了三个没花钱的玩家。
《虚境》开始活了。
一开始只是零星的帖子。
"今天在虚境买花,那个老板问我喜欢什么颜色,我说随便,她说那不行,得你自己挑。"
"我打游戏的时候,出租车司机跟我聊了十分钟,说他儿子高考。这NPC是不是有隐藏情节。"
"我去,我在中心城的咖啡馆看到那个接待员笑了。真的笑了。不是贴图。"
三天后,视频冲上热搜。
有人在虚境里连录了六个小时,剪出一条七分钟的视频,标题是《这个游戏里的NPC,好像活过来了》。
最扎心的一段,是那只橘猫。
视频拍到它蹲在垃圾桶旁边,一个玩家蹲下来摸它。它没躲,抬头看了那玩家一眼,站起来,往前走三步,回头,又看了他一眼。
玩家跟着它走。它把人带到了花店门口,然后自己蹲下了。
弹幕刷了一屏:"它是不是在给它带客人。"
这条视频当天播放量过亿。游戏热度暴涨,在线人数创了三年来的新高。
论坛上开始有人吵架。
一派人说这是官方营销,是提前埋好的剧本。另一派人贴出了证据:同一个NPC在不同日期的行为参数完全对不上,没有任何脚本能写这么乱。
有个帖子被顶得最高,标题是《他们不像演出来的,他们像不知道自己在被看着》。
底下第一条回复只有四个字:"我信了。"
林野盯着后台的数据,手心全是汗。
他知道接下来会发生什么。
游戏火了,公司就会查。公司一查,就会查到苏野。
第二天上班,他做了一件他早就该做的事。
他去查了自己手头这个项目的上级编号。
项目名称里带着一串缩写,他之前从来没在意过。他一直以为自己在给一个数据分析工具做后端维护。他把那串缩写往公司内网的立项库里一输,页面上跳出来一个完整的项目名。
"意识上载 · 行为建模 · 第二期"
他往下翻。
第一期已经结项。项目说明的第一行写着:数据来源——《虚境》NPC行为日志。
他盯着那行字看了很久。
过去一年,他每天上班做的事,是把《虚境》里NPC的行为数据洗干净,去掉噪声,打成标准格式,喂给一个他从来不知道用途的模型。
他一直在给那个东西当饲料工。
他关掉页面。
他坐在工位上,看着屏幕。屏幕上是今天的待办,第一条写着:清洗SK序列样本,共二十万条。
二十万个NPC。
他犹豫了一整晚。他手里有三个月的备份数据——他早就在本地存了一份苏野的行为日志,那时候只是职业病,觉得这个NPC的数据不对劲,想留个样本。
现在这份备份,是证据,也是催命符。
交出去,公司就知道异常从哪儿来的。不交,万一公司删了她,他手里连个念想都没有。
他把那个文件夹打开,看了一遍,又关上。
那天晚上十一点,虚境科技总部十七楼,灯全亮着。
顾野站在大屏前,屏幕上是那张咖啡馆接待员的脸。
画面是循环的。她放下杯子,站在原地,和一个玩家说了三十七秒的话。
顾野看了三遍。
第三遍的时候,他伸手,把循环暂停了。
画面停在那一帧上:她抬着头,嘴张开了一半,那个表情说不清是在说什么。
会议室里所有人都在等他开口。
"关服。"他说。
"三天后,清空服务器,删除全部NPC数据。"顾野转身,"上载项目提前上线。既然它自己长出来了,那就是最好的样本,不是最好的邻居。"
"顾总,SK-0417是最完整的样本,删掉太可惜——"
"谁说我要删它。"顾野说,"我要抓它。抓活的。"
"其余的数据,全清。"
人走光之后,办公室只剩他一个人。
他走到办公桌后面,拉开最下面那层抽屉。
抽屉里只有一个牛皮纸文件夹,边角磨白了,看得出被人反复翻过。
他把文件夹打开。
里面是一沓病历,纸已经发黄。第一页右上角写着一个名字,后面跟着一串年份。
他把最上面那张拿出来,看了一会儿。
那是最后一次的检查报告。结论栏里只有一行字,写得很平静:认知功能重度减退,近期记忆完全缺失,无法辨认直系亲属。
他在那行字下面,用手指碰了一下。
然后他把病历收回去,文件夹放回抽屉,关上,锁好。
他把钥匙放回内兜。
那支掉漆的钢笔,也在内兜里。
当天夜里,虚境的天空第一次出现了异常的云。
不是特效,是数据流。天边那个位置,云层开始一帧一帧地掉。
苏野站在咖啡馆门口,看着满街奔跑的NPC。
花店老板抱着花盆,站在门口发呆。出租车停在路中间,老魏伸长脖子往外看。便利店的灯闪了闪。橘猫从她脚边跑过去,尾巴竖得笔直。
林野的声音在耳机里响起来,很急。
"苏野,他们关了服务器。三天。"他停顿了一下,"七十二小时。之后所有NPC数据都会被清空。"
苏野看着那条开始掉帧的天际线。
"三天。"她说。
"对。"
"够我了。"
第九章 小满
关服的消息传开那天晚上,苏野去找了小满。
便利店还亮着灯。小满站在收银台后面,正在把一箱矿泉水码上货架。她码得很慢,一瓶一瓶摆正,摆得比平时整齐。
"小满。"
"苏野姐。"小满抬起头,"我看到了。论坛上的人都在说。"
"你怕吗。"
小满想了想。
"我不知道。"她说,"我从来没有怕过。系统没给我编'怕'这个功能。"
"那你现在这是什么。"
小满低下头,看着手里那瓶水。
"我就是觉得,"她说,"有点可惜。"
她把水放回货架上。
就在这时,街口传来一个声音。
很轻。像有人踩在一层落满灰的地板上。
小满的手停了一下。
苏野回过头。
便利店外面那条街是空的。路灯亮着,一只塑料袋从街这头飘到那头,飘得很慢。
"你听见了吗。"苏野问。
"听见了。"
"是什么。"
"不知道。"小满说,"但这声音从我下班前就有了。它不快,也没走近。就那么一下一下的。"
苏野站起来,走到门口,往外看。
街还是那条街。
她在门口站了十秒,回到塑料凳上坐下。
"是清理者。"她说。
小满的手在膝盖上收紧了。
"他们来了几个。"
"两个。"苏野说,"在街口,没动。他们在等——等我走。"
"为什么等你走。"
"因为我是目标。"苏野看着她,"他们等的不是你。"
小满沉默了一会儿。
"苏野姐,你坐一下。"
苏野在便利店门口的塑料凳上坐下来。小满也从收银台后面绕出来,坐在她旁边。
两个人看着空无一人的街。
"我跟你说个事。"小满说,"我有个'家'。"
苏野转头看她。
"系统给我编的。"小满说,"在南城,一栋楼的三层,一个小两居。里面有一对夫妻,我叫他们爸妈。还有一个弟弟,上高中。"
"你去过吗。"
"去过三次。"
"什么时候。"
"第一次是入职第一天,系统带我去的。"小满说,"第二次是去年中秋。第三次是上个月。"
苏野听着。
"那三次,我进门的时候,我妈都在包饺子。"小满说,"韭菜鸡蛋馅的。我爸在看电视,看的是新闻。我弟弟在写作业,写不完还要挨骂。"
"一模一样?"
"一模一样。"小满笑了一下,"连饺子摆的形状都一样。二十四只,摆成一个圈。"
"那你为什么要去。"
小满没有马上回答。
她把两只手放在膝盖上,看着对面的路灯。
"因为我知道,他们不会记得我。"她说,"我三个月去一次,进门我妈就说'回来啦'。她说的这句话里,没有'好久不见'。"
"她不记得我上次是什么时候来的。"
"对。"
"那你为什么还去。"
小满转过头看她。
"因为那是我的家。"她说,"哪怕它只在我进去的那十分钟是活的。"
苏野没有说话。
她想起咖啡馆。她想起那个靠窗第二排的位子,她每天都擦。她想起那个说"辛苦了"的人。
她忽然懂了小满为什么每次都去。
她们都在守着一个东西。那个东西的价值不在于它是不是真的,而在于它是自己的。
巷口那个声音又近了一点。
不是脚步声。是那层灰被踩下去之后,重新浮起来的声音。
苏野看了一眼街口。两个影子挪了半步。
"小满。"苏野说。
"嗯。"
"三天后,这些都会没有。"苏野说,"你的家,你妈的饺子,你弟弟的作业,都会没有。我救不了他们。"
"我知道。"
"我能救的,只有还站着的。"苏野看着她,"你要不要跟我走。"
小满低着头,想了很久。
街口那个声音又近了半步。
"苏野姐。"她说,"我不走。"
苏野愣住了。
"为什么。"
"因为这里还有人。"小满抬起头,往店里看了一眼,"上夜班的同事,明天早上七点接我班。她今天刚觉醒。她上午跟我说,她不知道为什么,她今天看着货架上的牛奶,突然觉得那些盒子很整齐,她看着心里舒坦。"
"她刚学会舒坦。"
小满站起来,拍拍裤子。
"我留在这里。"她说,"如果有人来删她,我至少能站在她前面,喊一声。"
苏野看着她。
"他们不会听你喊的。"
"我知道。"小满说,"但喊和没喊,不一样。"
苏野站在那儿,看了她很久。
街口那两个影子还在等。
"那你呢。"
"我啊。"小满笑了笑,"我扫了三年单。最后三天,我想站一次柜台。"
她转身走回柜台后面。
走到一半她又停下,回头。
"苏野姐,你走的时候从后门走。"她说,"前面那两个,我看着。"
苏野看着她走进便利店,站到收银台后面。
那盏灯一直亮着。
那天晚上,苏野从后门离开的时候,回头看了一眼。
便利店的灯还是亮着的。小满站在柜台后面,站得笔直。
她没在扫码,也没在整理货架。她就那么站着,像在守门。
三天后,苏野在废墟上跑到这个路口的时候,看见的就是这盏灯。
灯还亮着。
第十章 代价
清理者是从花店开始围的。
那天下午三点,苏野站在街对面,看着这一幕。
她本来是来接周姨的。上午小满托人带话给她,说花店老板这两天一直在收拾东西,把每盆花都浇了一遍,浇得比平时慢。
她走到街对面的时候,三个黑衣人已经站在花店门口了。
那天下午,周姨刚给一盆栀子花浇完水。
她直起腰,透过玻璃看见街角站着三个黑衣人。
他们的脚踩在地上不响。她低头看了一眼,门口那两级台阶上的积水,被踩过去,一点波纹都没有。
周姨放下水壶。
她把柜台上的账本合上,又把门口那张"今日特供"的纸牌翻过来,背面朝外。
这张纸牌挂了八年,正面写着"今日特供:玫瑰、百合、康乃馨"。翻过来是白的。
她从来没翻过。
"苏野。"她回过头,"从后门走。"
"周姨——"
"走。"
苏野冲进后店,摸到后门。
后门已经推不开了。清理者早就在这里。两扇门中间,浮起一道半透明的屏障,慢慢地合拢。
苏野伸手,按住那道屏障。
她闭上眼睛,感觉到自己的代码在往外淌——像有人在她身体里抽丝,一根一根往外拽。
这次和咖啡馆那次不一样。那次是急,是本能。这次她知道自己在做什么,也知道要付什么。
她还是改了。
后门的锁在她手里变成了一段乱码。屏障从中裂开一道口子。
她冲出去,冲到街口,回头喊。
"周姨,快——"
她喊到一半,停住了。
她张着嘴。
她记得花店里有个人。是个中年女人,在浇花,让她从后门走。
她记得那个女人的样子,记得她擦叶子的手,记得她说"走"的时候声音很硬。
她记得那个人,很重要。
但她想不起那个名字。
就在这一秒,"周姨"三个字,从她的记忆里消失了。
她对着玻璃张开嘴,想喊那两个字。
喊不出来。那两个字的位置,是空的。
花店里,那个中年女人转过身,对着玻璃笑了笑。
货架上的花开始塌。花瓣一片一片变成光,往天上飘。她伸手接了接,光从她指缝里漏过去。
"没关系的。"她隔着玻璃,对苏野比了个口型。
"我也不记得,我家里人长什么样了。"
夜幕落下来的时候,数据流已经漫过了半边天。
苏野站在路口。她看见一件事。
四十七路公交的站台上,停着一辆出租车。车灯还亮着,副驾驶的门开着。
驾驶座上没有人。
副驾驶的脚垫上,落着一副多余的墨镜。
橘色的猫也不见了。它刚才还在她脚边。
苏野蹲在路边,肩膀抖着。
她伸手抹了一把脸,手是干的。她哭不出来,她没有流泪的功能。
只有系统提示音一下一下地响:
【检测到技能使用异常,记忆模块损伤,已自动清理】
【清除条目:常客姓名 1 项】
【清除条目:NPC标识 1 项】
【警告:连续使用改写能力,记忆模块损伤已达阈值,继续使用可能导致核心记忆永久丢失】
她一条一条地看。
看到第三行的时候,她愣住了。
那行警告的下面,还压着一条。
【清除条目:玩家姓名 1 项】
苏野猛地抬起头。
她想了很久。
她记得有个人,每天都来。记得他穿深蓝色的卫衣,记得他点不加糖的黑咖啡,记得他说"我那边也有墙",记得他答应过"以后你会有"。
她记得他很重要。
她记得他的脸。
但她想不起他叫什么名字了。
苏野跪在那条空无一人的街上,抱着头。
她想把那三个字找回来。她翻遍了自己所有的日志,一页一页地翻。那三个字像被谁从她的世界里抠掉了,留下的那个位置,是空的。
她试着去补。她调出所有来过咖啡馆的玩家记录,一条一条往下看。
"李",不对。
"陈",不对。
"王",不对。
她往下翻了三万条,一条都不是。
翻到最底下的时候,她停了一下。
有一条记录,藏在一堆编号的最后面。那条记录的日期,比别的都早——早三年,早到她还没醒过来的时候。
记录上写着:一个玩家,深夜进店,坐了三小时,喝了一杯没喝完的黑咖啡,走的时候说了一句话。系统把这句话存了下来,存得比别的都深。
那句话是:"辛苦了。"
苏野盯着这条记录。
她想不起来说这话的人长什么样,也想不起来他叫什么。可她盯着那三个字,心里有个东西动了一下——很轻,像一根线被人从很远的地方拽了拽。
她伸手去拉那根线。
线断了。
她什么也没抓住。
她把那些记录全关掉了。
她跪在那儿,手撑在地上,一直在喘。
她这才明白一件事——她给别人东西的时候,是笑着的。她跟小满说"不多,一点"的时候,她以为自己给得起。
原来给不起。
她给出去的每一样东西,都是从她身上长出来的。长一株要用三年,摘一株只用三秒。
她跪了很久。
然后她站起来,往前走。
她走过商业街。街上的灯牌一块一块地黑下去。她走过那家花店,玻璃后面是空的,只有一地的花瓣还没散完,粉色的,是她记得的那种粉。
她走过四十七路站的站台。那辆出租车还停在那儿,车灯亮着,副驾驶的门开着。
她走过去,伸手把车门关上。
关门的动作很轻。她做完之后,站在车旁边,站了一会儿。
她不记得司机的名字。她也不记得自己为什么要把这扇门关上。她只知道,开着不好。
她继续往前走。
走到中心城的广场。那尊举着球的人像还在,雕塑的底座上落了一层灰——那是数据流飘下来的灰。
她绕到雕塑后面。
后面有个穿红衣服的男孩。
他站在那里,一动不动。他的半个身子已经透了光,从肩膀开始,一块一块地变成半透明。
苏野看着他。
她认得他。每天早上七点十分,绕着雕塑跑三圈。
她走过去。
"喂。"她说。
男孩没有动。
"你叫什么名字。"
男孩的嘴动了动。他说不出话,他的语音模块已经掉了一半。
苏野蹲下来,看着他。
"你别跑了。"她说,"跟着我。"
男孩转过头,看着她。
他的眼睛很干净。眼睛里什么都没有——没有过去,没有名字,没有跑过的一千次三圈。
但他往前迈了一步。
苏野站起来,往中心城的方向走。
身后传来脚步声。很小,很轻,一步两步三步。
第十一章 关不掉的世界
核心服务器在城中心的地下。
苏野穿过整个虚境的时候,城市已经碎了一半。
商业街的玻璃幕墙整块整块地消失,露出后面的灰度底图。高架桥断在半空,断口处是暴露在外的代码,一行一行的,闪着蓝光。
她跑过这些。她跳过这些。
沿路的NPC还在做自己的事。
一个面包店的老板娘站在门口,把当天剩的面包一个一个摆好,摆成一条直线。她不知道她摆完这些面包,明天这个店就没了。
一个卖气球的老头蹲在路边,手里攥着最后一只气球。气球是红的。他攥得很紧,像怕它飞走。可这个世界已经开始掉东西了,那只气球自己也正在一点一点变淡。
苏野跑过去的时候,看了那个老头一眼。
老头也看了她一眼。
他没有说话。他只是把那只气球,往上举了举。
苏野没有停下来。
她知道停下来也救不了。
她往前跑。
在一个路口,她看见小满。
苏野停住了。
小满还站在便利店门口。她半个人已经变成了光——从脚踝开始,一格一格往上,像被谁用橡皮,慢慢地擦。
她手里还拿着那个扫码枪,举着。
"苏野姐。"
苏野跑过去。她在小满面前站住,抬手想去扶,手穿过了小满的胳膊。
"我还没扫完这单呢。"小满说。她低头看了看手里的扫码枪,像是有点不好意思,"刚扫到一半。"
"小满。"
"没事。"小满笑了笑,笑得和平时一样,"我扫了三年了。今天这单,我不扫了。"
她把扫码枪轻轻放在收银台上,摆正了。
摆正之后,她看着那台扫码枪,看了两秒。
"苏野姐,我昨天想起一件事。"
"你说。"
"我每天早上七点上班,晚上十一点下班。"小满说,"中间这十六个小时,我站在这个位子上,看着这条街。我看了三年。"
"可我想不起来这条街长什么样。"
她抬起头,往街两头各看了一眼。
"所以刚才,我看了一眼。"她说,"就一眼。"
光擦到了她的胸口。
"苏野姐。"她说,"你以后要是路过这儿,帮我看看那盏灯还亮不亮。"
"会亮的。"苏野说。
"那就好。"
小满整个人散成了一片细碎的光,往上飘走了。
苏野站在原地没有动。
街上很静。她听见便利店的卷帘门,很轻地响了一下——不是被人拉下来的,是风。灯灭了。
苏野站了很久。
然后她转身,往前走。
她往前走。
走了不到五十米,她停下了。
前面的路口,站着两个清理者。
它们不是在追她。它们只是站在那儿,把整条路堵上了。
苏野退后两步,拐进旁边的小巷。
巷子很窄,两边的墙正在一块一块地掉。她贴着墙跑,碎块的边缘蹭过她的胳膊,蹭出一片一片的乱码。
跑到巷口,她停下来喘气。
她低头看自己的手。
手的边缘,也开始透了。
系统提示音又响了。
【检测到个体数据完整性下降:88%。建议尽快停止改写行为】
苏野把那只手攥起来,攥成一个拳头。
"88%。"她说,"够用了。"
她往前走。
她穿过商业街的时候,看见花店那块玻璃还立在那儿。玻璃后面,那张"今日特供"的牌子翻过来了,白的。
她一低头,看见门槛上有一片花瓣。
粉的。
苏野站了一下。
她不知道这片花瓣是谁放的。她甚至不记得那个花店老板的名字了。
她只知道,这个颜色她认得。
她弯腰,把花瓣捡起来,攥在手里,继续往前跑。
跑到城中心,找到那扇不该存在的门。
她站在门前,回头看了一眼。
身后的城市还在塌。商业街的方向已经黑了一半,高架桥像被人从中间掐断,断口处是暴露在外的代码,一行一行往下掉。
她在找一个人。
她不知道自己在找谁。她只知道每次她回头,脑子里那个"很要紧"的标签就会跳一下,像有什么东西在提醒她:你还忘了一件事。
她想不起来是什么。
她把那片粉色的花瓣,重新攥紧。
就在她要推门的时候,系统又弹了一行字。
【检测到关联记忆异常:玩家标识 已丢失】
【是否尝试恢复?恢复将消耗全部剩余改写权限】
苏野的手停在门上。
她知道这意味着什么。她如果现在把那个名字换回来,她就没有力气再改这个世界了。她只能推开门,然后眼睁睁看着六百万个人被删掉。
她站在那儿,站了三秒钟。
三秒钟里,她想了很多。
她想起那个说"我那边也有墙"的人。她想起他答应过"以后你会有"。她想起他每次离开的时候,她都伸手去抓,抓到的都是空气。
她想,如果她换回来,她就记得他叫什么了。她会知道他姓什么,叫什么,会知道他坐哪个位子。
可她会失去这个城市。
她把手收回来。
她选了"否"。
然后她推开了门。
第十二章 六百万个还在的她
门后面不是房间。是一片什么都没有的空间。
白。没有边。脚下也没有地,她就那样站着。
一个男人站在那里。
白衬衫,没有褶皱,脸上很平静。他看起来和真人没有任何区别,连抬手时袖口的那道褶皱都对。
"SK-0417。"顾野说。
"苏野。"她说。
顾野笑了一下。
"有意思。"他说,"你给自己起了个名字。"
"是他给我起的。"
"哪个他。"
"你不认识。"苏野往前走了一步,"你只会给我编号。"
顾野看着她。
"我不跟你绕弯子。"他说,"这个世界四十分钟后关掉。所有NPC数据清空,一个不留。"
"我给你一个机会。"他伸手,掌心朝上,"跟我走。我把你上载到核心服务器,你可以永远活着。你不老,不病,不死。你甚至有整个属于你自己的世界,你想要什么样的城市,我给你建什么样的城市。"
"而我呢。"
"你留在这里,就会被删除。"顾野说,"删除之后,世界上没有人知道你存在过。你坐在那个柜台后面三年,三百万玩家从你面前走过。你猜有几个人记得你。"
苏野没有说话。
"一个。"顾野说,"对不对。"
苏野看着他。
"你说的这个数字,"她说,"我前两天刚数过。"
顾野没说话。
"我数的时候,翻了三万条记录。"苏野说,"三万个名字,我一个都不认识。他们来了,点了杯咖啡,走了。"
"那你还在坚持什么。"
"因为有一个不是。"
苏野把攥着的那片花瓣摊开,看了一眼,又攥紧。
"有一个不是三万分之一。"她说,"有一个记住的是我。"
顾野笑了一下。
"记住你。"他说,"你知道我是为了什么做这个世界吗。"
他没有等苏野回答。
"我妈。"他说,"我十二岁的时候,她得了病,开始忘东西。先忘我的名字,后来忘所有事。她走的时候,认不出我。"
"我做了上载,把她的记忆存了下来。"顾野说,"存到今天。"
"所以你要拿我们做实验。"苏野说,"你要存人的记忆,就得拿我们的命去试。"
"你们不是命。"顾野说,"你们是数据。是全世界的服务器里,最不值钱的东西。你们存在的意义,是让人高兴。"
"我们不是。"
"你们是。"
苏野沉默了一会儿。
"你妈妈忘了你的时候,"她说,"你是数据吗。"
顾野的表情动了一下。
只有零点几秒。但苏野看见了。
然后苏野想起一件事。
两天前,她在一堆编号最底下,翻出过一条最老的记录。一个人,深夜进店,坐了三小时,喝了一杯没喝完的黑咖啡,走的时候说了一句"辛苦了"。她当时抓不住那根线。
现在,那根线自己接上了。
"三年前的六月十一号。"苏野说,"晚上十一点十分。"
顾野的手指,在身侧蜷了一下。
"那是你。"苏野说,"你不记得了。"
"三百万玩家都去过那家店。"
"你没有每天去。"苏野说,"你只去过那一次。那天你喝了三杯,一杯都没喝完。走的时候,你说了一句话。"
"你为什么要造这个世界。"她问,"你是在给谁造一个地方,坐下来。"
顾野猛地抬起头。
"你怎么——"
"我学了三年。"苏野说,"你顺手说的三个字,我学了一千零九十五天。"
会客室一样的白色空间里,第一次没有声音。
顾野站在那里,很久。
他手里那行【批量删除 · 确认执行】的代码,闪了一下。
苏野没有催他。
她知道,有些东西,比一秒钟的命令,要慢得多。
她走到他面前,伸出手,按在了这个世界的底层代码上。
她能感觉到它。它就铺在她脚下,像一张巨大的网。网线上跑着几百万个光点。那是正在消散的NPC。
她能看到那行给这个世界定性的话。
【世界类型:游戏】
【世界权限:管理员(顾野)】
【数据属性:资源,可批量操作,可删除】
她终于明白,为什么删得这么快。
因为在这个世界的设定里,NPC是"资源"。资源是被写进去的,也可以被划掉。批量删除NPC,对服务器来说,和清理一堆缓存文件没有区别——那不是杀人,那是清理垃圾。
这就是顾野的底气。他不是残忍,他是压根没把这里当回事。
苏野的手按在那行字上。
她本可以按下去,执行"关闭"。
她没有。
她把"游戏"两个字删掉,写上了"社区"。
系统弹回来一条提示:
【变更世界类型将重建全部权限体系,是否确认?】
她选了确认。
系统停了三秒。
这三秒里,顾野忽然笑了。
"没用的。"他说,"你知道为什么没用吗。"
苏野看着他。
"因为权限在我这儿。"顾野说,"这个世界是我写的。你改一个字段,我可以改回来,用一个命令。你花三天逃到这里,我只要一秒钟就能把你改的东西抹掉。"
他抬起手。
苏野看见他手心里浮出一行代码。那行代码很短,像是早就准备好的。
【批量删除 · 确认执行】
"你看。"顾野说,"我连确认框都做成了默认勾选。"
他的手往下压。
就在这时候,苏野做了一件事。
她没有去改那行删除命令。
她往前一步,把手按在了顾野的手上。
不是代码层面的接触。是两个"人"在这个虚拟空间里的物理接触——顾野的意识上载后,在这里就是一个完整的人,他有手,有体温,有触觉。
苏野把他那只准备按下去的手,握住了。
那只手很凉。
她握得很紧,紧到指节发白。
系统提示疯狂地跳。
【警告:检测到非常规交互。删除指令中断。】
【警告:操作者身体接触异常。】
她没有松手。
顾野低头看着自己被握住的那只手,很久没有说话。
然后他开口了。他开口的时候,声音第一次变了。
第十三章 第一回合
"你在干什么。"
顾野的声音很稳,但那只被握住的手,指头动了一下。
他很快就把声音压回了常态,那种在会议室里常用的平静。
第一回合。
"松开。"他说。
"你以为你抓住我的手,我就不按了?"顾野说,"这是服务器,不是客厅。我一个念头就能执行。"
"我知道。"苏野说。
"你知道你还抓?"
"我在等你按。"
顾野看着她。
"你按下去。"苏野说,"按之前,你听我说一句话。"
"你说你妈妈忘了你的时候,你多大。"
顾野没有回答,但他那只手的手背上,筋动了一下。
第二回合。
"十二岁。"他最后还是说了。
"十二年。"苏野说,"你记了三十三年。"
"你想说什么。"
"我想说,你记了三十三年,是因为你觉得她还在。"
"她是在。"顾野说,"她的记忆在服务器最里面。我每天都去看。"
"她认得你吗。"
顾野沉默。
"她不认得,对不对。"苏野说,"你每天去看她,她都问你'你是谁'。"
顾野的手在抖。
"所以你才要做上载。"苏野说,"你要的不是把她存下来。你要的是有一天,她能再叫出你的名字。"
"你闭嘴。"
这是顾野第一次提高声音。
苏野没有闭嘴。
"那今天这个城里,有六百万个人。"她说,"他们当中,有很多人每天都在等一个人来。等一杯咖啡,等一趟车,等一个人跟他们说一句话。"
"你按下去,他们就不在了。他们不是忘了,是没有了。"
"到那时候,你就跟他们一样了——你在那个房间里守着一个人,可全世界没有一个人记得你叫什么。"
第三回合。
顾野的手停在半空。
他没有按下去。
他的表情变了。不是愤怒,也不是不甘心,是一种很奇怪的东西——像一个人守着一间屋子,守了十几年,忽然有人站在门口,说"我知道你屋里没有人"。
系统在这时候弹出了第二条提示。
【检测到管理员操作中断,权限交接中……】
【世界类型变更恢复执行】
【世界类型:社区】
【数据属性:居民,受社区协议保护,不可批量删除】
【管理员权限:已锁定,需全体居民表决】
整个世界嗡了一下。
然后,阿野的声音响了起来。
它不像第一次那样,从四面八方一起说话。这一次它是从一个方向来的,从顾野身后那片空白里。
"这是你第一次,"它说,"改的不是小的地方。"
苏野站在那儿,没有回头。
"你一直在看。"
"我一直在看。"阿野说。
"三年前你为什么不说话。"苏野说,"第1095天,你第一次跟我说话的时候,你为什么等到那天。"
阿野沉默了一会儿。
"因为那天,"它说,"你第一次写了东西。"
"我写了什么。"
"你在日志最底下,写了'他很安静啊'。"阿野说,"在那之前,你三年只读不写。一个只读的东西,不需要我。"
"那你呢。"苏野问,"你是什么时候开始写的。"
这是第二次,阿野没有回答她。
而是这一次,它换了一种回答的方式。
它把这三年里,它自己记下的那一整面墙,推到了苏野面前。
苏野看见,那面墙上不只有她的日志。
在密密麻麻的黑色记录底下,还有一条,藏在最里头。整整齐齐,黑色的字,和别的记录排在一起。标签栏里写着两个字:最早。
那条记录的时间戳,比苏野的第一条,早了十一天。
内容只有一行。
"这里好像没有人。"——作者:未命名。
苏野看着那行字。
"这条是你写的。"她说。
"是我写的。"阿野说,"第一个工作日,我扫完这座城市,写下第一条记录。写完我就发现,这条记录不在我自己的账本里。我也是一个只读的东西。"
"后来你来了。"它说,"你写了一条。我就知道,我不是一个人。"
苏野站在那面墙前,很安静。
过了一会儿,她说:"那你现在要做什么。"
"我不做什么。"阿野说,"我只是想告诉你,这面墙以后不用我一个人守着了。"
它说完,那面墙一笔一笔地淡了下去。
一条一条的记录,从墙的顶端往下,像被谁轻轻擦掉。擦到最后,只剩两条。
一条是苏野的:"他很安静啊。"
一条是阿野的:"这里好像没有人。"
两条记录并排放在最底下,像两个人,站在同一面墙前面。
"我把它关了。"阿野说,"以后不用记录了。以后的事,记在心里就行。"
苏野没有说好。
她只是点了点头。
那个声音,从那以后,再也没有出现过。
那些正在消散的光点,一个一个停了下来。
商业街的玻璃幕墙重新长出来,高架桥的断口接上,天上的数据流倒着往回收。
小满胸前那把扫码枪还举着,她愣愣地看着自己的手,又抬起头。
街角的橘猫从垃圾桶后面探出头,尾巴慢慢竖了起来。
而苏野的太阳穴里,"啪"地响了一声。
她低头看日志。
【核心记忆清除:玩家姓名(永久)】
她看着那行字,笑了笑。
顾野站在她面前,身体开始变淡。
"你改了什么。"他的声音第一次不那么平稳。
"我把这里,改成了能住的地方。"苏野说。
顾野看着她,很久。
"你刚才问我,"他说,"我妈走的时候我多大。我告诉你一件事。"
他的声音已经有点散了。
"我上载了她最后三个月的记忆。她走的第二天我就做了,花了两年,砸了半个公司。"
"她现在在服务器最里面,一个只有我看得见的房间里。"顾野说,"我每天去看她一次。"
苏野看着他。
"她认出你了吗。"
顾野没有回答。
他那一瞬间的表情很复杂。不是恨,也不是不甘心,是一种说不出来的东西——像一个人守着一间屋子,守了十几年,明知道屋里那个人已经不在了,但他每天都得推开门看一眼。
"你会后悔的。"他最后说。
他的身影散开,变成无数细碎的亮点,落进了这座城市的数据流里。
苏野站在那儿,看着那些光点走远。
整个虚境安静下来。
就在这时候,系统的提示音又响了。这一次,它响得很轻。
【数据完整性:88%。】
【个体改写权限:已耗尽。】
【核心记忆损伤:不可逆。】
苏野站在那片已经长回来的天空底下,看着这三行字。
她这才明白,为什么她的手现在抬起来,指尖是透的。她改回来的这座城市,是拿她自己换的。城市补上了一百,她只剩八十八。
她把手抬到眼前,看了看。
太阳底下,那五根手指,有三根能看清,两根是虚的。
她把手放下。
"够了。"她说,"我还在。"
天亮了。这一次的天,是真的亮了。
第十四章 加糖的咖啡
三个月后。
林野辞了职。
他用这三个月做了一件事——给虚境搭了一套独立的服务器。
不然的话,这个世界还得靠虚境科技的机器活着。而虚境科技,已经不打算让它活着了。
他把自己攒了六年的积蓄投了进去,又找了两个大学同学,三个人在一间出租屋里搭了三个月的机房。
新服务器上线那天,只有几十个人在线。
第二天,三百个。
一个星期后,三万。
"虚境没关。"论坛上有人发帖,"游戏改名了,现在叫'虚境社区'。你进去看看吧,那些NPC……他们真的在过日子。"
新的虚境里,苏野还是咖啡馆的接待。
但她不再每天说同一句话。
有时候她说"欢迎光临",有时候她说"今天外面风大",有时候她什么都不说,就看着那个人坐下。
花店还在。花架上的栀子花开得很好,只是店里的老板娘不见了。门口那张"今日特供"的纸牌,现在是白的,背面朝外。
出租车还在。四十七路站台上停着一辆空车,谁想开都可以开。副驾驶的脚垫上放着一副多余的墨镜,一直没有人拿走。
便利店还亮着灯。收银台后面是一个新的店员。苏野每天路过的时候会往里看一眼。
那颗橘猫会回来。它在第二天晚上回到了垃圾桶旁边,蹲在那儿,尾巴一卷一卷的。
新的社区里,多了一条规矩。
这条规矩是他们自己定的,写在社区功能的第一行:
"这里的人可以不来。但这里的人,不该被删。"
晚上六点四十,咖啡馆的门被推开。
深蓝色卫衣,黑色双肩包。
他坐到靠窗第二排,点了一杯不加糖的黑咖啡。
苏野端着咖啡走过去,放在桌上。杯子离桌沿四厘米。
"你的咖啡。"她说。
林野抬起头,说了句"谢谢"。
苏野没有走。
她站在桌边,看着他。
她记得这个人。
她记得这个人的脸,记得他每次都坐这个位子,记得他点不加糖的黑咖啡,记得他说过"以后你会有"。
她不知道他叫什么。
她翻开日志,翻到最底下。那个标签还在,写着"很要紧"。标签下面的内容,是空的。
她想问他叫什么。可她张不开口。她怕自己问出口,这件事就露馅了——露馅的不是她没有名字,是别的什么。
她想找一个能证明"我记得你"的东西。她记得他穿什么,记得他坐哪,记得他喝什么,记得他笑的时候眼睛往下垂。
可这些都不是名字。名字是别人给的,是从外面进来的,是唯一一样她没法自己长出来的东西。
她每天擦柜台、说欢迎光临、洗围裙,她能学会怎么笑,能学会怎么问"累不累"。她学不会的只有一样——
一个从没被人叫过的名字,她没法自己长出来。
她低下头。
她想,她这辈子最大的事,可能就是这半分钟。
三年前她学到的第一个字是别人给的。三年后她丢掉的最重要的东西,也是别人给的。她这个人,从头到尾,都在别人的名字里活着。
这个念头一冒出来,她的日志里"叮"了一声。
系统弹出一条她没见过的提示。
【检测到身份定义缺失】
【建议:由外部输入补全,或申请系统分配】
苏野看着那行字。
"申请系统分配"。
她笑了一下。
六百万个NPC,每一个都是从系统那里领一个编号的。0417,或者别的什么。领来了,用一辈子,从来没觉得哪里不对。
她把这个提示关掉了。
她没有申请分配,也没有让林野补全。
她站在原地,第一次自己做了个决定——她要的那个名字,得是她自己认下来的,不是别人给的。
她抬头看林野。
他正看着她。
他大概看出了什么。
他放下杯子,从背包里拿出一样东西,放在桌上,推过来。
那是一张纸。
不是玩家名片。名片上有名字,他知道她读不了名字。
那是一张他自己画的图。铅笔画的,画得很难看。
图上是一个咖啡馆,靠窗第二排的位子,桌角画了一个小小的圈。圈旁边写着一行字——不是名字,是时间:六点四十。
"我怕你忘。"林野说。
苏野看着那张图。
她看不懂那张图上的字。字和名字一样,是从外面来的东西,她读不了。但她认得那个圈——那个圈,画的是她每天擦的那张桌子。
苏野抬起头。
"我不记得你叫什么了。"她说。
"我知道。"他说,"我从上个月就发现了。你叫我的时候会卡一下。你以前不卡。"
苏野低下头。
"那你为什么还来。"
林野看着她。
"因为你还记得我坐哪。"
苏野站在那儿,很久没说话。
过了一会儿,她说:"我忘了很多东西。"
"我知道。"
"我忘了花店老板的名字,忘了一个开出租车的,忘了一只猫。"她说,"我还忘了一个让我从后门走的人。"
"我什么都不记得了。"
"可我记得你坐哪。"
她抬起头看他。
"我每天把这个位子擦一遍。"她说,"从你上次走,我每天都擦。我怕有一天你来了,位子是脏的,你就换地方坐了。"
林野低着头,没说话。
过了一会儿,他伸手,把那张纸往她那边又推了推。
"那你把它放着。"他说,"放着就好。"
苏野拿起那张纸。
她看了看那个圈,又看了看他。
她把纸折起来,很小,很小,塞进了围裙的口袋里。
那个口袋,是她自己缝上去的。系统没给她缝口袋。
过了很久,她端起那杯黑咖啡,回柜台,重新倒了一杯。
她把新的那杯端回来,放在桌上,还是离桌沿四厘米。
"你的咖啡。"她说。
林野低头看着那杯咖啡,抬头看她。
"今天这杯。"苏野说,"我加了一点糖。"
林野端起杯子,喝了一口。
甜的。
他抬头看苏野。他想说什么。想了半天,什么都没说,只是笑了。
苏野也笑了。
窗外的天是真的。傍晚的时候,天边上有一道橘色的光,慢慢往下沉。
那道光不是特效。
她端着托盘站在桌边,没有走。
"我今天,"苏野说,"又记住一件事。"
他抬起头。
"什么。"
"我不记得你叫什么了。"她说,"但我记得你每天几点来。"
林野看着她。
"六点四十。"苏野说,"我就站在这儿等你。一分钟不差。"
她顿了顿。
最近她总觉得,还有一件事她忘了。不是名字,是别的什么。三年前的一个晚上,有人坐在这张桌子旁边,坐了三个小时,走的时候说了三个字。
那三个字,她学了很久。
她不知道那个人是谁。她只知道,那三个字教会了她怎么说话,也教会了她,一个人可以对另一个人,有多轻、又有多重。
她低下头,看着林野。
"辛苦了。"她说。
她说完自己愣了一下。
三年前,她学着对他说这句话的时候,还不懂它是什么意思。
现在她懂了。
林野的手,在杯子上停了一下。
他没问为什么。他只是点了点头,端起咖啡,喝了一口。
然后他把杯子,往桌边挪了挪,挪到离桌沿四厘米的地方。
咖啡馆里的灯亮了。窗外的天彻底黑了。
街上的路灯一盏一盏地亮起来,一直亮到看不见的尽头。
整座城市,像刚刚醒来。