程序员收到那封请柬时,正在调试新副本的BUG。
请柬是手写的,纸是洒金的朱红色,字迹一刚一柔,显然是两个人一起写的:
“诚邀您参加苏零与姜临的婚礼”
“时间:丙午年五月二十”
“地点:说谎小镇(特别定制版)”
下面还有一行小字:“记得带份子钱,以及——这次NPC不说谎。”
程序员盯着那行字看了很久,然后把请柬小心地夹进他那本《代码大全》里。
书页里已经夹了好几张类似的请柬——有量子火锅城店庆的,颠倒博物馆特展的,无限电梯安全认证发布会(这个他拒绝了,幽闭恐惧症没好全),但婚礼请柬,这是第一张。
他打开系统后台,输入一串指令。屏幕闪烁,显示出“说谎小镇”副本的后台界面。
苏零和姜临拥有这个副本的永久权限——这是系统送给他们的新婚礼物之一。
程序员开始修改参数。他删除了所有死亡规则,移除了所有攻击性NPC,调整了天气系统为“永恒的春日黄昏”,最后,在副本核心代码里加了一行:
[本场婚礼,所有人必须说真话]
保存,退出。
他起身,从衣柜深处翻出一套压箱底的西装——还是两年前参加行业峰会时买的,一次没穿过。
对着镜子比了比,还行,就是肩膀有点紧。
婚礼前一天,他提前进入了副本。
说谎小镇变了。
曾经阴郁的天空现在是一片温柔的橙粉色,夕阳挂在天边,给青石板路镀上一层金边。
街道两旁开满了不知名的白色小花,空气里有甜丝丝的香气。
所有NPC都穿着喜庆的衣服,脸上带着真诚的笑容——不是以前那种诡异的、说反话的笑,是真正的、温暖的笑。
卖苹果的大婶在摊位上摆满了红彤彤的苹果,看到程序员,热情地招呼:“新鲜苹果!甜得很!来一个?”
程序员愣了下——这是真话。他点点头,拿了一个,咬一口,确实甜。
“婚礼在钟楼那边。”大婶指向小镇中心,“镇长在主持,快去吧!”
程序员道了谢,往钟楼走。
路上遇到了更多NPC:铁匠铺的老头在擦他的工具,酒馆老板在搬酒,就连之前追杀过苏零和姜临的那群大妈,现在也在街边摆了个茶水摊,免费供应婚礼宾客。
“变化真大。”程序员自言自语。
“因为爱能改变一切。”一个温和的声音响起。
程序员转身,看到镇长——那个曾经冷冰冰的老头,现在穿着一身喜庆的红袍,胡子梳得整整齐齐,笑容可掬。
“镇长?”程序员惊讶,“你……你能说真话了?”
“今天所有人都说真话。”镇长微笑,“这是新娘新郎的要求。他们说,婚礼上不需要谎言,只需要真心。”
他上下打量程序员:“你就是那个……程序员?”
“你怎么知道?”
“新郎新娘提起过你。说虽然你设计了很多变态副本,但也帮过他们。”镇长拍拍他的肩,“走吧,我带你去座位。你是贵宾,坐第一排。”
钟楼前的广场被布置成了婚礼场地。白色的椅子排列整齐,每条过道都铺着花瓣。
最前方是个简单的木质拱门,缠满了鲜花和藤蔓。
旁边有支小乐队在调音——是副本里那几个会乐器的NPC,之前只会演奏跑调的曲子,现在听起来居然很悦耳。
程序员的座位在第一排左边,椅子上贴着“特别感谢”的标签。他坐下,有点局促。
宾客陆续进场。大部分是NPC,但也有几个熟悉的面孔——是在系统里认识的其他玩家,苏零和姜临居然也请了他们。
程序员认出其中几个:量子火锅城的老板(现在真的开了家火锅店),颠倒博物馆的座钟(变成了一个彬彬有礼的钟表匠),无限电梯的维修工(电梯改造成观光梯了)。
每个人都对他点头致意,眼神友好。
程序员有些不自在,但心里某个紧绷的地方,悄悄松了一点。
婚礼音乐响起时,夕阳正好落到钟楼尖顶的位置。
姜临先从钟楼里走出来。他穿了身深蓝色的中式礼服,不是传统的长袍马褂,是改良过的,既有古韵又利落。
头发梳得整齐,手里拿着那本《姜氏家谱》——不是用来战斗,是用来记录今天的一切。
他走到拱门下,转身等待。
夕阳给他镀上一层金边,程序员第一次注意到,这人其实长得挺好看。
然后苏零出现了。
她没穿婚纱,穿了身水红色的旗袍,上面用银线绣着细密的忍冬纹——和她手背上的纹身呼应。
蓝发盘了起来,用一根玉簪固定,右眼下的疤痕淡得几乎看不见。
她手里没捧花,而是拿着那个改装过的手柄——现在只是个装饰品了。
她从钟楼里走出,沿着铺满花瓣的过道,一步步走向姜临。
每一步都很稳,眼神很亮,笑容是从未见过的、毫无保留的幸福。
程序员看着,忽然觉得眼眶有点热。
苏零走到姜临面前,两人对视,都没说话,但那种无声的交流比任何誓言都有力。
镇长走到他们中间,清了清嗓子:
“各位,今天我们聚集在这里,见证一段特别的姻缘。按照新娘新郎的要求,我不说套话,只说真话。”
他转向姜临:“姜临,你愿意娶苏零为妻吗?不论副本还是现实,不论生死还是平淡,都陪在她身边,信任她,保护她,珍惜她?”
姜临看着苏零,一字一句地说:“愿意。而且我还会给她修所有摔坏的东西,陪她打所有想打的游戏,在她做噩梦时握住她的手,在她想吃火锅时立刻出门。”
宾客们轻笑,苏零的眼睛弯成了月牙。
镇长又问苏零:“苏零,你愿意嫁给姜临吗?不论富贵还是平凡,不论顺境还是逆境,都陪在他身边,相信他,支持他,爱护他?”
苏零握住姜临的手:“愿意。而且我还会在他修文物时不去捣乱——尽量不去。在他熬夜时给他煮咖啡,在他想一个人静静时安静地打游戏。还有,永远记住他所有的好,原谅他偶尔的笨。”
这次笑声更大了。程序员也跟着笑,但鼻子更酸了。
镇长点点头:“那么好,我宣布——”
“等等。”姜临忽然说。
所有人都愣住。姜临从怀里掏出一个小盒子,打开,里面是两枚戒指。
很简单的款式,银色的,男戒上刻着忍冬纹,女戒上刻着竹叶纹。
“在交换戒指前,”他看着苏零,声音很轻,
“我想说些真话。苏零,在遇见你之前,我觉得我的一生就是一本写满死亡预言的家谱。
我修复文物,是因为那些东西不会离开,不会死,不会让我经历失去的痛苦。”
他顿了顿,握住她的手:“但你出现了。你莽撞,嚣张,不按常理出牌,你打乱了我所有的计划。
你也让我明白,活着的意义不是避免失去,而是拥有值得珍惜的东西。
谢谢你选择我,谢谢你在青铜门前没有放手,谢谢你……让我有勇气去爱,也值得被爱。”
苏零的眼睛红了。她深吸一口气,也开口:
“姜临,在遇见你之前,我觉得我的人生就是一部不断下坠的电梯。我打游戏,是因为在虚拟世界里,死多少次都可以重来,不会真的失去什么。
我装作什么都不在乎,是因为在乎了就会受伤。”
她的声音有点哽,但很清晰:“但你出现了。你沉默,克制,总是在最危险的时候挡在我前面。
你教会我,真正的勇敢不是不怕死,是明知道会死,还是会为了重要的人冲上去。
谢谢你接住我,谢谢你在每次我想放弃时拉住我,谢谢你……让我知道,被爱是什么感觉。”
两人对视,眼中都有泪光,但都在笑。
镇长擦了擦眼角:“现在,可以交换戒指了吧?”
交换戒指时,出了个小插曲。
姜临给苏零戴戒指时,手抖了一下,戒指差点掉。
苏零反手握住他的手,稳稳地给自己戴上。然后她给姜临戴戒指,一次成功。
“看,还是我稳。”她小声说。
“嗯,你最稳。”姜临笑,低头在她戴戒指的手指上轻轻一吻。
镇长高声宣布:“现在,新郎可以亲吻新娘了!”
所有人都鼓起掌来。程序员也鼓掌,手掌拍得发红。
姜临捧住苏零的脸,很轻、很珍重地吻下去。
不是热烈的深吻,是温柔的、带着承诺的吻,在夕阳的余晖里,美好得像一幅画。
吻持续的时间不长,但足够所有人记住这一刻。
分开时,苏零的脸有点红,姜临的耳朵也红了,但两人握着手,没松开。
掌声更响了。
花瓣从空中洒下来——是那几个大妈NPC在二楼撒的,混着彩色的纸屑,在夕阳的光里闪闪发光。
婚礼后的宴席设在广场上,长桌摆开,上面摆满了各种美食——有量子火锅城的招牌菜(正常版),有颠倒博物馆复刻的古代点心,有说谎小镇本地的特色小吃。
酒水管够,音乐不停。
程序员坐在角落,慢慢吃东西。
他不太适应这种热闹,但也不讨厌。
吃到一半,苏零和姜临走过来,手里端着酒杯。
“谢谢你今天能来。”苏零说,笑容真诚。
程序员站起来,有点手足无措:“我……我没带什么礼物。”
“你来了就是最好的礼物。”姜临说,和他碰杯,“而且,你修改了副本,让它变得这么美。谢谢。”
三人碰杯,一饮而尽。酒是甜的,带着果香。
“接下来有什么打算?”程序员问。
“开店,过日子。”苏零靠着姜临,“平平淡淡的那种。”
“偶尔接点奇怪的委托。”姜临补充,“帮人解决点奇怪的问题。”
“像我们以前那样。”苏零笑,“但没有生命危险的那种。”
程序员点头:“挺好的。”
沉默了一会儿,苏零忽然说:“你也该找个伴了。”
程序员愣住,然后苦笑:“我?算了吧。我这样的人……”
“你这样的人怎么了?”姜临看着他,“你设计了最复杂的副本,修复了最危险的BUG,救了不止我们两个。你值得被爱,只是你自己不知道。”
程序员张了张嘴,没说出话。
苏零拍拍他的肩:“下次来北京,来我们店里吃饭。我亲自下厨——虽然可能不太好吃。”
“好。”程序员点头,“一定去。”
苏零和姜临去敬其他宾客了。
程序员坐下来,看着他们的背影,心里某个空缺的地方,好像被什么温暖的东西填了一点点。
宴席进行到一半,镇长提议玩游戏——在说谎小镇,当然要玩“说真话”游戏。
规则很简单:转瓶子,瓶口对准谁,谁就要说一个从未告诉过别人的真话。
第一轮,瓶子对准了量子火锅城的老板。
他站起来,挠挠头:“其实……我做的火锅底料秘方,是我奶奶临终前给我的。她说,辣不是为了让别人痛苦,是为了让吃到的人感觉到活着。我一直在努力记住这句话。”
掌声。
第二轮,对准颠倒博物馆的座钟。
他优雅地起身:“我其实很怕安静。因为在博物馆的那些年,太安静了,安静到能听见时间流逝的声音。现在我喜欢热闹,喜欢人声,喜欢生命的声音。”
更多掌声。
第三轮,瓶子转了又转,最后慢下来,对准了——程序员。
所有人都看过来。
程序员僵住了,他想逃,但苏零和姜临都在看着他,眼神鼓励。
他慢慢站起来,深吸一口气。
“我……”他开口,声音有点哑,“我设计那些变态副本,不是因为恨玩家。
是因为……我害怕。我害怕系统失控,害怕玩家受伤,害怕我辜负了初代管理员的信任。
所以我用难度,用死亡规则,用各种测试,来筛选出真正强大的人——强大到能改变一切的人。”
广场很安静,只有风声。
“但我错了。”程序员继续说,声音渐渐平稳,“强大不是能承受多少痛苦,是能在痛苦中,还选择温柔。不是能打败多少怪物,是能在成为怪物之前,停下来。”
他看向苏零和姜临:“他们教会了我这一点。所以……谢谢。”
他说完,坐下,手心全是汗。
但心里那块压了很久的石头,好像终于落地了。
沉默持续了几秒,然后掌声响起。
不是热烈的,是温和的、理解的掌声。苏零对他举起酒杯,姜临点了点头。
游戏继续,但程序员没再被转到。
他坐在那里,慢慢喝酒,慢慢吃点心,慢慢感受这份从未有过的、温暖的喧嚣。
婚礼结束时,天完全黑了。钟楼上挂起了灯笼,暖黄的光照亮整个广场。
宾客陆续离开。苏零和姜临站在钟楼门口送客,和每个人拥抱,说谢谢。
轮到程序员时,苏零给了他一个用力的拥抱,姜临用力握了握他的手。
“常联系。”苏零说。
“嗯。”程序员点头。
他转身要走,苏零忽然叫住他:
“等等。”
她跑过来,往他手里塞了个东西——是个小小的、青铜色的U盘。
“这是什么?”
“婚礼视频,还有这个副本的永久访问权限。”苏零笑,“想我们的时候,可以回来看看。这个小镇永远欢迎你。”
程序员握紧U盘,点点头,转身离开。
走出小镇时,他回头看了一眼。钟楼在夜色里亮着温暖的光,两个身影在光里相拥,很小,但很清晰。
他继续往前走,走出副本,回到自己的工作室。
屏幕还亮着,代码还在滚动。但有什么东西不一样了。
他把U盘插上,打开里面的视频。是婚礼的全记录,从苏零走向姜临,到交换戒指,到那个吻,到宴席上的笑声。最后是一段单独录制的祝福:
视频里,苏零和姜临并肩坐着,背景是“临零斋”的店面。
“嘿,程序员。”苏零对着镜头笑,“如果有一天,你遇到了喜欢的人,记得带她来参加我们的婚礼——虽然可能得等我们办金婚的时候了。”
姜临接话:“但在此之前,照顾好自己。按时吃饭,少喝咖啡,记得睡觉。”
“还有,”苏零补充,“别总是一个人待着。出来走走,看看太阳,吃吃火锅,打打游戏——虽然你可能打不过我。”
两人相视一笑,然后一起对着镜头说:
“要幸福啊。”
视频结束。程序员坐在黑暗里,很久没动。
然后他站起来,打开窗。夜风吹进来,带着初夏草木的香气。远处城市的灯火连成一片,像地上的星河。
他想起镇长在婚礼上说的话:“爱能改变一切。”
也许,真的可以。
至少今晚,在这个平凡的、有风的夜晚,他愿意相信。
关掉电脑,他决定出去走走。也许去吃个宵夜,也许只是看看夜景。
总之,不一个人待着了。
而在他看不见的某个副本里,在永远春日的说谎小镇,钟楼的灯光温柔地亮着,像某个永远不会醒来的、甜美的梦。