小女孩的声音在浓雾中消散之后,街上大概有三秒钟没有任何人说话。
不是安静。是所有人同时屏住了呼吸。二百个玩家分布在主干道和巷口的交界处,像二百个被按了暂停键的信号源。浓雾在这些静止的人体之间缓慢流动,灰白色的雾丝擦过每个人的手背、后颈、眼睫毛。
“刚才是谁。”有人压着嗓子问。
没有人回答。因为所有人都在等第二声。
第二声来得比预想的快。不是小女孩的声音了,是一个成年女人。声音从东侧第三条巷子里传出来,沙哑、急促,带着哭过之后的鼻音,像嗓子被砂纸打磨过一遍又一遍——
“明明,你不要动,妈妈过来了——妈妈马上就过来了——”
东侧第三条巷口。我把手环对准那个方向,屏幕上的声源定位显示波形震荡幅度远超正常人类语音范围。这不是一个回音。是至少六个回音叠在同一个位置,正在同时用不同的语气、不同的称呼、不同的记忆片段对同一个目标进行诱导。那个叫“明明”的玩家大概率已经在巷子里了——而且他刚才回答了什么。因为回音的触发机制从规则书里可以倒推:只有当你第一次无意识地发出回应——哪怕只是一个“嗯”或一个下意识的抬头——它们才能锁定你的记忆库。
“朝歌,那个人——”陆瑾抓着我的袖子,手指在发抖。不是因为恐惧,是因为她的情绪雷达被什么东西撞到了满格,“他很害怕。不是一般的害怕。他听到了他妈妈的声音。他妈妈已经不在了。回音用的是过去式——它说‘妈妈马上就过来了’,但它用的情绪模板是遗言。那个人的妈妈死之前说过这句话。然后他回答了。”
“你全都能感应到。”
“我不想要这个。现在不想要。”她把我的袖子攥得皱巴巴的,杏眼在雾里亮得不太正常,下眼睑在轻微抽搐——那不是哭,是接收太多情绪信号之后神经系统在过载。
“朝歌,它知道怎么让他最难受。它从他记忆里抽的是最后一眼。他在哭。他在往巷子深处走。越走越深。它还在叫他。它换声音了,换成了一个小孩——可能是他自己小时候——它在说‘哥哥你为什么不回来’。他跑起来了。”
白芷从苏眠身后探出头,她抱着医疗包的手指收紧了,嘴唇动了一下:“我们能救他吗。”
苏眠替所有人回答了:“来不及。”不是冷酷,是事实。情报贩子的手环上同时更新了三条回音节点分布数据,都是实时变化的。“回音这东西不是随机触发——它们盯上一个人就不会换目标,除非他死,或者有人替他去听。你冲进去替他听那句话,回音就会转向你。而且对你用更精准的模板。”
“所以没有人会去替别人听。”
“有。”苏眠关掉手环屏幕,“但不会活着回来。”
那个叫明明的玩家消失在巷子深处的第七分钟,整条主干道上所有的回音忽然停了。不是渐渐减弱,是一刀切——所有声音同时消失,连远处时远时近的钟声都没了。雾还在,但雾里的流动感也消失了,灰色的雾丝静止在半空中,像被定格在玻璃里的标本。
然后城市中心传来一声钟响。只有一声,低沉、厚重、带着某种穿透肉体的震颤感。那声钟响扩散到整个副本空域时,每一条街道、每一个巷口、每一栋封死的居民楼同时发出了嗡鸣,像整座城市都在和那口钟共振。
“一号玩家死亡。”苏眠把手环上的实时存活数据公放出来——那是她自己写的监控程序,比系统给出的排行榜快了不少,“死亡定位在三分钟前,正好是他跑进巷子的时间。死因是被回音诱导至限制区域后遭环境同化。同化后的玩家躯壳还在,但他的‘存在’已经变成了新的回音信号源。也就是说——我们接下来会多一条回音,那个回音会用他的声音说话。用他妈妈的遗言、他自己小时候的声音、他最后听到的所有东西。它还会继续在别的玩家记忆里搜索相近的模板。”
第一条人命在副本开始后的第十八分钟被收割。比顾涌在后手组的估值还早了半小时。
“明明”死前最后看到的画面是什么?是他小时候自己的脸,是妈妈从白雾里走过来。他知道那不是真的,但他还是回答了。不是被吓到忘掉规则。是他想再看一眼。就一眼。然后回音拿走了那一整眼。
“走。”我把手环导航切到手动模式,不再依赖系统提供的坐标,“所有人沿着主干道右侧墙根前进。不要碰墙壁,不要摸门窗,不要给回音留下可以模仿的任何声源或触感。苏眠你留意实时数据,白芷跟在她身后不要超过三步。陆瑾,你走最前面。”
“你刚才说不要碰墙,但你现在让我走最前面。”陆瑾站到了队伍正前方,她的声音从前方传回来,被雾打折了一截,“所以你是指挥官,我是雷达加坦克。你就这么放心。”
“我把你放在最危险的位置,因为你是唯一一个能在回答回音之前先问它话的人。”
陆瑾停顿了一拍。然后笑了一下,不是虎牙全露的那种笑,是很浅的、只有嘴角动的弧度。“这算是在夸我。我听出来了。”
她转身走在最前面。雾吞掉了她的背影。
灰雾在接下来的时间里吞噬了所有人的前方。能见度降到不足三米。城市的模样在雾中断裂成一堆互不关联的局部:一片满是抓痕的砖墙、一盏早就碎了的街灯、一扇被撕掉门牌号的铁皮门。每走几步,手环上的坐标就会往上跳一段,不是因为我们在移动,是这座城市的空间本身就不是稳态——你在走,但街道也在走。它在被回音的流速推着缓慢变形。
“苏眠姐,”白芷的声音从队伍后方传来,比平时稍微响了一点,像在确认自己还能听到自己的声音,“你在记录回音分布吗。”
“在记。”
“它们现在在叫什么。”
“一个初中生模样的玩家被叫到了名字。用的是他班主任的语气。他现在蹲在右前方三百米的废墟里,在对自己念校规——他想用逻辑对抗回音。目前还没回答。”苏眠顿了顿,“策略不错。但不适合你。”
“为什么。”
“因为你没有校规可以念。你的记忆库里能被回音抽出来的全都是你想见的人。包括已经忘了你的人。”
白芷沉默了几秒。“你也是。你的记忆库里有谁。”
苏眠没有回话。但她的脚步慢了半步——慢到刚好和白芷并肩。同一时间,前方陆瑾的脚步也停了。她停在一个十字路口前,短发下的后颈绷紧了。
“朝歌。这个路口不对劲。地面上有两条拖拽的痕迹,不是血迹,是有人被什么东西从右侧拖进了左侧——方向不对。拖拽轨迹是直的,但地面纹理在路口正中央被反向拉过一次。”
我蹲下来看路面上的拖痕。拖痕确实是往左延伸的,但左侧的地砖纹理被某种力道从反方向扯过——也就是说,被拖走的人在路口中央挣扎过一次,然后放弃了。不是死于外力,是死于妥协。他的身体在被拖走之前先放弃了抵抗。这符合回音的同化机制:不是杀死你,是让你主动走向它,然后把你变成它的一部分。地上的拖痕说明那个玩家在最后一刻还往回拉过一次,但没有成功。
“继续往前。保持距离。不要停。”
我们穿过路口的时候,陆瑾的耳朵动了一下。不是比喻,是真的动了一下——她耳廓上细微的汗毛在雾中轻微摆动。然后她偏过头,朝右侧的街道深处望了一眼,脚步没有停,只是压着呼吸对我说:“朝歌,我听到你叫我了。不是现在的你,是那个在古堡第四夜跟我说的‘百分之二十’。”她顿了一拍,嘴唇抿紧又松开,“它学得很像。但你还是在我前面走。所以我知道那个是假的。它不该在你不在旁边的时候用你的脸。”
“不要回答它。”
“我没回答。我在跟你说,不是在跟它说。”
她的手从身侧抬起来,握住了我的手。力道很轻,刚好包住我的指节。她的手温比正常人高一点,在灰白色的雾里是唯一有温度的东西。“走吧。这条路还没结束。”
二十分钟后,我们在一栋看起来相对完整的居民楼一层找到一个临时据点。墙上贴着褪色的报纸,窗玻璃全碎了,但窗框还在,至少能挡掉一部分气流。白芷在角落铺开医疗包,给苏眠手臂上一道不知什么时候划的口子做清创处理。苏眠低头看着她的手指,突然开口:“你在古堡里说过‘我明天就不怕了’。你后来怕了没。”
白芷的手停了一下,然后又继续动作。“第二天怕了。第三天也怕了。但第四天想到你还在给我点牛奶,就不怕了。”她把纱布贴上苏眠的手臂,动作极其轻柔,“苏眠姐,你记得这个吗。”
“不记得。但我记得在古堡里每次换药你都要我先坐下。我不坐下你就不动手。”
白芷把纱布固定好,然后用指尖轻轻点了一下她的手臂。“对。就是那样。”
陆瑾靠在窗边看外面。雾中的回音持续发出各种声音——有人在叫姐姐,有人在叫前队友的ID,有一个老人在用古语念一首失传的童谣。那些声音此起彼伏,像一整个电台在播放不同的频道。她靠着窗框,表情很安静。她的高敏雷达在全频运转,但这次她没有发抖。不是不怕了,是有个人刚才在路口说了一句话——然后她就能从一百条回音里精准筛掉所有模仿林朝歌的声音。她刚刚在十字路口做过测试了。回音能复制语气,但无法复制人站的位置。这个规律如果能被量化,也许能帮更多人。