当天晚上骆襄铃回到出租屋之后没有马上登录游戏。她坐在书房的台灯下把许诺上传的整本手记从头到尾看了一遍——不是翻翻停停地看,是一页一页连续地读,像读一本按时间顺序编排的书。从第一页的庄园主宅定位坐标开始,到鱼塘的水循环设计、联动的信物触发方案、引渡口的选址逻辑、同城频道的接口预留说明,直到最后一页那幅折成四折的手绘地图。读完之后她在书桌前坐了一会儿没有动,像是需要等那些信息在她的思维框架中找到各自的位置才能站起来。
她发现手记中有一种贯穿始终的写作习惯:沈叔在描述任何一个系统的具体参数之后,总会在附近写一段括号括起来的注释,说明"为什么选择这个参数"。不是技术文档那种"说明",更接近"解释我为什么这样想"的创作手记。桃木簪选用了第二年春天的桃枝是因为耐久更重要——他在备注里写了"因为它是给特定的人用的";水路的弧度调整了四次才稳定,他在备注里写了"平衡比单向的'最佳'更重要";引渡口的选址靠近林地边缘而不是更开阔的水域,他在备注里写了"因为到达那里需要经过一段被植物覆盖的路——本身就带有'找到'的属性"。
她看到那些备注的时候经常停下来。那些"因为"后面的内容让她觉得沈叔在写这本手记的时候不仅是在记录设计数据,也是在用注释的方式回答他自己内心提出的那些"为什么"——而他在三年后通过这个习惯把这些"为什么"留给了读手记的人。
她读到靠近手记末尾的某一页时,注意到了一段没有用括号标注的、写在页面的正下方、像是写完了全部内容之后加上的最后一条注释:
"这套系统完成到现在,测试过很多轮的只有我自己。我不知道它被其他人使用时会不会出现我预料之外的反馈——但'预料之外'本身也是这套系统的一部分。预留接口的意义不在于'我能预见所有使用方式',而在于'如果有人遇到了我没预料到的情况,他可以沿着这些接口自己往下接'。"
她看着那行"沿着这些接口自己往下接"在台灯的光线中停留了一会儿。她想起自己在游戏里做了很多事——在比武场上蹲守十二场找情缘、在清风庄里种田养鱼、在烟雨古镇的码头跟许诺和程砚一起穿过雨幕——那些事情没有一个在沈叔的手记里被预见过,但他预留的"接口"确实为她能够沿着这些路径往前走的条件打了底。她不是"按照手记的指令一步步操作"才走完那些路的,她是先走了那些路、然后才在一本旧笔记本上读到了它们对应的"接口"的存在。
她合上手记的电子版之后拿起手机给许诺发了一条消息:"手记我读完了。你那边读完了吗?"
"读完了。"许诺隔了一会儿回了,"有一页关于老槐巷位置的补充说明,你看到没有?"
"哪一页?"
许诺发来了一张截图——是手记后半部分中她漏看的一页,夹在"同城频道接口预留"和"手绘地图"之间,是一张单独的窄页,宽度只有其他页的三分之二。窄页上只写了一小段话:
"老槐巷七号院中的桃树移栽于《剑雨》停服后的第二个月。移栽那天的天气是多云,下午有一阵短雨。我把游戏里清风庄第一棵桃树的坐标刻在了院墙内侧的一块砖上——这样即使游戏关服了,那棵树的'位置'也在现实中有对应的记录。"
她看完那段话之后又往前翻了一下确认——手记中关于清风庄第一棵桃树的坐标记录确实写在前面的一页里:"桃树主杆定位坐标:X1583,Y742。"后面跟着一行小字的备注:"此坐标已备份至老槐巷院墙内侧的墙面记录。"
她把两个坐标放在一起对比了一遍——游戏中的桃树坐标、现实中被刻在院墙内侧砖上的坐标备份。沈叔把虚拟的位置和现实的位置以同样的精度记录了下来,像是他在系统的两端各放了一把尺子,确保无论哪一端消失了,另一端留下的数据都可以重新对应回去。
"老槐巷那个坐标是跟着游戏坐标走的。"她回了一句。
"嗯。他在现实里留了一份备份。"
"那下周去看的时候——我们可以在院墙上找一下那块刻了坐标的砖。"
"好。"
骆襄铃把手机放在桌面上靠着椅背坐了一会儿。窗外的夜色已经彻底暗了下来,夏季的蝉鸣声在夜晚的调子比白天要低沉一些,像是一整天的高频鸣叫之后进入了某种"夜间待机"模式。她听着那种夜间的蝉鸣声在心里想了一件事:沈叔在《剑雨》停服后的第二个月去了一趟城南老槐巷七号,在院子里种了一棵跟游戏中同株的桃树,把游戏坐标刻在了院墙内侧的砖面上。他在游戏和现实之间的那堵墙上凿了一个能看到对面的洞,然后用一棵树和一行坐标把洞的两边固定住了。
四
第二天上午,三人在游戏里碰了一次头。
阳光比前一天更亮了一些,夏季的白昼时段正在向全年最长的那些日子靠近。骆襄铃坐在连理亭的石桌前面打开了队伍频道的语音,许诺在书房的窗口旁边站着,程砚在水闸方向的台阶上坐着。三人在各自常驻的位置上挂好了语音。
"老槐巷七号——"程砚先开口,"我查了一下那片区域的房产记录。老槐巷七号在公开记录中显示的产权状态是'私人持有·无转让记录',最近的一次登记时间是三年前。"
"三年前——"骆襄铃在心里对了一下时间线,"沈叔把手记存在茶馆之后去了老槐巷。那本手记里有一页写了他是《剑雨》停服后第二个月去栽的桃树——那应该是在他把木盒存在茶馆之前还是之后?"
"之后。"许诺说,"手记里关于茶馆的那条记录写的是'钥匙已存于梧桐巷',那是在老槐巷桃树移栽之前。他去梧桐巷存了钥匙和手记,然后去老槐巷种了树、刻了坐标。顺序是——先存东西,再去处理最后一件事。"
三个人在各自的语音通道里安静了一下。沈叔的逻辑顺序是:把"给别人"的东西先放好,再去做"给自己"的事。他在梧桐巷的木盒里放了手记、钥匙和信,那些东西是留给"找到这里的人"的;然后他去了城南老槐巷七号,种树、刻坐标、锁好铁门——那些是他自己的。两条路径在时间上交错,但内容上分得很清楚。
"那我们下周去了老槐巷——"骆襄铃开口,"铁盒里大概率是手记里提到但没写完的部分。"
"或者是他最后一版未上线的设计稿。"程砚说。
许诺在书房窗口的位置安静了一下。"也可能是空白。他把东西存好了之后可能没有写新的。"
"那也正常。"骆襄铃说,"能把坐标刻在墙上、把树栽好、把门锁好——那些事情已经算是一份完整的内容了。铁盒里有没有额外的东西都不影响他已经做完了的事实。"
语音频道里安静了几秒钟。然后许诺说了一句话,声音比之前的都要轻一些——像是那句他在自己心里放了很久、终于找到了一个合适的时间点把它放出来:"他说过一句话——'做完了比做对了更重要'。我以前不太理解。现在懂了。"
骆襄铃坐在连理亭夏季的光线中听着那句"做完了比做对了更重要"。她觉得那个"以前不太理解"的阶段她已经能想象出来了——那时候许诺可能还在找沈叔的踪迹、还在想"他为什么走、为什么没有回来"。但现在这句话被放在"老槐巷的树、刻在墙上的坐标、存好的木盒"这些已完成的事情之后再被说出来,它的含义已经不需要额外解释了。
"那下周六去?"程砚问。
"下周六。"骆襄铃说。
"下周六。"许诺说。
三人把下周六上午约在了城南的地铁站出口碰头。老槐巷七号距离那个地铁站出口大约步行十五分钟——跟梧桐巷到地铁站的距离差不多。骆襄铃在手机备忘录里记下了时间和地点,然后把手机翻过来放在石桌桌面上。
阳光从连理亭的开口处照进来在石桌桌面上铺开一片暖色的光区。水面上睡莲开到了夏季的全盛期,叶片边缘的尺寸比春天时扩大了将近一倍,有几朵花的颜色从初开时的淡粉变成了更深的绯红色。骆襄铃坐在连理亭里看着那些深绯色睡莲在水面上逐朵盛开的节奏,觉得整个水乡正在以它自己的方式走向夏季的中段。
"老槐巷那个位置的地图,"她开口问,"你那边有没有更详细的街景照?"
"有一些。"许诺说,"我昨晚又搜了一下,能看到院门外的巷道路面——砖面已经裂了,但整体平整。门是锁着的,门缝很窄,从外面看不到院内。"
"那把钥匙——铁门能对应上吗?"
"我对照了钥匙齿形和门锁的照片比例,应该没问题。"
骆襄铃靠在连理亭的柱子上把"应该没问题"这四个字听了一遍。许诺说"应该没问题"的准确率她已经在游戏里验证过很多次了——他说"应该没问题"的时候,实际上已经对照过三次以上了。
"那周六上午见。"她说。
"周六上午见。"
程砚在语音里挂断之前又补了一句:"对了——我昨晚看手记里有一页写了老槐巷院墙内侧刻坐标的砖的方位。'从院门进入后沿左侧墙壁走约十二步,视线高度偏下约一尺处'。他说那是在游戏地图中桃树坐标的反向映射位。"
骆襄铃在手机里把那行描述也记了下来。"沿左侧墙壁走十二步、视线高度偏下一尺。"她把这组参数在心里默念了一遍,觉得它比游戏里的任何任务指引都要具体——因为没有系统辅助线提示,需要用自己的脚步和视线来校准位置。
"你们俩周六上午什么时候到?"程砚问。
"我大概九点四十到那站。"骆襄铃说。
"我差不多。"许诺说。
"那我九点半左右先到,在出口等你们。"程砚说。
三人在语音频道里各自说了"周六见"然后陆续挂断了。骆襄铃在连理亭里多坐了一会儿——夏日的日光在接近正午的时候呈现出一种纯粹的、不含任何杂质的白亮色,把水面上的睡莲照得边缘几乎透明。她坐在亭子里没有动,把接下来几天的安排在心里过了一遍:工作日的正常上下班,每天晚间上线收一下田里的夏季作物,睡前翻一下手记的电子版中还没有细读的部分——等到周六上午,带着那把铜钥匙去城南老槐巷七号。
她把手机从桌面上拿起来解锁后又看了一眼许诺发来的那张手记窄页的截图。那行"即使游戏关服了,那棵树的'位置'也在现实中有对应的记录"在手机屏幕的光线中比刚才在电脑上看到的要略微亮一些——像是被阳光重新曝光了一遍的底片。
她关掉连理亭的语音之后走到书房门口停了一下。窗台上那幅"灯给你留着"的速写还挂在原处,晨光从窗口照进来正好落在画面上"灯给你留着"那行小字的位置。她看着那行字在晨光中呈现出清晰的墨色,觉得那行字跟沈叔在手记里写的"即使游戏关服了,位置也有对应记录"用的是同一套逻辑——在可能的消失之前先留下可被重新找到的标记。
她关上书房门之前最后看了一眼窗台上的画。夏季的日光正在缓慢地升高,那幅"灯给你留着"的画面边缘在越来越亮的光线中逐渐融入了窗台的木质纹理。
五
周五晚上,骆襄铃在下线之前又去了一次引渡口。
她一个人沿着那条已经走过多次的小径穿过林地,经过那棵有刻痕的老树,下了台阶,站到了渡口的木板地面上。暮色在夏至前后的这个时间点比春季要晚将近一小时才彻底沉下来——此刻的天色还是那种深蓝与浅金交界的过渡色,渡口的木桩在那种光线中拖出斜长的、边缘模糊的影子。
她在渡口站了一会儿,没有做任何事——没有翻手记、没有对照地图、没有打开同城频道。只是站在那里看着干涸河道的方向。那块刻着"梧桐巷十七号"地址的石板还在原处,表面的苔藓比她上次来的时候稍微多了一层——夏季的湿度让植物生长得更快了一些,已经有一些极细的蕨类幼苗从石板边缘的土壤中探出头来。
她蹲下来把那些蕨类幼苗从石板表面的缝隙中轻轻清理了一下。她的手指在石板表面移动的时候感觉到了那些刻字沟槽的深度和走向,跟梧桐巷木盒中那本手记首页的字迹用了同样的力度和倾斜角度。她清理完石板之后又蹲了一会儿,夏季傍晚的风从林地方向穿过来带着湿润的草木气息。
她站起来准备返回水乡的时候,在同城频道的消息列表中看到了一条新通知——来自"系统"的推送:
"您标记的'引渡口'位置已被自动记录至'现实坐标对照库'。该标记将在后续版本中作为'可映射至现实同城地图'的预设点位之一。感谢您在测试阶段对该位置的标记与验证。"
"现实坐标对照库。"她把那行字轻声读了一遍,然后切到水乡地图上看了一眼西南方向——那颗"引渡口·001"的自定义标记旁边,又多了一行极小的灰色标注文字:"已映射至现实坐标数据库。"
她站在暮色中的引渡口看着那行灰色小字,又看了看暮色中干涸河道的方向——那条河道在游戏地图上仍然没有名称,但通过她标记过的位置、通过沈叔提前设置的接口、通过系统中正在逐步积累的"现实坐标对照库",它正在从一个"未被开发的边界区域"慢慢变成一条有名字的路径的一端。她不知道自己离开引渡口之后系统里关于这个位置的"映射"会在后续版本中如何被使用——但她知道她做的"标记"和"验证"正在被系统接收并储存。
她回到水乡的时候连理亭的夜灯已经在夏季的暮色中亮了起来。她站在亭子外面隔着水面的倒影看了看檐口那盏暖黄色灯光在水波中的形状,然后拿出手机在三人小群里发了一条消息:"我今晚去了一趟引渡口。系统显示那个位置已经被收录到'现实坐标对照库'里了——沈叔的设计接口正在被接上。"
许诺过了几分钟回了一个字:"好。"程砚回了一个"收到"。
骆襄铃把手机收起来沿着水道方向走回书房的路上经过连理亭的开口处时停了一下,朝亭内石桌的方向看了一眼——桌面上不知什么时候多了一幅新的小画,是许诺画的。画面上是一个站在渡口边缘的侧影,面朝干涸的河道方向,身形比例跟她刚才站的位置角度一致。画纸的空白处有一行小字,墨色很浅,像是画完之后才用细笔尖加上的:"引渡口·有人去过。"
她在亭子门口站了一会儿看着那幅画。然后她走进亭子在那幅画旁边放了一样东西——是她自己的桃木簪。她把簪子放在画纸的右上角压着画纸边缘,像是用一枚游戏道具在确认"画上的人是我"。
她走回书房的时候回头又看了一眼——桃木簪在亭内暗下来的光线下呈现出比平时更深的木色,压在那幅画纸的边角上。
夏季的风从水道的方向吹过连理亭檐口,灯光在水面上晃动了几秒钟后重新稳定下来。引渡口的坐标已经被收录进了系统的"现实坐标对照库",沈叔预留的接口正在被她标记过的位置和许诺留下的画作逐渐填满。
而老槐巷七号的铁门,正在这个夏天的第一个周末之后等待着那把钥匙插入锁孔。