第4章
是江迟。
“后门程序启动了!”江迟的声音在崩塌的巨响中传来,“抓紧!我们……出去!”
眼前最后的光景,是无数破碎的、闪着微光的代码碎片,如同星辰爆炸,然后,是无尽的黑暗与失重感。
……
“林故?林故!醒醒!你怎么趴地上睡着了?”
耳边传来同事熟悉的声音。林故猛地睁开眼,刺目的日光灯让他眯起眼。
他发现自己趴在办公室的地上,旁边是翻倒的椅子,电脑屏幕还亮着,上面是那段该死的报错代码。
他撑着坐起来,脑袋一阵眩晕,但很快清晰。他看了看电脑右下角的时间——距离他记忆中点击那个弹窗,只过去了十分钟。
“我……睡着了?”他声音沙哑。
“可不嘛,还说着梦话呢,什么‘bug成精’‘代码屎山’,骂得可起劲了,把路过的小王都吓一跳。”同事笑着把他拉起来,“加班加傻了吧?赶紧收拾收拾,天都快亮了,回去睡会儿。”
林故恍惚地站起来,摸了摸手腕。那里空空如也,没有什么设备。
他又看了看电脑屏幕,那个弹窗广告消失得无影无踪,仿佛从未出现过。
是梦吗?那么真实……
他浑浑噩噩地收拾东西下班,回到租住的小公寓,倒在床上就睡。
睡得很沉,但梦里没有荒诞岛,只有一片空白。
第二天上班,他依旧对着代码苦战,但总觉得哪里不一样了。
看产品经理的需求文档时,他会下意识想:这逻辑闭环了吗?考虑异常情况了吗?然后摇摇头,继续干活。
下午摸鱼时,他鬼使神差地登录了那个废弃多年的大学论坛旧账号LinG_Old。
收件箱里积满了陈年垃圾邮件,但在最底下,有一封新邮件,时间显示是昨天半夜。
发件人:JiangC。
主题:无。
内容只有一个链接,和一个简短的备注:“那个代码比hello world还烂的,聊聊?”
林故的心跳漏了一拍。他点开链接,是一个很简洁的聊天室界面。
刚进去,就看到一个默认头像亮着,ID正是JiangC。
他犹豫了一下,打字:“江迟?”
对方很快回复:“是我。”
“荒诞岛……”
“不是梦。”江迟的回答证实了他的猜想,“数据溢出被控制在一定范围,游戏重启了,规则……调整中。我们确实出来了。”
林故有很多问题想问,但一时不知从何问起。
倒是江迟先发了消息:“见面聊吧。你还在S市吧?我知道有家咖啡馆,代码写得烂的人喜欢去。”
林故看着这句话,几乎能想象出江迟说这话时那张没什么表情但眼里藏着戏谑的脸。他忍不住笑了,回复:“行啊,时间地点发我。我倒要看看,是谁的代码更烂。”
周末,咖啡馆。
林故到的时候,江迟已经在了,坐在靠窗的位置,穿着简单的白T恤和牛仔裤,低头看着手机。
阳光透过玻璃照在他身上,柔和了他身上那种冷冽感。
林故走过去,坐下。江迟抬头,两人对视了几秒。
和游戏里有点不一样,现实的江迟,五官更加清晰深刻,少了那些数据微光,但眼神依旧深邃。他看着林故,嘴角微微弯了一下:“来了。”
“嗯。”林故有点不自在,清了清嗓子,“所以,真是你搞的?”
“项目是我主导推进的,但灵感来源,包括那个致命的‘吐槽扰动’后门,确实来自你。”江迟搅动着咖啡,“荒诞岛最初是个学术研究项目,后来被一家公司看中投资,做成了大型社会实验模拟器。只是……有些地方失控了。”
“那现在呢?”
“游戏暂时关闭维护。投资方在评估损失。至于我们,”江迟看着他,“我提交了一份详细的报告,关于系统漏洞和玩家体验的负面反馈。其中大量引用了你的‘吐槽’和‘代码审查意见’。”
林故挑眉:“所以他们知道是我骂垮了他们的游戏?”
“知道。但他们更知道,如果不是你发现了核心漏洞,那个系统迟早会因为其他问题崩溃,造成更严重的后果。”江迟顿了顿,“他们甚至……有点感谢你。当然,赔偿和法律责任另算。”
“那你呢?你以后干嘛?”
江迟沉默了一下,说:“我辞职了。那个项目……让我明白了一些事。我打算自己做一些东西。更干净的,更有意思的。”
“比如?”
“比如,”江迟看着他,眼神认真,“一个没有强制周报,没有尴尬匹配,没有虚假分享的游戏。或者,不一定是游戏,可能是一个工具,一个社区。让真实的声音能被听见,让吐槽也有价值,让连接基于自愿。”
林故心动了。这听起来,比他现在天天修屎山代码有意思多了。
“需要帮手吗?”他听见自己问,“比如,一个擅长发现bug和吐槽的产品经理……哦不,是技术合伙人?”
江迟笑了。这次是明显的、嘴角上扬的笑容,眼睛微微弯起,像冰雪初融。
“求之不得。不过,先说好,不准在代码评审会上骂人。”
“那不行,该骂还得骂,不然怎么进步?”林故也笑了。
两人就这么聊了起来,从荒诞岛的细节,到技术构想,到大学时的争执,到这些年彼此的经历。
仿佛中间空白的那些年,被这个荒诞的游戏意外地填补了。
离开咖啡馆时,天色已晚。两人并肩走在街上,路灯将影子拉长。
“江迟。”林故忽然叫住他。
“嗯?”
“你当初在游戏里,为什么老是观察我?真的只是为了实验数据?”
江迟停下脚步,转头看他。
路灯的光在他眼里跳跃。他沉默了很久,久到林故以为他又要回避。
“不是。”江迟最终开口,声音很轻,但很清晰,“大学那时候,我就觉得,你身上有股劲儿,很特别。不服输,不妥协,眼睛里有光。后来项目黄了,我们吵翻了,我以为那光没了。直到在荒诞岛看到你……你还在杠,还在吐槽,眼里那光,比以前更亮了。”
他顿了顿,看向林故的眼睛:“我观察你,是因为我想靠近那道光。数据只是借口。”
林故愣住了,心跳莫名加速。
他张了张嘴,想说点什么,却发现自己词穷了。最后,他憋出一句:“……那你观察得还挺仔细。”
江迟又笑了,这次带了点无奈:“走吧,送你回去。”
之后几个月,两人开始合作。
江迟有想法有架构能力,林故有技术实现能力和……独特的“用户体验视角”(江迟原话是“挑刺能力”)。
他们租了个小工作室,没日没夜地搞开发。
争吵是免不了的,经常为了一个交互细节或者技术方案争得面红耳赤,但吵完总能找到更好的解决办法。
工作室的白板上,除了技术架构图,还多了很多林故的“毒舌评论”便签:“这个按钮长得像没睡醒”、“这个流程用户走完估计想砸手机”、“配色丑得我眼睛疼”。
江迟每次看到,都会面无表情地撕下来,然后……默默修改。
关系也在这种并肩作战和日常互怼中悄然变化。
林故发现江迟其实很细心,会记得他加班喜欢喝哪种咖啡,会在他对着难题薅头发时默默点好外卖。
江迟发现林故只是嘴毒,心很软,会偷偷给楼下流浪猫喂食,会为了一个边缘用户的需求反复优化方案。
谁都没挑明,但有些东西,不言而喻。
他们的第一个小产品上线了,是一个极简的、匿名的“树洞”应用,没有点赞,没有关注,只有真实的倾诉和偶尔来自陌生人的、温暖的回应。
反响意外地不错。
那天,为了庆祝,两人在工作室点了烧烤,开了啤酒。
喝得有点微醺时,林故看着电脑屏幕上跳动的用户留言,忽然说:“江迟,你说,要是荒诞岛有2.0,会是什么样?”
江迟靠在椅背上,想了想:“大概……没有神了。规则由用户自己定。吐槽值不再是扰动系统的bug,而是……一种创造新可能的能量。”
“听起来不错。”林故笑了,举起啤酒罐,“来,敬没有神的荒诞岛2.0。”
“敬2.0。”江迟和他碰了一下。
夜深了,林故有点晕,趴在桌子上。
江迟收拾完垃圾,走过来,轻轻拍了拍他肩膀:“别在这儿睡,回去睡。”
林故迷迷糊糊抬头,看着江迟近在咫尺的脸,灯光在他睫毛下投出小片阴影。
鬼使神差地,林故嘟囔了一句:“江迟,你长得……还真有点像bug。”
江迟挑眉:“嗯?”
“像那种……完美到不像真的,让人很想找出点毛病,但又找不到的bug。”林故说完,自己都觉得这话有点蠢,把头埋进胳膊里。
他感觉到江迟的手轻轻放在他头发上,揉了揉,动作很轻。
然后,他听到江迟很低的声音,带着笑意:“那你就慢慢找。找到算你赢。”
林故耳朵有点热,没抬头。
过了一会儿,江迟说:“走吧,送你。”
两人走到门口,江迟忽然说:“林故。”
“嗯?”
“下次更新,我想加个功能。”
“什么?”
“双人模式。”江迟说得很自然,但耳朵尖在走廊声控灯下,似乎有点红,“不是系统匹配的那种。是……自己选的那种。”
林故心跳又漏了一拍。他转过头,看着江迟。
江迟也看着他,眼神里有期待,有紧张,还有那种熟悉的、深邃的光。
“行啊。”林故听见自己说,声音有点哑,“不过我得先审核一下你的代码,别又埋什么坑。”
江迟笑了,伸手揉了揉他头发:“好。”
门关上,走廊的声控灯灭了又亮。两人的脚步声渐渐远去。
几个月后,他们的“树洞”应用推出了一个实验性的新模块,叫“共鸣舱”。
用户可以邀请一位信任的人进入私密空间,进行更深入的、无压力的交流。
没有强制任务,没有数据监控,只有真实的对话。
上线前最后测试,林故和江迟作为首批测试用户进入。
场景是一个很舒服的虚拟小客厅,有沙发,有书架,窗外是静谧的星空。
他们随便聊着天,关于工作,关于生活,关于一些不着边际的想法。
忽然,系统界面角落弹出一个非常熟悉、但缩小了无数倍的彩蛋窗口,上面闪烁着一行小字:“检测到当前环境吐槽浓度超标!建议适度调节!”
林故一看就乐了:“这彩蛋你加的?”
江迟点头:“纪念一下。”
林故习惯性地对着那窗口开杠:“超标怎么了?吐槽是自由!是权利!是……唔!”
他的话没说完。
因为江迟忽然靠了过来,轻轻地,吻住了他。
林故整个人僵住了,眼睛瞪大,大脑一片空白。
虚拟世界的感觉很真实,他能感觉到江迟嘴唇的柔软,和微微的凉意。
几秒钟后,江迟退开一点,额头抵着他的额头,呼吸轻轻拂过他脸颊。他看着林故震惊的眼神,低声笑了,声音温柔得不像话:
“别骂了。”
“这次,我站在你这边。”
“后门程序启动了!”江迟的声音在崩塌的巨响中传来,“抓紧!我们……出去!”
眼前最后的光景,是无数破碎的、闪着微光的代码碎片,如同星辰爆炸,然后,是无尽的黑暗与失重感。
……
“林故?林故!醒醒!你怎么趴地上睡着了?”
耳边传来同事熟悉的声音。林故猛地睁开眼,刺目的日光灯让他眯起眼。
他发现自己趴在办公室的地上,旁边是翻倒的椅子,电脑屏幕还亮着,上面是那段该死的报错代码。
他撑着坐起来,脑袋一阵眩晕,但很快清晰。他看了看电脑右下角的时间——距离他记忆中点击那个弹窗,只过去了十分钟。
“我……睡着了?”他声音沙哑。
“可不嘛,还说着梦话呢,什么‘bug成精’‘代码屎山’,骂得可起劲了,把路过的小王都吓一跳。”同事笑着把他拉起来,“加班加傻了吧?赶紧收拾收拾,天都快亮了,回去睡会儿。”
林故恍惚地站起来,摸了摸手腕。那里空空如也,没有什么设备。
他又看了看电脑屏幕,那个弹窗广告消失得无影无踪,仿佛从未出现过。
是梦吗?那么真实……
他浑浑噩噩地收拾东西下班,回到租住的小公寓,倒在床上就睡。
睡得很沉,但梦里没有荒诞岛,只有一片空白。
第二天上班,他依旧对着代码苦战,但总觉得哪里不一样了。
看产品经理的需求文档时,他会下意识想:这逻辑闭环了吗?考虑异常情况了吗?然后摇摇头,继续干活。
下午摸鱼时,他鬼使神差地登录了那个废弃多年的大学论坛旧账号LinG_Old。
收件箱里积满了陈年垃圾邮件,但在最底下,有一封新邮件,时间显示是昨天半夜。
发件人:JiangC。
主题:无。
内容只有一个链接,和一个简短的备注:“那个代码比hello world还烂的,聊聊?”
林故的心跳漏了一拍。他点开链接,是一个很简洁的聊天室界面。
刚进去,就看到一个默认头像亮着,ID正是JiangC。
他犹豫了一下,打字:“江迟?”
对方很快回复:“是我。”
“荒诞岛……”
“不是梦。”江迟的回答证实了他的猜想,“数据溢出被控制在一定范围,游戏重启了,规则……调整中。我们确实出来了。”
林故有很多问题想问,但一时不知从何问起。
倒是江迟先发了消息:“见面聊吧。你还在S市吧?我知道有家咖啡馆,代码写得烂的人喜欢去。”
林故看着这句话,几乎能想象出江迟说这话时那张没什么表情但眼里藏着戏谑的脸。他忍不住笑了,回复:“行啊,时间地点发我。我倒要看看,是谁的代码更烂。”
周末,咖啡馆。
林故到的时候,江迟已经在了,坐在靠窗的位置,穿着简单的白T恤和牛仔裤,低头看着手机。
阳光透过玻璃照在他身上,柔和了他身上那种冷冽感。
林故走过去,坐下。江迟抬头,两人对视了几秒。
和游戏里有点不一样,现实的江迟,五官更加清晰深刻,少了那些数据微光,但眼神依旧深邃。他看着林故,嘴角微微弯了一下:“来了。”
“嗯。”林故有点不自在,清了清嗓子,“所以,真是你搞的?”
“项目是我主导推进的,但灵感来源,包括那个致命的‘吐槽扰动’后门,确实来自你。”江迟搅动着咖啡,“荒诞岛最初是个学术研究项目,后来被一家公司看中投资,做成了大型社会实验模拟器。只是……有些地方失控了。”
“那现在呢?”
“游戏暂时关闭维护。投资方在评估损失。至于我们,”江迟看着他,“我提交了一份详细的报告,关于系统漏洞和玩家体验的负面反馈。其中大量引用了你的‘吐槽’和‘代码审查意见’。”
林故挑眉:“所以他们知道是我骂垮了他们的游戏?”
“知道。但他们更知道,如果不是你发现了核心漏洞,那个系统迟早会因为其他问题崩溃,造成更严重的后果。”江迟顿了顿,“他们甚至……有点感谢你。当然,赔偿和法律责任另算。”
“那你呢?你以后干嘛?”
江迟沉默了一下,说:“我辞职了。那个项目……让我明白了一些事。我打算自己做一些东西。更干净的,更有意思的。”
“比如?”
“比如,”江迟看着他,眼神认真,“一个没有强制周报,没有尴尬匹配,没有虚假分享的游戏。或者,不一定是游戏,可能是一个工具,一个社区。让真实的声音能被听见,让吐槽也有价值,让连接基于自愿。”
林故心动了。这听起来,比他现在天天修屎山代码有意思多了。
“需要帮手吗?”他听见自己问,“比如,一个擅长发现bug和吐槽的产品经理……哦不,是技术合伙人?”
江迟笑了。这次是明显的、嘴角上扬的笑容,眼睛微微弯起,像冰雪初融。
“求之不得。不过,先说好,不准在代码评审会上骂人。”
“那不行,该骂还得骂,不然怎么进步?”林故也笑了。
两人就这么聊了起来,从荒诞岛的细节,到技术构想,到大学时的争执,到这些年彼此的经历。
仿佛中间空白的那些年,被这个荒诞的游戏意外地填补了。
离开咖啡馆时,天色已晚。两人并肩走在街上,路灯将影子拉长。
“江迟。”林故忽然叫住他。
“嗯?”
“你当初在游戏里,为什么老是观察我?真的只是为了实验数据?”
江迟停下脚步,转头看他。
路灯的光在他眼里跳跃。他沉默了很久,久到林故以为他又要回避。
“不是。”江迟最终开口,声音很轻,但很清晰,“大学那时候,我就觉得,你身上有股劲儿,很特别。不服输,不妥协,眼睛里有光。后来项目黄了,我们吵翻了,我以为那光没了。直到在荒诞岛看到你……你还在杠,还在吐槽,眼里那光,比以前更亮了。”
他顿了顿,看向林故的眼睛:“我观察你,是因为我想靠近那道光。数据只是借口。”
林故愣住了,心跳莫名加速。
他张了张嘴,想说点什么,却发现自己词穷了。最后,他憋出一句:“……那你观察得还挺仔细。”
江迟又笑了,这次带了点无奈:“走吧,送你回去。”
之后几个月,两人开始合作。
江迟有想法有架构能力,林故有技术实现能力和……独特的“用户体验视角”(江迟原话是“挑刺能力”)。
他们租了个小工作室,没日没夜地搞开发。
争吵是免不了的,经常为了一个交互细节或者技术方案争得面红耳赤,但吵完总能找到更好的解决办法。
工作室的白板上,除了技术架构图,还多了很多林故的“毒舌评论”便签:“这个按钮长得像没睡醒”、“这个流程用户走完估计想砸手机”、“配色丑得我眼睛疼”。
江迟每次看到,都会面无表情地撕下来,然后……默默修改。
关系也在这种并肩作战和日常互怼中悄然变化。
林故发现江迟其实很细心,会记得他加班喜欢喝哪种咖啡,会在他对着难题薅头发时默默点好外卖。
江迟发现林故只是嘴毒,心很软,会偷偷给楼下流浪猫喂食,会为了一个边缘用户的需求反复优化方案。
谁都没挑明,但有些东西,不言而喻。
他们的第一个小产品上线了,是一个极简的、匿名的“树洞”应用,没有点赞,没有关注,只有真实的倾诉和偶尔来自陌生人的、温暖的回应。
反响意外地不错。
那天,为了庆祝,两人在工作室点了烧烤,开了啤酒。
喝得有点微醺时,林故看着电脑屏幕上跳动的用户留言,忽然说:“江迟,你说,要是荒诞岛有2.0,会是什么样?”
江迟靠在椅背上,想了想:“大概……没有神了。规则由用户自己定。吐槽值不再是扰动系统的bug,而是……一种创造新可能的能量。”
“听起来不错。”林故笑了,举起啤酒罐,“来,敬没有神的荒诞岛2.0。”
“敬2.0。”江迟和他碰了一下。
夜深了,林故有点晕,趴在桌子上。
江迟收拾完垃圾,走过来,轻轻拍了拍他肩膀:“别在这儿睡,回去睡。”
林故迷迷糊糊抬头,看着江迟近在咫尺的脸,灯光在他睫毛下投出小片阴影。
鬼使神差地,林故嘟囔了一句:“江迟,你长得……还真有点像bug。”
江迟挑眉:“嗯?”
“像那种……完美到不像真的,让人很想找出点毛病,但又找不到的bug。”林故说完,自己都觉得这话有点蠢,把头埋进胳膊里。
他感觉到江迟的手轻轻放在他头发上,揉了揉,动作很轻。
然后,他听到江迟很低的声音,带着笑意:“那你就慢慢找。找到算你赢。”
林故耳朵有点热,没抬头。
过了一会儿,江迟说:“走吧,送你。”
两人走到门口,江迟忽然说:“林故。”
“嗯?”
“下次更新,我想加个功能。”
“什么?”
“双人模式。”江迟说得很自然,但耳朵尖在走廊声控灯下,似乎有点红,“不是系统匹配的那种。是……自己选的那种。”
林故心跳又漏了一拍。他转过头,看着江迟。
江迟也看着他,眼神里有期待,有紧张,还有那种熟悉的、深邃的光。
“行啊。”林故听见自己说,声音有点哑,“不过我得先审核一下你的代码,别又埋什么坑。”
江迟笑了,伸手揉了揉他头发:“好。”
门关上,走廊的声控灯灭了又亮。两人的脚步声渐渐远去。
几个月后,他们的“树洞”应用推出了一个实验性的新模块,叫“共鸣舱”。
用户可以邀请一位信任的人进入私密空间,进行更深入的、无压力的交流。
没有强制任务,没有数据监控,只有真实的对话。
上线前最后测试,林故和江迟作为首批测试用户进入。
场景是一个很舒服的虚拟小客厅,有沙发,有书架,窗外是静谧的星空。
他们随便聊着天,关于工作,关于生活,关于一些不着边际的想法。
忽然,系统界面角落弹出一个非常熟悉、但缩小了无数倍的彩蛋窗口,上面闪烁着一行小字:“检测到当前环境吐槽浓度超标!建议适度调节!”
林故一看就乐了:“这彩蛋你加的?”
江迟点头:“纪念一下。”
林故习惯性地对着那窗口开杠:“超标怎么了?吐槽是自由!是权利!是……唔!”
他的话没说完。
因为江迟忽然靠了过来,轻轻地,吻住了他。
林故整个人僵住了,眼睛瞪大,大脑一片空白。
虚拟世界的感觉很真实,他能感觉到江迟嘴唇的柔软,和微微的凉意。
几秒钟后,江迟退开一点,额头抵着他的额头,呼吸轻轻拂过他脸颊。他看着林故震惊的眼神,低声笑了,声音温柔得不像话:
“别骂了。”
“这次,我站在你这边。”