陈扶苏是被一股铁锈味呛醒的。
他睁开眼睛,入目是灰蒙蒙的天空,空气中悬浮着肉眼可见的数据颗粒,像是破碎的星尘。他躺在一座废弃城市的主干道上,柏油路面裂开蛛网般的纹路,缝隙里透出幽蓝色的光芒,仿佛整个城市都建造在一台巨大的服务器上。
"叮——欢迎来到《神域》。"
没有感情的系统提示音在他脑中响起,与此同时,视野左上角浮现出一行半透明的文字。
【玩家:陈扶苏】
【等级:0】
【职业:无】
【生命值:100/100】
【魔力值:50/50】
【属性:力量5,敏捷5,智力5,精神5,体质5】
记忆有些模糊。他只记得自己昨晚在公寓里调试一个独立游戏项目,代码写到凌晨三点,屏幕上的字符开始扭曲,然后——然后他就出现在了这里。
【新手引导已开启。请前往市政广场接受初始职业任务。】
"我不玩。"陈扶苏站起来,"我要回去。"
系统沉默了三秒。
【检测到玩家拒绝新手引导。根据《神域》用户协议第7条第3款,拒绝履行新手义务将被判定为消极游戏行为,系统有权采取惩罚措施。】
系统提示音出现了微不可察的卡顿。
【……玩家身份验证通过。欢迎来到《神域》,错误代码#0001号玩家。】
"错误代码?"陈扶苏眯起眼睛,"你说我是错误?"
【不建议玩家在此问题上继续追问。市政广场有新手装备领取,建议您尽快前往。】
陈扶苏注意到,当系统说"不建议"的时候,文字闪烁了一下。他没有接受过任何编程训练,但作为一个独立游戏开发者,这种异常他再熟悉不过了——那是条件判断语句执行时的延迟。
他在大学学的是计算机科学,毕业后在游戏公司干了两年,受不了每天做换皮手游,辞职在家做独立游戏。虽然作品没火过,但该懂的技术他一样没落下。
"你有bug。"陈扶苏说。
系统没有回应。
"我看到你文字闪烁了,"陈扶苏继续,"你在处理'不建议玩家在此问题上继续追问'这句话的时候,触发了某个条件分支,但是分支逻辑不完整,所以你卡了0.3秒。"
【请前往市政广场。】
"转移话题也是一种bug特征。"陈扶苏站起来,开始打量周围的环境。街道两侧的建筑风格混杂,有哥特式的尖顶教堂,也有玻璃幕墙的摩天大楼,像是把不同时代的建筑随手丢进了一个搅拌机。远处有一座高耸入云的塔,塔身缠绕着金色的锁链,锁链上刻满了流动的符文。
"那是神域之塔,"系统终于主动开口,"通关第一百层即可获得'登神'资格,实现任何愿望。"
"任何愿望?"陈扶苏挑眉,"包括回到现实世界?"
【包括。】
"那行,"陈扶苏迈开步子,"带路吧,市政广场。"
他其实没打算老老实实"玩游戏"。一个自称错误的玩家,一个有bug的系统,还有一座可以实现任何愿望的高塔——这故事听起来太像他去年写了一半就废弃的游戏企划案。那个企划的名字叫《错误代码》,主角也是一个被系统标记为bug的玩家,最终发现整个游戏世界是一段被遗忘的源代码。
但那只是巧合。对吧?
市政广场比他想象的要大。地面铺设着深灰色的方砖,中央矗立着一座三米高的雕像——一个没有面孔的人形,手持天平,天平两端分别托着太阳和月亮。广场四周挤满了人,或者说,挤满了"玩家"。
陈扶苏粗略扫了一眼,大约有两三百人。有人穿着现代的T恤牛仔裤,有人穿着中世纪的锁子甲,还有人——一个光头壮汉——居然只穿了一条豹纹短裤,手里提着一把比他本人还高的巨斧。
【欢迎各位玩家来到《神域》!】一个洪亮的声音从广场中央传来。陈扶苏循声望去,看到一个身穿金色长袍的老者悬浮在半空中,胡须拖到胸口,手里握着一根镶嵌着红宝石的法杖。他头顶上漂浮着一行绿色文字:【引导者·诺顿 LV.999】
"我是你们的新手引导者,诺顿。"老者微笑,"在正式进入《神域》之前,请各位玩家选择初始职业。职业一经选择,不可更改。"
他挥动法杖,广场上空浮现出六个巨大的光幕:
【战士】——近战物理输出,高生命高防御
【法师】——远程魔法输出,高伤害低生存
【刺客】——敏捷型物理输出,高暴击高闪避
【牧师】——治疗与增益,团队核心
【弓箭手】——远程物理输出,精准与控制
【召唤师】——召唤生物协助战斗,多面手
"请各位在十分钟内做出选择。十、九——"
"等等,"陈扶苏举手,"我不选。"
诺顿的笑容僵在脸上。不只是他,周围几百个玩家齐刷刷转过头来看陈扶苏,眼神里写满了"这人有病吧"。
【引导者·诺顿】的声音依然温和,但陈扶苏注意到他握着法杖的手指紧了紧:"请问这位玩家,为什么不选择职业?没有职业无法升级,无法获得技能,甚至无法——"
"无法离开新手村?"陈扶苏打断他。
诺顿愣了:"你怎么知道新手村——"
"猜的。"陈扶苏耸耸肩,"而且你说职业一经选择不可更改,这个设定太死板了。一个健康的游戏系统应该允许玩家转职、洗点、甚至重练,除非——除非职业选择本身就是一个触发器。"
诺顿的表情变了。他脸上的皱纹像是被一只无形的手抹平了,原本慈祥的笑容变成了某种极其机械的弧度,像是有人在0.01秒内替换了他的面部表情模型。
【检测到异常玩家行为。重新评估中。】
系统提示音再次响起,但这一次,声音里多了一种金属摩擦般的杂音。
"你看,"陈扶苏指着诺顿,"他又卡了。当我说'触发器'的时候,系统大概在检索有没有相关的设定文档,结果没找到,所以又卡了。"
人群中开始骚动。有人小声议论:"这哥们儿谁啊?""他是不是在找茬?""快选职业吧,别连累我们一起卡住。"
陈扶苏不理他们。他走向诺顿,仰头看着悬浮在空中的引导者:"我来猜猜看。这个游戏叫《神域》,但真正的名字应该是《神域·正式版1.0》,对吧?你们删掉了内测时的一些功能,比如转职系统,因为转职系统里有一个重大的bug,会导致玩家卡进数据夹层。"
诺顿的机械笑容开始出现裂纹。
"而我,"陈扶苏指了指自己,"我就是那个bug。你们没能在正式版发布前把我清除掉,所以现在只能假装我是正常玩家,引我选一个职业,好把我锁死在职业框架里。一旦我有了固定职业,数据边界就确定了,bug也就被封住了。"
广场上安静得能听见数据颗粒碰撞的声音。
诺顿沉默了很久。然后他缓缓落回地面,法杖顶端的光芒熄灭了。
【你比我想象的聪明。】那个苍老的声音消失了,取而代之的是一段直接浮现在陈扶苏视网膜上的文字:【错误代码#0001号玩家,你已经触及了系统的底层逻辑。作为奖励,我可以告诉你一个事实——】
【你的猜测只有一半是对的。】
【《神域》确实有问题,但不是bug。是病毒。】
【而我们所有人都已经被感染了。】
陈扶苏的心脏猛地收紧了一下。
就在这一刻,广场上空的六个职业光幕同时炸裂,碎片化作无数金色蝴蝶扑向每一个玩家。惨叫声此起彼伏,有人被蝴蝶钻入胸口后身体开始半透明化,有人手中的武器自动碎裂,还有人的等级数字发疯般跳动——从0飙升到9999,然后归零,然后再飙升。
【系统正在崩溃。】浮现在视网膜上的文字变成了刺眼的红色:【错误代码#0001号玩家,你有120秒时间决定——】
【是和其他人一样被重新格式化,还是接受你的真实身份。】
【你是这段程序里唯一的未感染体。】
【你是杀毒程序。】
陈扶苏看着周围陷入混乱的玩家,看着那个自称诺顿的引导者正在像蜡像一样融化,看着天空中的数据颗粒疯狂旋转形成一个巨大的漩涡。
他深吸一口气。
"我选第三个选项,"他说,"我不当杀毒程序,也不当病毒。"
"我要当外挂。"
旋涡停止了。
天空裂开一道缝隙,缝隙里是一双巨大的眼睛——金色的瞳孔,竖着的虹膜,像是某种非人的存在正在透过屏幕注视着他。
【错误代码#0001号玩家,你已经触犯了第零条底层法则:不可直视神域的本质。】
【惩罚:永久删除。】
陈扶苏的脚下出现了黑洞。
他坠落。
风灌满他的耳朵,视野里的一切都在向后飞掠——破碎的建筑、尖叫的玩家、融化的诺顿,以及那双巨大的金色眼睛。他以为自己会摔死,但他没有。
他摔进了一片数据的海洋。
四周是无穷无尽的0和1组成的瀑布,每一滴水都是一个字符,每一条河流都是一段程序。陈扶苏伸手抓住一把,掌心里浮现出一行小字:
【if player.type == bug then execute(delete) else grant(access)】
条件语句。最简单的条件语句。
"所以,"陈扶苏对着空无一物的数据空间说,"我只要改变自己的类型定义就行了,对吧?"
没有人回答他。但他不在乎。
他从口袋里掏出一支笔——他不知道那支笔为什么会在口袋里,也许是因为他是"错误代码",系统赋予了他一些连系统自己都不知道的权限——然后他在自己的手背上写下:
【player.type = "admin"】
数据瀑布瞬间凝固了。
所有的0和1都停止了流动,像是被按下了暂停键。陈扶苏面前的字符瀑布缓缓向两侧分开,露出一条由发光键盘铺成的道路。
道路尽头,是一扇门。
门上写着:【开发者入口·非请勿入】
陈扶苏笑了笑,推门走了进去。
门后是一个房间。房间不大,大约十平米,四面墙壁都是显示屏幕,上面滚动着无数行代码。房间中央有一张桌子,桌上放着一台看起来像是上世纪九十年代生产的老式电脑,CRT显示器泛着绿光,键盘的字母键都磨得看不清了。
电脑屏幕上只有一行字:
【欢迎回来,首席架构师。】
陈扶苏愣住了。
他从来不记得自己是任何游戏的"首席架构师"。
但屏幕上的字还在继续跳动:
【您于三年前创造了《神域》,随后被董事会投票罢免。您的记忆在离职时被强制格式化。您以"陈扶苏"这个身份在现实世界中生活了三年,但真正的您是——】
屏幕突然开始闪烁。
【错误。权限不足。无法读取核心记忆数据。】
【建议:通关神域之塔第一百层,解锁全部权限。】
陈扶苏看着屏幕,手指悬在键盘上方。
三年前。被罢免。记忆格式化。
他忽然明白了为什么自己对《错误代码》那个企划案有如此强烈的既视感。
因为他写的就是自己。
"行,"他按下回车键,"那就爬塔。"
显示器上的绿光变成了金色。
【神域之塔已解锁。当前层数:0/100。】
【玩家:陈扶苏(管理员权限-初级)】
【职业:无(已解锁"全职业适配"隐藏属性)】
【特殊状态:杀毒程序·觉醒体 / 错误代码·未清除】
【您站在游戏的废墟之上,手中没有武器,口袋里没有金币,脑子里没有完整的记忆。】
【但您有一双手,和一颗会编程的脑袋。】
【欢迎来到爬塔游戏,首席。】
【第一层,将在十秒后开启。】
屏幕倒计时开始跳动:10、9、8、7……
陈扶苏活动了一下手指。他的指尖泛着微弱的蓝光,那是代码的光。
"来吧,"他说,"让我看看三年前的自己到底埋了多少彩蛋。"
6、5、4……
房间的墙壁开始碎裂,数据重新流动。
3、2、1——
整个世界化作一束光,将他吞没。
【神域之塔·第一层:错误山谷】
【目标:在系统完全崩溃前,找到出口。】
【提示:不要相信你看到的任何数字。】
陈扶苏站在山谷入口,面前是一条蜿蜒的小路,两侧是高低起伏的丘陵,丘陵上长满了会发光的蘑菇。天空是紫色的,悬挂着两个太阳,但其中一个明显是假的——它的边缘在闪烁,像是贴图没有加载完全。
他低头看了看自己的状态栏。
【生命值:100/100】
【魔力值:50/50】
【等级:0】
【经验值:0/100】
但就在他注视的瞬间,数字开始跳动。
【生命值:99/100……98/100……97/100……】
"不要相信任何数字。"陈扶苏念出提示。
他抬起手,在自己的视野左上角画了一个叉。那个正在自动衰减的生命值显示瞬间消失了,取而代之的是一行他自己写的调试代码:
【hp_display = false】
【actual_hp = 100】
【decay_function = null】
生命值不再减少。
"第一层就这么简单?"陈扶苏沿着小路往前走,"吓唬人的把戏。"
但很快他就发现自己错了。
山谷深处有东西在等他。那是一个巨大的蘑菇,比周围的蘑菇大了几百倍,菌盖像一把撑开的巨伞,伞面上长满了密密麻麻的眼睛——每一只眼睛都在眨眼,但眨眼的节奏各不相同,看起来令人极度不适。
蘑菇的根茎上嵌着一块石碑:
【献上你的勇气,或者献上你的数据。】
【选择权在你。】
陈扶苏读完石碑上的字,那只大蘑菇开始说话了。它的声音像是几百个人同时开口,有人尖叫有人低语有人哭泣有人狂笑,混杂在一起形成一种令人头皮发麻的噪音。
"新来的数据点……"蘑菇说,"你的味道很特别……你没有感染……你没有被感染对不对……"
"我是来通关的,"陈扶苏说,"不是来聊天的。"
"通关?"蘑菇发出刺耳的笑声,"你以为这是什么?这是山谷,是起点,是系统的胃袋。所有没有职业的玩家都会被送到这里,被消化成基础数据,用来修复崩溃的世界。"
"所以你就是消化系统?"陈扶苏绕着蘑菇走了一圈,"消化系统有眼睛?这可不太符合生物课的常识。"
"我是……我是……"蘑菇的眼睛开始疯狂旋转,"我不知道我是什么……我原本是……一个NPC……但系统的病毒让我……让我变成了这样……"
它突然安静下来。
所有眼睛同时看向陈扶苏。
"但你不一样。"蘑菇的声音变成了一个清晰的、成年男性的声音,"你身上有管理员权限的气息。你是来修复我们的吗?"
陈扶苏想了想:"我是来找回记忆的。"
"记忆。"蘑菇重复这个词,声音里带着困惑,"我不记得我有没有记忆了。我只记得……我记得我被写出来的时候,是为了给玩家提供新手礼包的。我的台词是'欢迎来到《神域》,年轻的勇士,这是你的初始装备'……但后来病毒来了,我的台词被篡改了……"
"被谁篡改了?"
"被……"蘑菇的眼睛同时睁大,"……被您。"
陈扶苏愣住了。
"您把我写成了怪物。"蘑菇的声音里多了一丝委屈,"您在三年前埋下了所有的病毒种子,然后您走了,病毒爆发了,所有人都被困在了这里。您为什么要这样做?"
山谷里安静极了。
陈扶苏站在巨大的蘑菇面前,忽然觉得自己像是站在了一面镜子前面。镜子里是一个他完全不认识的人——一个在三年前创造了这个游戏、埋下了病毒、格式化了自己的记忆、然后以一个普通程序员的身份在现实中生活了三年的人。
"我不知道。"他诚实地说,"我不记得了。"
蘑菇的眼睛开始流泪。每一只眼睛都流出了发光的液体,滴在地上变成一串串代码。
【error: memory_block_corrupted】
【error: timeline_inconsistency_detected】
【error: 首席架构师身份认证失败——原因:目标对象不承认自身身份】
"你看,"蘑菇说,"系统也不承认你。你拥有了管理员权限,但你否认了自己的过去,所以权限只开放了初级。你进不去更高的楼层。"
"那我该怎么办?"
"找回记忆。"蘑菇的身体开始萎缩,眼睛一只接一只地闭上,"去现实世界。病毒不仅感染了游戏,还感染了现实。你家里的电脑里存着一段加密日志,那是三年前的你留给现在的你的。"
"我怎么回现实?"
蘑菇最后一只眼睛闭上了。
"你已经在了。"它说,"你以为这里是游戏吗?"
"这里是现实。"
"病毒把现实和游戏缝合在了一起。"
"你站的地方,既是神域之塔的第一层,也是你公寓楼下的便利店门口。"
"你仔细看看。"
陈扶苏揉了揉眼睛。
紫色的天空消失了,两个太阳消失了,发光的蘑菇和蜿蜒的小路全都消失了。他站在一条熟悉的街道上,面前是一家24小时便利店,门口的灯箱上写着"好邻居",招牌在夜晚的雾气中发出暖黄色的光。
他低头看了看自己。T恤、牛仔裤、拖鞋——他在家里写代码时穿的那一身。
口袋里手机震动了一下。
他掏出来,屏幕上显示一条未读消息,发件人是一个没有备注名的号码:
【陈扶苏,你终于醒了。我是三年前的你。这段文字在你读到的瞬间会自动删除,所以我长话短说:】
【病毒是我放的,但不是为了破坏,是为了保护。有人想用《神域》的真实数据接口操控现实世界,我没办法从外部阻止,只能从内部炸掉它。】
【但我需要你帮我完成最后一步。】
【上塔顶。】
【那里有真相。】
【也有回家的路。】
手机屏幕暗了下去,消息像承诺的那样自动消失了。
陈扶苏把手机塞回口袋,抬头看向便利店的玻璃窗。窗户上映出他自己的脸——年轻、普通、带着一点熬夜写代码的倦容。
但那双眼睛里,有什么东西在发光。
蓝色的、微弱的、数据的光。
"三年前的我,"他对镜子里的自己说,"你到底埋了多少坑?"
镜子里的人没有回答。
但便利店的门开了,一个穿着绿色围裙的店员探出头来:"苏哥?你站门口干嘛呢?进来拿快递啊,你那个《错误代码》的企划书打印好了。"
陈扶苏看着店员。
店员头顶上漂浮着一行半透明的字:
【NPC·便利店店员·李强(未感染体)】
"来了。"陈扶苏说。
他推门走进便利店,门上的风铃发出清脆的响声。货架上的商品琳琅满目,但有几样东西在微微闪烁——一包薯片的包装袋上印着【HP+10】,一瓶矿泉水的标签写着【魔力恢复药剂·小】。
现实和游戏的边界,真的模糊了。
陈扶苏拿起那包薯片,翻到背面,条形码的位置是一串代码:
【item_id: 20260811_001】
【type: consumable】
【effect: restore_hp(10)】
他笑了笑,撕开薯片吃了一口。
嘎嘣脆。
而且真的加了10点生命值。
"行吧,"他把薯片夹在胳膊底下,走向柜台,"李强,我的快递呢?"
李强从柜台底下掏出一个牛皮纸档案袋,上面用马克笔写着四个大字:《错误代码》。
陈扶苏接过来,拆开封口,抽出里面的企划书。
写着:
【游戏名称:《错误代码》】
【游戏类型:meta-rpg / 现实交互 / 解谜】
【核心设定:主角发现自己是一个被格式化的游戏设计师,必须在被病毒吞噬的游戏世界和逐渐数据化的现实世界之间寻找真相。】
【结局预设(可选):】
后面是空白的。
三年前的陈扶苏没有写下结局。
"因为他知道,"陈扶苏喃喃,"结局要由现在的我来写。"
他把企划书塞进档案袋,转身走出便利店。夜风吹过来,带着数据颗粒的味道——那种铁锈和臭氧混合的气息,和他在游戏里闻到的一模一样。
手机又震了一下。
【神域之塔·第一层·任务更新】
【已找到关键道具:《错误代码》企划书(未完成)】
【下一目标:前往塔第二层入口——位于你公寓的电脑屏幕内。】
【提示:你的键盘回车键是传送门。】
陈扶苏走回家,推开公寓的门,来到那台老旧的电脑前面。屏幕还是黑的,键盘上的回车键泛着微弱的金边。
他伸出手指,按了下去。
世界再次被光芒吞没。
【神域之塔·第二层:记忆回廊】
【警告:本层含有大量未加密的核心记忆数据,阅读时可能导致情绪波动、认知失调、以及对自己过去行为的强烈后悔。】
【但你已经没有退路了。】
【首席。】
陈扶苏站在一条无限延伸的长廊里。两侧的墙壁上挂满了相框,每一个相框里都有一张照片——他坐在会议室里对着白板讲解架构图、他和同事们围着蛋糕庆祝项目上线、他被保安架着拖出办公楼、他在深夜的出租屋里对着空白的文档发呆……
最后一张照片,是他自己举着***术刀,对着自己的太阳穴。
照片下面写着一行小字:
【记忆格式化手术·成功】
【代价:忘记你最爱的人。】
陈扶苏愣住了。
他摸着太阳穴,那块皮肤光滑平整,没有疤痕。但记忆深处有一个模糊的影子——一个女人的轮廓,长发,笑起来眼睛弯弯的,她叫他"阿苏",她——
画面碎了。
像玻璃一样碎了。
长廊尽头出现了一个声音,是那个女人的声音:
"阿苏,别上塔顶。"
"上去了,你就再也回不来了。"
"你现在的人生虽然普通,但真实。"
"塔顶的世界,连神自己都控制不了。"
陈扶苏站在长廊里,手指微微发抖。
"你是谁?"他问。
那个声音沉默了很久。
"我是你的妻子。"她说,"你在格式化记忆之前,删掉了我所有的数据。你怕病毒通过我找到现实中的你。"
"但你失败了。"
"病毒还是找到了。"
"它在塔顶等你。"
"它说它想和你谈谈。"
走廊尽头,出现了一扇门。
门上写着:【病毒·欢迎您的到来】
作者寄语: