1.日复一日的“净”界陈默醒了。和之前无数次醒来一样。
眼前是那片熟悉的、白得晃眼的天花板。没有一点灰尘。他坐起身,床垫发出轻微的嘶响,
这是房间里唯一能称之为“噪音”的东西。他穿上那套灰色的、同样一尘不染的连体服。
脚踩在冰凉光滑的地板上,触感熟悉得让人麻木。房间不大,一眼就能看完。一张床,
一个洗漱台,一个马桶,一个发出轻微嗡嗡声的方形机器。还有一扇门。一扇他从未打开过,
也打不开的门。他的日子被一个固定程序安排得明明白白。程序的第一步:扫地。
墙边立着一把扫帚和一个畚斗。材质不明,轻得出奇,永远用不坏。他拿起工具,开始工作。
他从房间最里面角落开始扫。动作标准得像用尺子量过。唰——唰——扫帚划过地面,
发出规律的声音。其实地上什么也没有,干净得离谱。但他还是每天扫。这是规定。
扫地结束。他把根本不存在的“垃圾”倒进那个方形机器。机器亮起绿灯,
发出一声短促的“嘀”。算是确认了他的工作。完成这一步,他才能去洗漱台用水。
水是定量的,刚好够喝和简单清洗。完事后,他走到房间正中的控制台前。
控制台上布满了按钮和指示灯。大部分按钮是灰色的,按了也没反应。只有几个亮着绿光。
他熟练地按下其中一个。屏幕上跳出一行字:“环境参数稳定。维持。”他又按下另一个。
“营养液供给准备就绪。确认。”他按下确认键。旁边的出口滑开一小格,推出一管糊状物。
这就是他的早餐、午餐和晚餐。他吃着没什么味道的糊糊,眼睛盯着控制台。
还有一个亮着蓝灯的按钮,标签写着“外部状态”。他试过按它,没任何反应。每天他都试,
纯粹是习惯。今天也一样。他按下蓝键。屏幕闪烁了一下。没有跳出往常的“无数据”提示。
反而快速闪过一串奇怪的字符:#FF0000。血红的一串代码,瞬间消失。
屏幕又恢复了“无数据”的状态。陈默拿着糊糊管的手停在了半空。他眨了眨眼。
刚才那是什么?故障?他盯着屏幕,又按了一次蓝键。“无数据”。一切如常。
仿佛刚才那一闪而过的红色只是他的幻觉。他吃完糊糊,把空管扔进回收口。
该进行第二次扫除了。程序里,每天要扫三次地。他拿起扫帚,心里却还想着那串代码。
#FF0000。那颜色刺眼得很,和这里所有的白、灰、绿都不一样。
他心不在焉地挥着扫帚。唰——唰——扫帚碰到床边与地面相接的缝隙时,
似乎勾到了什么极微小的东西。一个几乎看不见的小黑点弹了出来,落在地板上。
陈默的动作停住了。这里怎么会有脏东西?这不可能。他蹲下身,
用手指小心翼翼地将那个小点捻起来。那不是灰尘。
那是一粒极其微小的、闪着金属冷光的碎屑。他盯着指尖这粒不该存在的东西。
又抬头看了看那扇紧闭的门。程序好像出了点问题。或者说,别的什么东西,开始出问题了。
2.微小的叛徒陈默捏着那粒金属碎屑。它太小了,几乎感觉不到重量。但它硬邦邦的,
边缘有点扎手。这玩意儿绝对不是这个房间该有的东西。
这里的一切都是软的、圆的、光滑的。这碎屑像个闯错门的叛徒。
他下意识地想把它扫进畚斗,倒进机器。流程是这么规定的。任何异物,立即清除。
他的手指都抬起来了。但他停住了。他把手缩了回来。这不对劲。他环顾四周。
纯白的墙壁沉默地包围着他。一切看起来都和过去无数个日子一模一样。
除了他指腹上这微小的、冰冷的触感。他走到控制台前。把那粒碎屑举到眼前,对着光看。
它闪着一种微弱的光,不像金属,更像某种陶瓷。他脑子里闪过一个念头。那个分析槽。
操作台侧面有个细缝,他从来不知道干嘛用的。标签磨损得看不清字。
以前他试过把手指放上去,没反应。后来就懒得管了。现在,他鬼使神差地把碎屑凑了过去。
他把碎屑对准那条细缝,轻轻塞了进去。它刚好卡进去。
机器内部传来一声极轻微的“咔哒”。控制台主屏幕突然黑了。陈默心里咯噔一下。搞砸了?
他是不是把唯一能给他食物和空气的玩意儿弄坏了?他后悔了,伸手想去抠,但缝太细,
根本摸不到。屏幕又猛地亮了。没有显示往常的绿色数据。满屏都是疯狂滚动的白色代码。
最后,所有代码消失。屏幕中央跳出一个巨大的、红色的错误提示框。
里面是几个他看不懂的符号,但符号末尾,
清晰地跟着他早上见过的那串代码:#FF0000警报声没响,
只有红灯在控制台顶部疯狂闪烁,映得整个房间一明一暗。陈默屏住呼吸,盯着那串代码。
它不再一闪而过,它固执地停在屏幕中央。像一只红色的眼睛,瞪着他。五秒后。
屏幕“啪”地一下恢复正常。环境参数稳定。维持。红灯熄灭。仿佛什么都没发生过。
只有他心脏还在咚咚地跳。分析槽的细缝轻轻吐出了一点东西。不是那粒碎屑。
是一张薄如蝉翼的透明薄片,上面布满了极细微的凸点。陈默把它拈起来。他认出来了,
这是一种老式的触觉存储卡,需要特定读取器。他这里没有。但他房间的墙壁是光滑的。
也许…他走到一面墙边,用指甲轻轻刮过那片子的边缘。然后,他把它像贴纸一样,
按在了墙上一个极其不起眼的、类似磨损痕迹的小凹点上。
墙壁内部传来一声几乎听不见的低鸣。他面前的一小块墙皮,大约巴掌大,颜色突然变了。
变成了一块深色的显示区域。上面浮现出一行闪烁的小字:“清道夫协议,
次级指令序列就绪。待触发。”陈默猛地后退一步,撞到了控制台。清道夫?那是什么?
是指他每天扫地吗?次级指令又是什么?他每天的流程里可没这一项。
他盯着那块突然活过来的墙壁。又低头看了看手里的扫帚。
他好像……不小心启动了什么藏在说明书背后的东西。
3.墙上的鬼画符那块墙皮现在像块劣质的屏幕。泛着微弱的蓝光。那行字闪了几下,
稳住了。“清道夫协议,次级指令序列就绪。待触发。”陈默盯着这行字,
手里的扫帚攥得死紧。清道夫?他每天扫地,倒真是像个清道夫。但这听起来太正式了,
像个代号。他不喜欢。“触发什么?”他对着墙问。墙没理他。字还是那行字。
他等了一分钟,有点火大。被一块墙晾着了。他伸出扫帚,
用柄小心地捅了捅那块发光的区域。没反应。他又试着用手按了按。凉的,没动静。
“待触发。”它写着,但没说要怎么触发。他有点烦躁地转身,想回去坐下想想。
扫帚头无意中擦过那块墙的下缘。唰啦一声。墙上的字猛地变了。
变成了一堆乱七八糟的线条和箭头。像小孩的涂鸦,又像某种极其简陋的流程图。
线条是蓝色的,在白色的背景上扭来扭去。箭头最终指向房间的另一个角落。
天花板和墙相接的那条缝。陈默抬头看那个角落。和他扫过的所有角落一样,白得干净,
屁都没有。这鬼画符在耍他?但他没别的事可干。解密游戏总比每天按按钮有意思。
他拖着扫帚走过去,站到那个角落底下。仰着头看。脖子都酸了。啥也看不出来。他想了想,
把扫帚倒过来,用长柄去轻轻捅天花板和墙的接缝。捅了一下,没反应。捅第二下。咔。
一声非常轻微的、像是塑料卡扣弹开的声音。一小块天花板,大概指甲盖那么大,
弹开了一条缝。里面黑乎乎的。陈默心跳有点快。他踮起脚,
用扫帚柄尖端小心翼翼地把那块小盖板挑开。里面不是黑的。有一个极小的红色光点,
正在缓慢地、规律地闪烁着。像一只睡着了的心跳。他把手伸进去,
指尖摸到了一个冰冷、光滑的小东西。他把它抠了出来。
是一个比之前那粒碎屑稍大一点的立方体,通体黑色,只有一个面在闪着那个红点。
他刚把这小方块拿到手里,身后那块墙上的蓝光“噗”地一下就灭了。墙恢复了原样,
好像刚才什么都没发生过。只有他手里这个沉默闪烁的小方块,证明他不是出现了幻觉。
他走回房间中间,看着手里的新玩意儿。又看看控制台。再看看那把扫帚。所以,流程之外,
这房间还藏了别的东西。用扫帚才能找到。这设计***有病。但……挺有意思。
他捏了捏那小方块,红色的光点闪烁依旧。这又是什么?另一个钥匙?还是另一个锁?
他得搞清楚。而他知道,唯一的工具,可能还是这把破扫帚。
4.扫出来的新工作陈默捏着那黑色小方块,在手里转了几圈。红点不慌不忙地闪着,
看得他眼晕。这玩意儿肯定不是装饰品。但它干嘛用的?
他第一个念头是把它也塞进控制台的分析槽。万一又吐出点什么好东西呢?他走到控制台前,
把小方块往那条细缝里塞。塞不进去。缝太细,方块有点大。硬怼了两下,
差点把方块掉地上。他赶紧住手。看来这条路不通。他靠在控制台上,打量这个方块。
除了闪红灯,没按钮,没接口,光溜溜的。他试着用手指按住那个红点。按了三秒。没反应。
又用力捏了捏整个方块。还是没反应。这东西像个死疙瘩。他有点泄气,
随手把方块扔在控制台面上。“咚”的一声轻响。方块弹了一下,红灯突然急速闪烁了几下,
又恢复了原来的节奏。像是在***。陈默盯着它,眨了眨眼。有门儿?
他是不是得找个地方“安装”它?刚才那墙上的鬼画符箭头指的就是藏它的地方。
但现在墙不亮了,没提示了。他拿起扫帚,有点自暴自弃地挥了一下。
“总不能是让你这扫把来读它吧?”说着,他无意识地把扫帚头靠近了那个方块。
嗡——扫帚柄突然传来一阵极其轻微的震动。陈默差点把它扔了。他低头一看,
扫帚柄靠近头部的位置,原本光滑的表面,竟然亮起了一圈极细的蓝色光环。
而那个黑色方块上的红点,闪烁频率猛地加快了,几乎连成一片。陈默愣住了,
慢慢把扫帚头贴到方块上。蓝光和红光交织在一起。扫帚柄的震动变得更明显,
像是在努力读取什么。几秒钟后,震动停止。蓝光熄灭了。方块上的红点也恢复了缓慢闪烁。
但控制台的主屏幕突然自己亮了。不再是绿色的状态信息。满屏都是快速滚动的数据流,
快得根本看不清。最后,数据流停止。屏幕中央出现了一个新的、他从没见过的图标。
图标下面有两个字:“维护”。陈默小心地伸手,点了一下那个图标。屏幕切换了。
出现了一个三维立体图,正是他这个密室的结构模型。模型里,有几个点正在微微闪烁红光。
其中一个,就在他刚发现小方块的那个天花板角落附近。另一个,在床底下。还有一个,
在那扇紧闭的门框上方。每个红点旁边都标注着一行小字:“未同步”。
屏幕最下面出现一行指令:“请使用工具进行物理连接与同步。”工具?
陈默看了看手里的扫帚。这玩意儿还真是个多功能钥匙?他走到床边,蹲下身,
把扫帚伸进床底下一通划拉。果然,在最里面的角落,扫帚头碰到了一个硬物。蓝光又亮了。
他把它扒拉出来,是另一个一模一样的黑色小方块,也在闪着红灯。他如法炮制,
用扫帚头碰了碰它。蓝红交闪之后,控制台屏幕上的模型里,床底下的那个红点变成了绿色,
标注也变成了“已同步”。陈默直起身,看了看门,又看了看手里的扫帚。所以,
他的新工作不是扫地了。是拿着这把破扫帚,满屋子找这些隐藏的“蓝牙音箱”?
这什么古怪的捉迷藏游戏。但他没犹豫,拖着扫帚就走向那扇门。他得看看门框上那个。
5.门框上的心跳门框很高。陈默得踮起脚,伸长胳膊才够得着上面。扫帚柄不够长,
有点碍事。他骂了一句,把扫帚夹在胳膊底下,徒手去摸。门框顶积了层薄薄的灰。
他的手指摸过粗糙的表面。这让他愣了一下。这地方居然有灰?
他的扫地流程可从来没包括这里。看来流程也有漏洞。很快,
指尖碰到了一个冰冷坚硬的东西。他把它抠了下来。第三个黑色方块。它安静地躺在他手心,
红灯规律地闪烁。他拿出之前那个方块,把两个放在一起。一模一样,像一对沉默的双胞胎。
他拿起扫帚,用发光的头部依次碰了碰它们。蓝光闪烁,同步完成。控制台屏幕上,
门框上的红点也变绿了。现在三个都齐了。屏幕上的模型所有红点都变成了绿色。
“未同步”的字样全部消失。下面那行指令变成了:“同步完成。启动校验。”陈默等着。
接下来呢?校验什么?他等了几秒,什么都没发生。模型就停在那里,绿油油的一片。
他走回控制台,用手指戳了戳屏幕。没反应。他又试着按了那几个日常的绿色按钮。
环境稳定。营养液准备。一切正常,仿佛刚才那个维护界面从没出现过。“启动校验?
”他对着空气说,“你倒是校验啊!”房间静悄悄的,只有机器的嗡嗡声。他有点恼火,
感觉被耍了。他抡起扫帚,没好气地往地上一顿。扫帚头砸在地板上,
发出“咚”的一声闷响。就这一下。整个房间的灯光猛地暗了一下,像电压不稳。
控制台屏幕上的模型瞬间消失,被一个巨大的、旋转的黄色叹号取代。
叹号下面有进度条开始缓慢爬升。
旁边写着:“结构完整性校验中… 1%…”陈默屏住呼吸,看着进度条一点点往前挪。
5%... 10%...这扫帚原来还是个确认键?靠敲的?他不敢乱动了,
老老实实等着。进度条爬到50%的时候,
房间的墙壁内部传来一阵低沉的、金属摩擦的***声。声音不大,但听得人牙酸。
像是很久没上油的齿轮被强行转动了。爬到75%,那扇永远紧闭的门,
突然“咔哒”响了一声。不是解锁,像是内部有什么东西绷紧了。爬到99%。
声音都消失了。进度条卡住了。黄色的叹号开始急促闪烁。陈默的心提到了嗓子眼。
别在这个时候掉链子。控制台突然发出一声尖锐的“嘀”!叹号变成了红色。进度条消失了。
屏幕上跳出一行冰冷的白色错误信息:“校验失败。关键节点:主出口门禁控制模块。
状态:离线或损坏。”“建议:执行手动诊断。”手动诊断?陈默看向那扇门。所以,
门打不开,不是因为流程不允许。是它坏了?而他现在,莫名其妙地,成了修门的?
6.坏掉的门和唠叨的台子手动诊断。说得轻巧。陈默走到那扇门边,上下打量着它。
光溜溜的,连个钥匙孔都没有。他用手拍了拍门板。闷响。和拍墙没什么区别。“诊断?
”他对着门说,“我怎么诊断?用眼睛看吗?”门当然不理他。他扭头看控制台。
屏幕还挂着那条错误信息,红得刺眼。“给点提示行不行?”他冲控制台喊了一句。
控制台“嘀”了一声,屏幕闪烁了一下。
错误信息下面真的又多出几行小字:“诊断程序启动需物理接口连接。
”“接口位置:主出口门禁控制面板下方。”“访问方式:移除盖板。”陈默蹲下身,
凑近门与地板接缝的地方。下面果然有一道几乎看不见的细缝。他用手指抠了抠,没反应。
指甲抠得生疼。他想起那把万能扫帚。拿起扫帚,用柄部尖端***细缝里,轻轻一撬。
一块长方形的、巴掌大的盖板“啪”地一声弹开了。里面是密密麻麻的线路和一个小屏幕。
屏幕是黑的。“找到接口。”控制台屏幕更新了文字,“请连接诊断工具。”诊断工具?
陈默看看手里的扫帚。扫帚头上的蓝圈没亮。看来这次不是它。他盯着那堆线路,有点懵。