凌晨一点,整栋实验楼都暗了,只有三楼最东侧那扇窗还亮着。
陆星河已经在这里待了超过二十个小时。
屏幕的光映在他脸上,勾勒出深邃的轮廓和眼下的淡青。他盯着那几行反复报错的代码,手指在键盘上快速敲击,删除,重写,运行,再次报错。
像走进了一个没有出口的迷宫。
距离“星海·时隙”的最终测试版提交截止,还有四十七个小时。核心循环逻辑的一个致命bug,从昨晚十一点开始就困扰着他。每一次他以为找到了问题所在,修复后,总会在另一个意想不到的地方崩坏。
这不是他第一次遇到技术瓶颈。创业以来,比这更棘手的难题他都解决过。但这次不一样——这是他要给林初夏看的,第一个完整的、属于“他们”的世界。
他不能失败。
手机在桌上震了一下,屏幕亮起,跳出林初夏的消息:「还在实验室吗?」
陆星河停下手,揉了揉发涩的眼睛,回:「嗯」
那边很快显示“对方正在输入”:「吃晚饭了吗?」
他看了眼桌角早已冷透的三明治包装纸,打字:「吃了」
「撒谎。沈学长说你本没出过实验室」
陆星河顿了顿。沈确这个大嘴巴。
他还没想好怎么回,那边又发来:「我现在过来」
陆星河皱眉:「不用,太晚了」
「我已经在路上了。十分钟」
陆星河盯着那行字,手指在键盘上悬停了几秒,最终只回了一个字:「好」
放下手机,他靠在椅背上,闭上眼睛。疲惫像水一样涌上来,从太阳蔓延到后颈。实验室里很安静,只有服务器风扇持续的低鸣,和窗外偶尔驶过的夜车声。
他想起了小时候,母亲还在的时候。每次他熬夜看书,母亲总会轻手轻脚地推门进来,放一杯温牛在他桌上,摸摸他的头,说“别太晚”。
母亲去世后,就再也没人这样做了。
父亲只会说“注意身体”,然后继续要求他做到最好。保姆和家教换了一个又一个,没人敢在凌晨一点进他的书房,没人敢打扰“陆少爷的学习时间”。
后来有了沈确,那家伙会直接拎着夜宵踹门进来,嚷嚷着“人是铁饭是钢”。但沈确不会摸他的头,不会用那种温柔又无奈的语气说“别太晚”。
林初夏会吗?
他不知道。
但他发现自己有点期待。
林初夏提着保温袋,推开实验室的门时,看见的就是这样一幅画面:
陆星河靠在椅背上睡着了。电脑屏幕还亮着,密密麻麻的代码在黑色背景上滚动。他的头微微偏向一侧,睫毛在眼下投出浅浅的阴影。白衬衫的袖子挽到手肘,露出一截线条分明的小臂。桌上散落着几本摊开的专业书,和一个空了的水杯。
她轻手轻脚地走进去,把保温袋放在桌上。实验室比她想象中大,靠墙摆着三台显示器,桌上堆着一些她叫不出名字的电子设备。窗台上那盆绿萝还在,叶子在屏幕光的映照下泛着幽幽的绿。
空气里有很淡的咖啡味,混着电子设备运行时特有的、微热的金属气息。
林初夏走到陆星河身边,低头看着他。
睡着的陆星河,看起来和平时不太一样。眉宇间那道习惯性蹙起的浅痕松开了,嘴唇微微抿着,呼吸均匀绵长。灯光在他脸上投下柔和的阴影,让他看起来……年轻了一些,也脆弱了一些。
她想起那些照片里,他站在雪地中孤独的背影。想起他抱着她说“如果你在就好了”时的声音。
心里某个地方,软得一塌糊涂。
她脱下自己的外套,轻轻披在他身上。动作很轻,但陆星河还是醒了。
他睫毛颤了颤,睁开眼睛。起初是茫然的,焦距涣散,然后慢慢凝聚,落在她脸上。
“……初夏?”他的声音带着刚醒的沙哑。
“吵醒你了?”林初夏小声说。
陆星河摇摇头,坐直身体,肩上披着的外套滑落一半。他看了眼,是件浅粉色的针织开衫,有很淡的洗衣液香味。
“你怎么来了?”他问,揉了揉眉心。
“给你送吃的。”林初夏打开保温袋,从里面拿出两个保鲜盒,“馄饨,我妈包的,冷冻了带过来的。还有红糖姜茶,驱寒。”
陆星河看着那两个保鲜盒,又看看她。实验室的白炽灯在她头顶落下光晕,让她看起来毛茸茸的,像某种温顺的小动物。
“你不该这么晚出来。”他说,但语气没有责怪的意思。
“那你也不该这么晚不吃饭。”林初夏把保鲜盒推到他面前,“趁热吃。”
陆星河没动。他只是看着她,眼神很深,像在确认什么。
“怎么了?”林初夏被他看得有些不自在。
“没什么。”陆星河移开视线,拿起勺子,“只是……很久没人给我送夜宵了。”
他说得很平淡,像在陈述一个事实。但林初夏听出了底下那层很淡的、几乎察觉不到的落寞。
她在他旁边的椅子上坐下,看着他吃。
馄饨是鲜肉馅的,皮薄馅大,汤里加了紫菜和虾皮,热气腾腾。陆星河吃得很慢,但吃得很净。红糖姜茶装在保温杯里,他喝了一口,停顿了一下,然后又喝了一口。
“好喝吗?”林初夏问。
“嗯。”陆星河点头,“不是很甜。”
“我知道你不喜欢太甜。”林初夏说,语气里有一点点小得意。
陆星河抬眼看了她一下,嘴角很轻地弯了弯:“你记得。”
“当然记得。”林初夏托着下巴,“你茶喝三分糖,豆浆不加糖,连吃水果都要挑不太甜的。”
陆星河没说话,只是继续低头吃馄饨。但林初夏看见,他耳微微泛红了。
这个人啊。她想。在外面那么冷静自持,其实这么好懂。
吃完馄饨,陆星河把保温盒收拾好,站起身活动了一下僵硬的脖子。林初夏也站起来,走到他电脑前。
屏幕上还是那些她看不懂的代码。黑色背景,绿色和白色的字符,密密麻麻,像某种神秘的文字。
“这就是那个游戏?”她问。
“嗯。”陆星河走过来,站在她身后,“测试版。”
“遇到问题了?”
“一个bug。”陆星河俯身,握住鼠标,滚动屏幕,“循环逻辑出了错,主角会在某个节点卡住,出不去。”
他的声音很近,就在她耳边。温热的气息拂过她的发梢,带着红糖姜茶淡淡的甜味。林初夏的耳朵有点热。
“我能看看吗?”她问。
陆星河顿了一下,然后侧身让开一点:“看吧。不过你可能看不懂。”
林初夏在椅子上坐下。陆星河站在她身后,一只手撑在桌沿,另一只手握着鼠标。这个姿势几乎把她圈在怀里,她能闻到他身上很淡的、混合着咖啡和薄荷的味道。
“这里是循环的入口。”陆星河点开一个文件,“主角每天醒来,都在同一天。他需要找到十二个线索,才能跳出循环。”
屏幕上跳出一个简洁的界面:像素风的房间,一张床,一张书桌,一扇窗。窗外是静止的星空。
“好漂亮。”林初夏轻声说。
陆星河没说话,只是作着小人在地图上走动。小人走到书桌前,点击记,出现一行文字:「今天是她离开的第1001天。我还是没能忘记她。」
“她?”林初夏问。
“游戏里的另一个角色。”陆星河说,“主角想救的人。”
小人继续探索。在床下找到一张泛黄的照片,照片上是女孩模糊的背影。在窗台上找到一枚戒指,内圈刻着「Forever」。在书架深处找到一本记,最后一页写着:「如果时间可以重来,我会对她说,我爱你。」
每一个线索,都指向那个“她”。
每一个线索,都藏着主角的遗憾和执念。
林初夏看着屏幕,看着那个小人在房间里一遍遍走动,寻找,触碰。像素风的画面很简单,但她仿佛能感受到主角的孤独——那种在无限循环里,寻找一个答案的孤独。
“为什么是十二个?”她问。
“对应十二个时辰。”陆星河的声音在她头顶响起,“每个时辰,主角会想起关于她的一件事。想起一件,就得到一个线索。”
“那集齐十二个呢?”
“他就能跳出循环,去见她。”
“然后呢?”
陆星河沉默了一会儿。
“然后游戏就结束了。”他说。
林初夏转过头看他。屏幕的光映在他脸上,明明灭灭。他的眼睛很专注地盯着代码,眉头微微皱着,像在思考什么难题。
“陆星河。”她叫他。
“嗯?”
“你困在这个bug里多久了?”
“……十八个小时。”
林初夏看了眼时间。凌晨一点四十七分。
“你去睡一会儿。”她说,“我帮你看着。”
陆星河笑了,很轻的一声:“你看不懂代码。”
“但我可以看着你睡。”林初夏站起来,转过身面对他,“你需要休息。眼睛都红了。”
陆星河看着她,看着她眼睛里认真的光,拒绝的话卡在喉咙里。
“就一个小时。”林初夏伸出食指,“一个小时后我叫你。说不定睡一觉,思路就通了。”
陆星河最终还是妥协了。实验室角落里有一张简易的折叠床,是平时通宵时用的。他从柜子里拿出毯子,铺好,躺下。
林初夏拉过椅子,坐在床边。
“闭上眼睛。”她说。
陆星河看着她,眼神在昏暗的光线里显得很柔软。然后,他闭上了眼睛。
实验室里很安静。只有服务器风扇的低鸣,和窗外偶尔传来的风声。林初夏坐在椅子上,看着陆星河睡着的脸。
他睡得很沉,呼吸均匀绵长。眉头还是微微皱着,像在梦里也在解决那个bug。睫毛很长,在眼下投出浅浅的阴影。
她想起苏蔓的话:“陆星河那种人,是深渊。你看他的眼睛,就知道了。”
她不知道深渊是什么样。但她知道,陆星河的眼睛,在睡着的时候,很温柔。
她看了他一会儿,然后轻手轻脚地起身,走到电脑前。屏幕已经暗了,她碰了下鼠标,屏幕重新亮起。
代码还在那里,密密麻麻,像一座等待被征服的山。
她看不懂。但她想为他做点什么。
她点开桌面上的文件夹,想找找有没有什么能帮上忙的。大部分文件夹都是英文名,她看不懂。但有一个文件夹,名字是中文的。
「For初夏」
林初夏的手指顿在触摸板上。
For初夏。
给初夏。
她的心跳漏了一拍。
她回头看了眼陆星河,他还在睡,呼吸平稳。她深吸一口气,点开了那个文件夹。
里面是十几个文本文件,命名很有规律:「灵感_20231015」「灵感_20231022」「灵感_20231029」……
她点开最近的一个,期是三天前。
里面记录着一些零散的句子:
「她今天穿了浅蓝色的毛衣。图书馆的灯光落在她头发上,像镀了层金边。」
「她说桂花香让她想起家乡。南方小城,老房子,院子里有棵桂花树。」
「剧本第三章卡住了。她说主角的动机不够强。我说,也许不是为了救赎,是为了证明存在。她眼睛亮了。」
「下雪了。她伸手接雪的样子,像小孩。想把她藏进口袋里。」
林初夏看着那些句子,呼吸一点点收紧。
她继续点开其他的文件。
「灵感_20231022」:
「她怕黑。晚上回宿舍,总要走有路灯的那条路。」
「喜欢吃糖,但怕胖。每次吃完都要懊恼地捏捏脸。」
「写剧本时习惯咬笔杆。笔帽上都是牙印。」
「灵感_20231029」:
「她说想去看极光。等游戏做完,带她去。」
「她的手很小,握在手里像握着什么易碎品。」
「今天说了“我们”。喜欢这个词。」
林初夏一篇篇看下去。从九月到现在,几十个文件,记录着她的喜好,她的习惯,她说过的话,她做过的事。
有些她甚至自己都不记得了。
比如她怕黑这件事。她从来没跟他说过,只是有一次晚上从图书馆出来,她下意识地选择了有路灯的那条路。他注意到了。
比如她喜欢吃糖又怕胖。她只在他面前吃过一次糖,是那次他生病,她喂他的薄荷糖。之后她就再没在他面前吃过。
他都记得。
不仅记得,还写下来。
用他擅长的方式,用代码之外的语言,一笔一划地记录下来。
林初夏的眼睛有点湿。她关掉文件夹,坐回椅子上,看着床上熟睡的陆星河。
月光从窗户漏进来,落在他脸上,镀了层柔和的银边。
她看了很久,然后俯身,很轻很轻地,在他额头上落下一个吻。
像羽毛拂过。
陆星河在睡梦中动了动,但没醒。
林初夏坐直身体,心脏跳得很快。脸很烫,像要烧起来。
她拿出手机,点开和陆星河的聊天窗口。往上翻,翻到很久以前的记录。
那时他们还只是“协议关系”,聊天内容生硬又官方。
「明天晚上七点,图书馆三楼」
「好」
「下雨了,带伞」
「谢谢」
「论坛的事,我会处理」
「嗯」
她一条条看下去,看着那些对话从生疏到熟悉,从官方到亲密。
看着“陆学长”变成“陆星河”,看着“林同学”变成“初夏”。
看着他们从两个陌生人,变成现在的样子。
她关掉手机,趴在床边,看着陆星河睡着的脸。
月光在他睫毛上跳跃,像细碎的星光。
她想,如果时间可以循环,她希望永远停在这一刻。
停在这个凌晨的实验室里,停在他熟睡的侧脸旁,停在她刚刚偷亲了他的这个瞬间。
一个小时后,林初夏准时叫醒了陆星河。
他醒来时还有点迷茫,眼神涣散了几秒才聚焦。看见她,愣了愣,然后才想起自己在哪。
“几点了?”他声音沙哑。
“两点五十。”林初夏把保温杯递给他,“喝点水。”
陆星河接过,喝了几口。温热的姜茶滑过喉咙,驱散了睡意。
“有思路了吗?”林初夏问。
陆星河坐在床边,揉了揉脸,然后起身走到电脑前。他没有立刻开始敲代码,而是看着屏幕,看了很久。
林初夏站在他身后,不敢打扰。
忽然,陆星河眼睛亮了一下。
“我明白了。”他说,声音里带着压抑的兴奋。
“明白什么?”
“循环的逻辑错了。”陆星河飞快地敲击键盘,调出一个复杂的流程图,“我一直以为,主角需要集齐十二个线索才能跳出循环。但不对。”
他指着屏幕:“不是集齐,是理解。”
“理解?”
“对。”陆星河转过椅子,看着她,眼睛里闪着光,“主角被困在循环里,不是因为找不到线索,而是因为他无法接受‘她已经不在了’这个事实。所以系统——或者说,他的潜意识——不断地重置时间,让他一遍遍寻找,以为找到足够的线索,就能救她。”
林初夏怔住了。
“但真相是,”陆星河继续说,语速很快,“她早就死了。在循环开始的第一天,就死了。主角要做的不是救她,而是接受她的死亡,然后……带着那些关于她的记忆,继续活下去。”
实验室里安静了几秒。
只有服务器风扇的低鸣,和陆星河略显急促的呼吸声。
“所以……”林初夏慢慢地说,“游戏真正的结局,不是主角跳出循环去见她,而是……在循环里,和她好好告别?”
陆星河看着她,看了很久,然后笑了。
“对。”他说,“你懂。”
林初夏也笑了。她不懂代码,不懂编程,但她懂故事,懂人物,懂那些藏在逻辑背后的情感。
“那你要改结局吗?”她问。
“不。”陆星河转回电脑前,手指在键盘上飞舞,“我要加一个隐藏结局。”
“隐藏结局?”
“嗯。”陆星河一边敲代码一边说,“正常通关,主角会接受现实,跳出循环,继续生活。但如果在某个特定时间点,做出某个特定选择……”
他顿了顿,嘴角弯起一个很淡的弧度。
“主角会发现,那个女孩其实也在一个循环里。一个和他同步的、反向的循环。她被困在生命的最后一天,而他被困在她死后的第一天。他们永远在同一天里相遇,却永远无法真正触及彼此。”
林初夏屏住了呼吸。
“那……”她声音很轻,“如果他们发现了呢?”
陆星河敲下最后一行代码,按下回车。
屏幕暗下去,然后又亮起。像素风的房间消失了,取而代之的是一片浩瀚的星空。星空下,两个像素小人面对面站着,中间隔着一条流动的银河。
「隐藏结局已解锁」
「成就:于星河深处相遇」
“如果他们发现了,”陆星河看着屏幕,声音很轻,“他们就会明白,有些相遇,不是为了相守,而是为了……记住。”
林初夏看着屏幕,看着那两个隔着银河的小人,眼睛有点湿。
她想说什么,但喉咙发紧,发不出声音。
陆星河转过椅子,看着她。
“这个隐藏结局,”他说,“是给你的。”
林初夏愣住:“给我?”
“嗯。”陆星河点头,“只有你能触发。”
“为什么?”
“因为触发条件,”陆星河顿了顿,“是你剧本第三章里的一句话。”
林初夏睁大眼睛:“哪句?”
陆星河没回答,只是看着她,眼神温柔得像要溢出水来。
“等你自己玩到的时候,”他说,“就知道了。”
林初夏看着他,看了很久,然后慢慢走过去,在他面前蹲下,握住他的手。
他的手很凉,指尖因为长时间敲键盘而微微发红。
“陆星河。”她叫他。
“嗯?”
“谢谢你。”她说,声音有点哽咽,“谢谢你让我看到……这么好的世界。”
陆星河反握住她的手,很紧。
“该说谢谢的是我。”他说,“如果不是你,这个bug我可能永远解不开。”
“为什么?”
“因为……”陆星河看着她,眼神很深,“你让我看到了另一种可能性。”
林初夏不懂代码,不懂那些复杂的逻辑。但她懂他眼里的光,懂他声音里的温度。
这就够了。
窗外,天边泛起了鱼肚白。凌晨的黑暗正在退去,新的一天即将开始。
陆星河看了眼时间:“快三点了。我送你回宿舍。”
“你还要继续吗?”林初夏问。
“bug解决了,剩下的就是调试和优化。”陆星河关掉电脑,站起身,“不着急。先送你回去。”
他们收拾好东西,关掉实验室的灯,轻轻带上门。
走廊很安静,只有安全出口标志散发着幽幽的绿光。陆星河牵着林初夏的手,慢慢往楼下走。
“陆星河。”林初夏忽然说。
“嗯?”
“你文件夹里那些……‘灵感’。”她小声问,“为什么叫‘For初夏’?”
陆星河脚步顿了一下。
“因为,”他说,声音在空荡的楼梯间里回响,“那些都是关于你的。而关于你的一切,对我来说,都是灵感。”
林初夏的心脏,在那个瞬间,停跳了一拍。
然后,开始疯狂地跳动。
他们走到一楼,推开玻璃门。凌晨的风吹过来,带着凉意。陆星河很自然地把她的手放进自己大衣口袋里。
“冷吗?”他问。
“不冷。”林初夏摇头。
他们走在寂静的校园里。路灯还亮着,但天边已经露出淡淡的蓝。梧桐树的叶子在晨风中沙沙作响,像在窃窃私语。
快到宿舍楼时,陆星河的手机忽然响了。
他拿出来看,屏幕上显示着一个名字:「父亲」。
林初夏感觉到他握着她的手,微微收紧。
“接吗?”她轻声问。
陆星河盯着那个名字看了几秒,然后按掉了电话。
“不接。”他说,声音很平。
但林初夏看见,他的下颌线绷紧了。
手机又响了。还是「父亲」。
陆星河再次按掉。
第三次响起时,林初夏轻轻拉了他一下:“接吧。万一有急事呢?”
陆星河看了她一眼,眼神复杂。然后,他深吸一口气,接起了电话。
“喂。”
电话那头传来陆正庭的声音,因为距离近,林初夏也能隐约听见一些片段:
“……立刻回家……有重要的事……周家那边……”
陆星河的脸色一点点沉下去。
“我知道了。”他打断父亲的话,“明天回去。”
那边又说了什么,语气很重。
陆星河沉默了几秒,然后说:“我会处理。”
挂了电话。
空气忽然变得很沉。晨风吹过,带不起一丝轻松。
“怎么了?”林初夏问,心里有不祥的预感。
陆星河把手机放回口袋,握紧她的手。
“没什么。”他说,但声音里的紧绷骗不了人,“家里有点事,明天得回去一趟。”
“严重吗?”
陆星河看着她,看了很久,然后很轻地摇了摇头。
“不严重。”他说,“我会处理。”
可是林初夏看见,他眼睛里刚刚因为解开bug而燃起的光,正在一点点黯淡下去。
像黎明前的星星,在天亮时,隐去了光芒。
送林初夏到宿舍楼下时,天已经蒙蒙亮了。
“上去吧。”陆星河松开她的手,“再睡一会儿。”
“你呢?”林初夏问。
“我回实验室,把最后一点工作做完。”陆星河说,“然后……”
他没说完。
但林初夏知道,“然后”后面是什么。
然后,他要回家。面对父亲,面对周家,面对那些他一直在逃避的东西。
“陆星河。”她叫他。
“嗯?”
“不管发生什么,”林初夏看着他,很认真地说,“我都在这里。”
陆星河看着她,看着她眼睛里坚定的光,看了很久。
然后,他低下头,在她额头上印下一个吻。
很轻,但很珍重。
“我知道。”他说。
林初夏转身上楼。走到二楼窗边时,她往下看。
陆星河还站在原地,仰头看着她宿舍的方向。晨光熹微,在他身上镀了层淡淡的金边。他的身影在空旷的广场上,显得格外孤单。
他站了很久,然后才转身,朝实验楼的方向走去。
背影挺直,但不知为什么,林初夏觉得,那挺直的背影里,藏着很重很重的东西。
重到快要把他压垮。
她拿出手机,给他发了一条消息:
「到了告诉我」
很快,他回:
「好」
「睡吧,别担心」
林初夏盯着那两行字,看了很久。
然后,她关掉手机,走到窗边,看着陆星河消失在晨雾中的背影。
天亮了。
但她的心里,却蒙上了一层阴影。
实验楼,三楼。
陆星河推开实验室的门,没有开灯,径直走到电脑前坐下。
屏幕亮起,隐藏结局的画面还停留在那里:两个像素小人,隔着一条流动的银河,遥遥相望。
他盯着那个画面,看了很久。
然后,他点开那个名为「For初夏」的文件夹,新建了一个文本文件。
命名:「灵感_20231105_凌晨」
在里面打字:
「凌晨三点。她在我实验室睡着了。呼吸很轻,像小猫。」
「偷亲了我。以为我不知道。其实我知道。」
「她说,不管发生什么,她都在这里。」
「我想相信。」
「但我怕。」
他打到这里,停住。
手指在键盘上悬空,很久,没有落下。
窗外,天光渐亮。
新的一天,开始了。
带着所有已知和未知的风暴。
而他,必须独自面对。