从出租屋出来的时候,陈远在门口的脚垫上站了三秒。
不是忘了带钥匙。钥匙在右裤兜里,手机在左裤兜里,钱包在屁股后面,三件套都在。他站那三秒是因为走廊里有一股味道——三楼那户炒菜的糊味,跟昨天一模一样。同一个时间,同一口锅,同一种糊。
副本里也有这种东西。每个副本都有固定的“环境锚点”,比如第三个副本考试教室里永远剥落一块的墙角漆皮,比如第五个副本医院走廊尽头永远滴答响的水龙头。设计师管这叫“场景标识”,用来让玩家下意识地知道自己在哪个副本里。
现实世界也有场景标识。
他把这个想法按下去,锁上门。锁舌咔嗒一声,跟昨天一样,跟前天一样,跟搬进来第一天一样。
楼梯间的声控灯坏了一盏。他往下走,脚步声在水泥台阶上踢踢踏踏,到三楼亮了,到二楼亮了,到一楼亮了。坏的是四楼那盏。这个规律他已经走了三个月,从来没变过。
副本里的灯不会坏。副本里的灯要么全亮,要么全灭,要么规律性地闪烁。设计者不会让一盏灯单独坏三个月,因为那是无意义的随机事件,不构成规则。
但现实世界充满了无意义的随机事件。
走出单元门的时候阳光正从东边斜着打过来,照在对面早点摊的塑料棚子上,棚子下面坐着一个穿蓝布围裙的女人,面前是一锅油条。油锅旁边一个男的,灰T恤,正在往豆浆机里倒黄豆。两个人都不说话,手上的动作也没停。陈远从他们面前走过去,女的抬头看了他一眼,又低头继续翻油条。
这是他对这个早点摊的第三十七次路过。女的抬头看过他三十七次,男的只抬过两次,一次是找零钱,一次是打了个喷嚏。
副本里的NPC不会这样。副本里的NPC有固定的对话树和固定的注视角度。如果副本里有一个油条摊子,老板娘会永远在你进入她三米范围时抬头,永远说同一句“油条一块钱一根”,永远在你离开时低头。三十七次路过,三十七次抬头,三十七句一模一样的台词。
但现实里的老板娘,三十七次抬头的角度都不同。有时候是看脸,有时候是看衣服,有时候只是眼睛跟着动一下。她没说话,但信息量比副本NPC大得多。
陈远在油条摊子前停下来,要了一根油条和一杯豆浆。女的把油条夹进纸袋递给他,手背上有烫伤的疤。副本NPC不会有烫伤的疤。
“三块。”她说。
他递过去三个硬币,她接过去扔进围裙口袋里,转身去舀豆浆。转身的角度、舀豆浆的幅度、塑料袋撑开的声音,每一个细节都是唯一的。
这就是现实。没有被设计过的、充满了冗余信息的、没有重复规律的世界。
他拿着油条边走边吃,拐进一条小巷。这条巷子是去网吧的近路,两边是居民楼的侧墙,墙上贴满了小广告——疏通下水道、高价回收旧手机、办证。小广告一层压一层,最底下的已经烂成了纸浆,最上面的还带着胶水的反光。
副本里的小广告只会出现在策划需要它们出现的地方,而且内容永远是模糊的,无法被真正阅读。设计者不会给一个不重要的贴图写上真实的电话号码。
但这里的小广告有电话号码。
他凑近看了一眼,一个办证广告上写着“138xxxxxxxx”。他拿出手机,在拨号盘里输了这个号码,但没有拨出去。他想知道这个号码背后是不是真有人接。
他把手机收回口袋,没拨。就算有人接,又能证明什么?证明现实世界是真实的?
这个问题本身就是副本后遗症。强制冷却把心理创伤压平了,但压不平认知习惯。他在副本里待了太久,已经开始用副本的逻辑去审视现实了。
巷子尽头是一个十字路口。红灯,他停下来。旁边一起等的是一辆电动车,一个穿着快递服的小哥,后座堆满了纸箱子,最上面那个写着“生鲜”。
红灯倒计时还有四十五秒。
副本里的红灯时间永远是整十数——三十秒、六十秒、九十秒。设计者不喜欢质数,因为质数不好记,容易让玩家产生额外的不确定感。但这里的红灯是四十五秒。一个副本设计者永远不会选的数字。
红灯变绿,快递小哥第一个冲出去,电动车加速的时候后轮打了一下滑,然后稳住。陈远看着他的背影,想的是副本里从不会有电动车打滑——不是因为电动车不会打滑,而是因为副本设计者根本想不到要在“过马路”这个动作里加入“后轮打滑”这个细节。
现实世界的细节是无限的。副本的细节是有限的。
过了马路就是网吧所在的那条街。这条街上有一家兰州拉面、一家沙县小吃、一家理发店、一家打印店。四家店的门头颜色分别是绿、红、蓝、白。副本里如果有这样一条街,门头颜色一定是按照某种规律排列的——要么是渐变色,要么是对比色,要么是某种隐藏的密码。
但这里的绿红蓝白没有任何规律。兰州拉面的绿因为雨水的冲刷已经褪成了灰绿,沙县小吃的红因为阳光暴晒已经变成了橘红。时间在现实世界里留下了痕迹,痕迹又叠加了新的痕迹。副本没有时间,副本只有重置。每次进入副本,环境都会回到初始状态。副本里的墙面永远是一样新,油漆永远是一样亮,NPC的手背上永远没有烫伤的疤。
陈远站在网吧门口,把最后一口豆浆喝完,塑料袋扔进垃圾桶。垃圾桶是绿色的,上面写着“可回收”。副本里的垃圾桶永远是空的,因为设计者不会给垃圾桶写满溢逻辑。但这个垃圾桶是满的,盖子合不上,旁边还掉了一个矿泉水瓶。
他弯腰把矿泉水瓶捡起来扔进去。
没人让他做这个动作。不是任务,不是规则,不是隐藏的支线剧情。就只是弯腰捡了个瓶子。
这就是现实。副本里永远不会有“弯腰捡瓶子”这个选项。
网吧的门是玻璃推拉门,把手上缠着防烫手的红布条。他握住布条推开,一股混合着烟味、泡面味和空调味的热气扑面而来。网管坐在吧台后面看手机,听见有人进来抬了一下眼皮,又低下去。
“开一台。”陈远把身份证递过去。
网管接过身份证,在机器上刷了一下,头也没抬地说:“八号机,十块钱一小时。”
“包时。”
“包时二十,三个小时。”
他付了二十,拿回身份证。网管的手指在键盘上敲了几下,八号机亮了。这个网管的指甲缝里有灰,左手食指第一节有茧,看手机的时候用右手划屏,左手夹着烟。副本里的网管不会有这些特征。
八号机在最里面靠墙的位置。他穿过两排电脑走过去,经过的人有的在打游戏,有的在看视频,有的趴在桌上睡觉。每一个人的姿势、表情、呼吸节奏都不同。副本里的玩家只有两种状态——战斗中和待机中。现实里的人在电脑前可以有无限种状态。
坐下来,开机。屏幕亮起来的时候弹出了网吧的会员系统,上面写着“欢迎回来”。欢迎语下面滚动着几行广告:网咖新到机械键盘,会员充值满一百送二十。
副本里的欢迎语永远是一样的字体,广告永远不会更新。但这里的广告是新的,键盘膜也是新的——九宫格数字键上的“WASD”四个键帽比其他键新,说明刚换过。
他盯着那四个新键帽看了五秒钟。
副本里如果有一个键盘,所有键帽的磨损程度一定是一样的。设计者不会单独给四个键帽做旧的贴图。但现实里的键盘,只有WASD被磨光了——因为上一个坐这台机器的人是个打FPS的。这个信息没有任何用处,但它是真实的。
他打开浏览器,在搜索框里输入第一个名字。
副本里死的第一个人,ID叫“猎隼”,真名不知道。陈远把“猎隼 死亡”“猎隼 猝死”“猎隼 游戏”几个关键词反复排列搜索,翻到时,一条地方新闻弹出来——
“本市一男子深夜猝死家中,疑似长时间游戏所致。”
点进去。新闻很短,不到三百字,配了一张打了马赛克的照片。死者的网络ID没有公布,但写了一个细节:死者生前最后登录的游戏是一个“小型测试用客户端”,具体名称不详。
小型测试用客户端。
不是大型网游,不是手游,不是页游。是一个“测试用客户端”。三星堆的副本系统,在现实世界里的呈现形态,就是一个来历不明的测试客户端。
他把这条新闻保存到桌面上,建了一个文件夹,文件名写着“现实线索”。
然后他搜第二个名字。
第三个。
到第五个的时候,浏览器突然卡住了。鼠标能动,但页面不再加载。他以为是网吧网速的问题,按了一下F5,页面刷新了一下,然后弹出一个白色的对话框,上面只有一行字:
“别查了。”
没有窗口标题,没有关闭按钮,没有任何可识别的程序标识。
陈远盯着这三个字,手从键盘上移开。他没有关掉对话框,也没有大喊网管,而是把右手慢慢伸进口袋,摸到了手机。手机屏幕亮着,上面是小乖的终端窗口,最下面一行写着——
“检测到异常数据包,来源:本机IP。建议立即断开网络连接。”
他把手机放到桌面上,屏幕朝上。
“你看到了?”他低声问。
“看到了。”小乖的声音从手机扬声器里传出来,音量自动调低了两档,“对方用的是网吧内网IP。不是外网攻击,是有人在同一家网吧,或者网吧局域网里本来就有监控节点。”
陈远抬头环顾四周。网吧里其他人一切正常,打游戏的打游戏,睡觉的睡觉。没有一个人看他。
他转回屏幕,白色对话框已经消失了,取而代之的是正常的搜索结果页。但那三个字他记住了。字体是宋体,字号大约十四磅,白色背景黑色字,没有任何修饰。
“别查了。”
不是系统提示,不是浏览器弹窗,不是广告。是有人在同一家网吧,或者通过局域网监控,看到他正在查的东西,然后手动敲了这三个字。
副本外面,果然有人在盯。而且这个人,可能比他更了解三星堆副本的运行机制——包括它的现实接口。
陈远把浏览器关掉,清除历史记录,关机。二十块钱包的三小时,用了不到四十分钟。
走到门口的时候网管抬头看了他一眼:“不玩了?”
“有点事。”
网管没再问,继续低头看手机。指甲缝里还是有灰,左手还是有茧,烟灰掉在键盘上也没掸。
走出网吧的时候阳光已经偏西了,角度比刚才低了半拳。他站在门口,又看到了那四个门头——绿、红、蓝、白。这次他的目光在白色上多停了一秒。
打印店。网吧旁边开着一家打印店。
这种组合在副本里从没出现过。副本里的建筑排布永远服务于游戏逻辑——药店旁边是武器店,武器店旁边是存档点。网吧旁边应该是小吃店或者便利店,不应该是打印店。打印店在副本逻辑里找不到对应功能,属于无意义的空间占位。
但这里是现实。现实不需要逻辑。
他走到打印店门口,透过玻璃门往里看了一眼。柜台上摆着几摞A4纸,墙上挂着打印样张,角落有一台复印机正在嗡嗡响。店主是个戴眼镜的男的,正在给一个老太太复印身份证。
他收回目光,继续往回走。经过兰州拉面,经过沙县小吃,经过十字路口,经过小巷,经过早点摊。油条摊子已经收了,塑料棚子叠起来靠在墙角,地上留着油锅印子。豆浆机也空了,倒扣在塑料凳上晾干。
摊子收了,但人还在。蓝布围裙的女人坐在一个马扎上,正在数钱。数完把零钱卷成一卷塞进围裙口袋里,然后从口袋里掏出一根烟,点上。她点烟的动作很熟练,打火机一拨一按,火苗就起来了。
这个动作副本里永远不会有。因为副本里的NPC不需要休息,不需要数钱,不需要抽烟。
陈远在她面前停了一下,问了一句:“明天几点出摊?”
女人抬头看了他一眼,吐了口烟:“六点。”
“六点天还没亮透。”
“面得提前发。你六点半来,油条刚出锅。”
他点了点头,继续往出租屋走。
进了单元门,声控灯一层一层亮起来。四楼那盏还是坏的。
他掏出钥匙开门,锁舌咔嗒一声,跟早上出门的时候一样。冰箱压缩机嗡嗡响,路由器一排绿灯规律地闪。手机放到桌上,屏幕自动暗下去,然后亮起来——
小乖在终端窗口里写了一行字:
“网吧那个人的IP我记下了。下次他再发消息,我能反向追踪。”
陈远坐到电脑椅上,把刚才保存的“现实线索”文件夹打开,里面躺着五个名字的搜索结果。五个人的死亡时间从去年三月到今年一月,死亡地点分布在三个不同的省份,死因全是“猝死”。最小的十九岁,最大的四十一岁。
他新建了一个文本文件,把五个人的信息整理成一个表格,然后空出第六行。
第六行的备注栏里,他打了三个字。
“还有人。”
然后他把网吧白色对话框里那三个字也打了进去——
“别查了。”
两个三字短语,一个在表格里,一个在表格外。
本书首发来自 17K小说网 ,第一时间看正版内容!
作者寄语: