我发现了世界的 bug。
起因是我发现我的生日,是这个世界上不存在的一天。
可全班同学都说,2 月 30 日,就是后天。
1.
开学第一天,班主任让我们填学籍表。
姓名,林知夏。性别,女。出生日期——
我写下:2 月 30 日。
新来的转学生顾昭坐在我前排。
他回头瞄了一眼我的表格,突然说:
「2 月,没有 30 号。」
教室里安静了一瞬。
不是那种有人说了怪话的安静。
是全班同学的动作同时停了半拍,又同时继续的安静。
窗台上有一只麻雀,翅膀张开,停在半空,飞不动,像被人按了暂停键。
下一秒,世界恢复了运转。
麻雀「扑棱」一声落在了栏杆上。
同桌周晓凑过来看我的表格,笑得眉眼弯弯:
「知夏,你写错了,2 月哪来的 30 号?」
我盯着她:「刚才不是说,后天就是吗?」
「什么?」
周晓一脸茫然,像从没听过这句话。
我问:「那我的生日是哪天?」
「2 月 30 日呀。」她脱口而出,「我妈的生日跟我一样,也是 2 月 30 日。」
我后背一层白毛汗。
母女俩同月同日同一年?不可能。可她说得那么顺,顺得像背了一千遍。
我又去问后桌的男生。他说他生日是 6 月 7 日。
我再问一遍,他一字不差:「我生日是 6 月 7 日。」
语气、停顿、嘴角翘起的角度,全都一样。
像同一段录音放了两次。
我不死心,又问他:「你妈生日呢?」
「跟我一样,6 月 7 日。」
我僵在座位上。
那天晚自习,我做了更多测试。
天气预报说明天有雨,第二天准时下了,雨点砸在窗台上的时间,和预报的分秒不差。我赌气把伞锁进储物柜淋了一场雨,第三天,天气预报改了口,说前日无雨。
路灯每天 18 点 42 分亮起。我掐着表连等三个晚上,误差为零。
食堂阿姨给我打饭,勺子抬起来的高度、手腕抖落的弧度,和上一次、上上一次,一模一样。
这个世界准得可怕。
准得像一台不会出错的机器。
而唯一出错的,是我。
放学时,我在桌肚里摸到一张纸条。
字迹清瘦,像是用笔尖很用力写下来的:
「天台见。你的生日有麻烦了。」
没有署名。
我抬头去找顾昭,他已经背起书包,走出了教室。
2.
天台上风很大。
顾昭背对着我,校服被吹得猎猎作响。这个姿势很帅,帅得像电影截图。
「先自我介绍。」他转过身,表情很郑重,「我不是这个世界的人。」
「我是穿越者。」 他说,这个世界是一本书。书里所有人都是 NPC,被写好的,有既定的台词、既定的路线、既定的一生。只有我是活的。
他来,是为了修复这本书的漏洞。
「漏洞就是我?」我问。
「漏洞,是你的生日。」他朝我走近一步,压低声音,「2 月 30 日,这一天本来不存在。它是系统为了某一个人,硬生生造出来的。」
「你知道为什么造吗?」
我摇头。
他叹了口气,摊手:「不知道。书里没写。这一页是空白的,所有角色都当它理所当然,包括你。」
「那我算什么?」我问,「多出来的一天?」
「多出来的人。」他纠正我,「多出来的一天,只是装你的容器。」
他看着我的眼神很复杂,像是同情,又像隔着玻璃观察一只笼子里的动物。
「别怕。」他说,「你不是第一个发现漏洞的。书里每一代,都有人隐隐约约觉得不对。但他们都是 NPC,醒一下,就又睡回去了。」
「你不一样。你的表格是空的,系统填什么,你就是什么。」
「所以你有机会。等主线情节走完,也许你就能解脱。」
「如果情节走不完呢?」
他沉默了一下,说:「那也没办法。书里的人,谁逃得出一本书。」
下楼的时候,我遇见了江野。
我们学校没有人不认识江野。高二(3)班,坐最后一排,不说话,不打架,但全校都绕着他走。 据说他妈十年前失踪了。
据说他爸酗酒,喝了酒就打他。据说他身上总有伤,三伏天也穿长袖。
据说,别惹他。
他靠着楼梯扶手,堵在我和顾昭中间,眼睛落在顾昭脸上:
「新来的,你刚才跟她说了什么?」
顾昭往我身后躲了半步。
躲的方向不对。江野明明站在左边,他躲向了右边。
像一段演砸了的戏。
江野没再看他,转向我,声音很低:
「别信他。」
我问他为什么。
他没答,转身往楼上走,和我擦肩的时候,忽然顿了一下:
「面馆今天开门吗?」 我家开面馆。我妈是老板娘,每天凌晨四点起来熬汤,汤要熬足六个小时。
我「嗯」了一声。
他下了楼。我看着他的背影,忽然想起一件事——
江野每周都来吃面。可他从不付钱,我妈也从来不要他的钱。
有一次我看见他把钱压在碗底。我妈收盘子的时候,像完全没看见一样,抹布直接从那张钱上擦了过去。
那张钱,第二天还端端正正压在桌上。
3.
冬天来的时候,日历上出现了一个奇怪的格子。
2 月 29 日后面,印着 2 月 30 日。黑体字,和别的日期一模一样,理直气壮。
对了,我家没有我爸。我妈说,我出生那天她就没见过那个人。
每次说到这里,她都会停顿两秒,然后微笑着,一字不差地重复:
「我出生那天,就没见过那个人。」
2 月 29 日夜里,我妈没睡。
我在门缝里看她。她系着围裙在厨房擀面,擀一下,停一下,擀一下,停一下,像一台老旧的机器。
擀到天亮。
2 月 30 日早上,我家面馆门口挂出了牌子:歇业一天。
不止我家。全街的店都关了,卷帘门一扇挨着一扇,拉得严严实实。
街上没有人。
一辆车都没有。红绿灯自顾自地变换,绿了又红,红了又绿,一丝不苟地指挥着空无一物的路口。
我趴在窗口看了十分钟,浑身发冷。
我妈端着一碗面出来,放在我面前。卧了两个蛋,葱花撒得均匀,热气腾腾。
「吃了面,就当长了一岁。」
她笑得很温柔,眼睛里却像蒙着一层雾。
「妈,今天为什么没人?」
她愣住了。像断电一样,脸上的笑僵在原处,维持了整整三秒,然后重新挂上去:
「吃了面,就当长了一岁。」
我拿起筷子。面很烫,我吃得很慢。 这
个味道我从小吃到大。可今天,我说不上来哪里不对——
太香了。
香得不像刚做出来的,像一段被我反复回忆过、回忆到发亮的记忆。
我借口上厕所,从后门溜了出去。
街上安静得能听见自己的心跳。我贴着墙根走,走到十字路口的时候,看见了顾昭。
他站在路中央,面对着空气,微微躬身,像在向谁汇报:
「……觉醒进度百分之三十一。依恋对象已确认。评估日流程一切正常。」
风停了。 他
的声音还在继续,平静得没有一丝波澜:「请指示。」
我躲在邮筒后面,指甲掐进了掌心。
穿越者,要向谁汇报?
一只手从背后捂住我的嘴,把我拽进了巷子。
是江野。
他把食指竖在唇边,又指了指天。天上的太阳明晃晃的,却没有温度,像一枚假币。
「别出声。」他贴着我的耳朵,声音低得几乎听不见,「等天黑。」
我们在巷子里蹲了整整一个下午。
巷子里很暗,墙根堆着湿透的纸箱。江野坐在我旁边,背抵着砖墙,把校服外套脱下来,扔在我腿上。
我这才看见他后颈上有一道疤,旧的,很长,从耳后一直没进衣领。
「疼吗?」我脱口而出。
他偏过头看我,像没听懂这句话。 过了很久,他说:「习惯了。」
我忽然想起,全校那么多人,没有一个问过他这句。大家只知道躲着他,传说他,编排他。没有一个人,问过他疼不疼。
期间顾昭一直站在路口,一动不动,像被拔掉了电源。
我问江野:「他知道我在看他吗?」
「不知道。」江野盯着外面,「他只对上面负责。」
「上面是哪儿?」
他没回答。
天黑透的那一刻,街上的灯「啪」地全亮了。远处传来人声、狗叫、电视声,炒菜的油烟味混着谁家的争吵飘过来。世界像一台重新开机的电视。
顾昭消失了。
江野把我送到面馆后门,转身要走。
我叫住他:「你早就知道,对不对?2 月 30 日到底是什么?」
他背对着我,站了很久。
路灯把他的影子拉得很长,长到一直铺到我脚边。
久到我以为他不会回答了,他忽然抬起手,在我的掌心里写字。
一笔,一划。
四个字:
「记得逃跑。」
写完,他把手收回去,插进口袋,走了。
我摊开手心,那四个字还带着一点温度,烫得我半天没敢合上手指。
4.
从那天起,我开始疯狂地测试这个世界。
月考,我交了白卷。
成绩出来,数学 92 分,年级排名 137。
和我上次认真答题的那次,一分不差,一名不差。
班主任在讲台上表扬我:「林知夏同学,成绩非常稳定。」
我把班主任的水杯从三楼扔了下去。 第二天,水杯端端正正站在讲台上。
班主任端起来喝了口水,继续讲课。
没有人记得杯子坠下去的声音。
体育课报数,数到我的时候,队伍会极轻微地卡一下,然后所有人自动跳过我,继续往下数。
我问周晓:「刚才是不是少数了一个人?」
她茫然地眨眨眼:「没有啊,就这么多个人。」
情节像水。我从水里伸出手,搅出一圈涟漪,水很快合拢,一点痕迹都不留。
我又试了一次。
我在作文里写:这个世界是假的,我们都是被写好的人。
作文发下来,红笔批语写着:想象大胆,结构完整,推荐参加校刊。
那篇作文真的登上了校刊,标题被改成了《假如世界是本书》。全班的反应是:写得真有意思。
没有人当真。没有一个字,能留在任何人的脑子里超过一晚。
我甚至试过夜不归宿,在网吧坐到天亮。
第二天早上回家,我妈眼皮都没抬:「起这么早,吃面吗?」
好像我从未离开。好像这一夜,从未存在。
只有顾昭,催我催得越来越紧。
「别折腾了。」他拦在我座位边上,「情节走完你就能解脱,别给自己加戏。」
「什么情节?」我问。
「救赎。」他说得含糊,「一个关于救赎的主线。你等着就行。」
我请他吃了一次糖炒栗子。二月的最后一周,校门口最后一家卖栗子的小摊收摊了。
他捏着那颗滚烫的栗子,看了一眼,又轻轻放回我的手心,笑着说:
「等情节走完再吃。」
我后来才想明白,这个世界所有的 NPC 都要吃饭。
江野吃面,周晓嗑瓜子,连学校的流浪猫都翻垃圾桶。
只有顾昭,我认识他快一年,只见他说过话,从没见他吃过一口东西。
三月,我发了一场高烧。
烧得迷迷糊糊的那晚,我住在医院。夜里我口渴得厉害,喊我妈,走廊上空空的,陪护不知去向。
我半夜醒来,听见病房门外有人说话。
是江野的声音。
他压得很低,一个字一个字地往外挤,像在跟谁谈判:
「……再给我一次机会。」
「她快想起来了。我知道她快想起来了。」
「我把我的额度折给你。就这一次。」
没有回音。或者说,回音我听不见。
门外的声音停了很久,久到我以为他已经走了。
许久,他推门进来,在床边坐下,看着我,忽然笑了一下。
他很少笑。笑起来的时候,眼角有很深的疲惫,不像一个十七岁的人。
「知夏,」他说,「你想要什么生日礼物?」
我烧得糊涂,脱口而出:「糖炒栗子。」
他愣了一下,然后点头:「好。」
第二天早上,我的枕边放着一袋糖炒栗子,纸袋上全是水汽,还是温的。
二月过去很久了。栗子这种东西,早过季了。
他跑了多少家店,我不知道。 很多年以后我才知道,这一天,他跑了同样的路,跑了七百多次。
5.
又一个 2 月 30 日,来了。
我数着日子,过了整整一年。这一年里,顾昭频繁地找我,催我「等情节」;周晓每天拉我去小卖部,我拒绝她十次,她第十一次还会问「知夏,去小卖部吗」;我妈的面越做越香,香得像回忆。
2 月 29 日夜里,我妈又没睡。擀面,停顿,擀面,停顿。
2 月 30 日早上,全街的卷帘门再次拉下。
不同的是,这一次,街上的人开始「收摊」。
不是关门,是收人。
上班的人走到半路,忽然僵住,像被掐断了信号的手机屏幕,然后从边缘开始,一点点变成灰白色,风一吹,散了。
遛狗的老头散了,狗也散了。吵架的小贩散了,摊上的橘子骨碌碌滚了一地,滚着滚着也散了。 我
妈正在收拾碗筷。她的手举在半空,忽然不动了。
我冲过去,接住那只碗。碗是热的。
「妈?」
她没有回应。灰白色从指尖蔓延上来,像霜爬过玻璃。
「她不是真的。」江野的声音从我身后传来。
我抱着碗,眼泪砸在碗沿上:
「面是真的。」
这个味道是真的。是我从小吃到大的、这个世界上唯一让我觉得「活着」的味道。
它总得有个来处。
江野没再说话。他拉着我往外跑。
街上空了。路灯还亮着,一盏一盏,照着空荡荡的柏油路,一直照向世界的尽头。
在十字路口,我们看见了顾昭。 他
还站在去年站过的那个位置,缓缓抬起头。
他的眼睛是纯黑的,没有眼白,像两口井。
「K-07,评估开始。」他用一种不属于他的声音说,字正腔圆,像新闻播音,「请返回初始点。」
「你的穿越者剧本,演完了。」
江野把我拉到身后:「她不会回去。」
顾昭偏了偏头,像在接收什么指令,然后说:
「K-06。你越界了。」
「你的任务是维持人设,不是干扰评估。」
K-06。
江野是 K-06,我是 K-07。
原来我们连名字都没有。
「最后一次警告。」顾昭抬起手,街上所有的路灯「啪」地全灭了,只剩天边一圈死灰,「返回初始点,删除本次记忆,明年今日,再见。」
「否则——」
「否则你就重置她。」江野打断他,「你每年都这么说。」
「我重置了她七百三十次。」
他向前一步,把我的手攥得很紧,紧得发疼:
「今年,第 731 次。」
「我不玩了。」
世界开始塌。
不是地震那种塌。是「被撤掉」的塌——街道从尽头开始卷起来,像卷一张废纸;天空剥落,露出后面灰白的底子;远处的居民楼一层一层地熄灭、变薄、消失,像粉笔画被手掌抹过。
顾昭从台阶上追下来,伸手抓我。江野回身一脚把他踹翻在地,拉着我狂奔。
「知夏,」他边跑边喊,「想起来了别停——数着数,别停——」
身后,路面像退潮一样消失。
我的脑子里「轰」的一声。
想起来了。
全部。
我叫林知夏。十七岁。2 月 28 日夜里,放学路上,一辆闯红灯的货车,很刺眼的车灯,很长的刹车声。
很疼。然后是很长很长的黑。
再有知觉的时候,我躺在一个陌生的地方。有人告诉我,我叫林知夏,生日 2 月 30 日,妈妈开一家面馆,爸爸不知所踪。
没有为什么。这个世界就是这样设定的。
我一路都在问江野。
「你是谁?」我在崩塌的街道上回头喊,「现实里,你是谁?」
他跑得满头是汗,眼睛却亮得吓人: 「隔壁床的。」
「比你早昏迷三天。」
「我进来的时候,系统就跟我摊牌了——双人意识修复测试。它说,两个陌生人的意识困在同一个副本里,会产生未知的情感变量。他们想看看,这种变量,能不能长出『真的东西』。」
「他们赌不能。」
「我不服。」
风声呼啸。世界只剩最后一条街了。 「你试过多少次?」我问。
「七百三十一次。」他说,「逃到过世界边缘——尽头是墙,墙上有贴图错误。告诉过你真相——你吓疯了,系统当场重置。绝食过,装病过,绝食到第七天,系统给我强喂营养液。有一次我把你藏起来,藏了四十多天,系统就把整座城撤了,再给你造一座一模一样的。」
「有一次,我想着,人死不了就能逃出去。」
他说得很平静,像在说别人的事:
「我试了。系统没报错,一条提示都没有。它只是把那天晚上,从我的人设里,轻轻删掉了。」
「第二天照常上学。照常 18 点 42 分路灯亮。照常去你家吃面。」
「没有人记得,我自己也不许记得。」
「每一次循环,你都忘得干干净净,重新叫我『同学』。」
「后来我不折腾了。我就在人设里,给自己偷偷加了一条设定。」
「系统检测了七百多次,一直以为那是个 bug,懒得修。」
「什么设定?」
他看着我,一字一句: 「看到林知夏,就会心动。」
路,到头了。
世界尽头是一堵灰白的墙。墙上什么都没有,连裂缝都没有。
顾昭从瓦砾里站起来,黑眼睛里,第一次有了类似「人」的东西。他说:「K-06,你知道逃不出去的。」
「我知道。」江野说。
他转向我,用手掌盖住我的眼睛。
他的手心全是汗,很烫。
「闭眼。」
「数三十个数。」
「数到了,就是真的。」
我数。
一,二,三……
耳边是江野的声音,很轻,很稳:
「知夏,其实我怕黑。以前每次循环重置,天一黑我就守在你家面馆对面,看你家灯灭了,我再去睡。」
「你妈关灯之前,会先给你留一盏小灯。」
……二十七,二十八,二十九。
「知夏。」
三十。
6.
我睁开眼。
白色的天花板。消毒水的味道。
有什么东西压着我的手,温热的,带着薄茧。
「呜……醒了!醒了!医生!医生——」
我妈扑过来,哭得整个人都在抖。她的头发白了一片,手里还攥着我的病历本,边角磨得起了毛。
后来我才知道,这半年,她白天守在病床边,晚上就着走廊的灯打盹。
面馆关了,卷帘门再没拉开过。她的手艺没荒废——床头柜上的保温桶,每天一桶新汤,从没断过。
护士说,那位阿姨念叨得最多的一句话是:等孩子醒了,先给她下一碗面。
床头柜上放着一个保温桶。
我认得那个桶。半年,三百多天,每天一桶新熬的汤。
「今天是几号?」我的声音哑得不像自己的。
「8 月 31 号。」我妈抹着眼泪笑,「你昏迷了整整半年。傻孩子,可算醒了。」
半年。
七百三十一次循环,压缩在半年里。
我侧过头。 隔壁床是空的。床铺整理得平平整整,像从来没有人来过。
护工正在换床单,见我盯着看,随口说:「那孩子啊,昨天后半夜就醒了,今天一早转去普通病房了。也是车祸,也是睡了半年,邪门得很。」
「他叫什么名字?」
「江野。」
这两个字落进耳朵里的一瞬间,我的心口像被什么烫了一下。
不疼。
就是烫。
7.
出院一个月后,我回医院复查。
走廊尽头,我看见一个男生,穿着宽大的病号服外套,正在跟护士要病历本。
他转过身。
我们隔着一条长走廊,谁也没有动。
阳光斜斜地照进来,落在我们中间的地上,浮着细小的灰尘。
半晌,他先开口,声音有点抖:
「你是……林知夏?」
「你怎么知道我的名字?」
他没回答,走近了几步,忽然停下来,像个赌徒推出全部筹码那样,问:
「我做了个很长很长的梦。」
「梦里有个女孩,她的生日,是 2 月 30 日。」
走廊里安安静静,只有输液的滴答声。
我看着他,忽然就笑了,眼泪也跟着掉下来:
「2 月,没有 30 日。」
他说:「有的。」
「对我们来说,有。」 那是我们多出来的、本来不该存在、却实实在在活过的一天。
他伸出手,掌心朝上,像在虚空中递出一张新的学籍表: 「你好,我叫江野。」
「今天 9 月 1 号,好日子。」
「我们——重新认识一下?」
我握住那只手。
窗外,九月的风穿堂而过,吹得病历纸哗哗地响。
像有人在很远很远的地方,翻过了一页日历。
8.
系统 A123:
报告老板,双人意识修复测试(样本:K-06,K-07)第 731 次循环,测试通过。
测试员 K-07:生日字段——空。已重建。
测试员 K-06:情感依恋参数——远超阈值。
另,检测到未授权人设残留一条——「看到林知夏,就会心动」。
是否清除?
老板回复: 留着。
(全文完)