《星海破壁人》 第一章 绿皮火车载不动的乡愁 2002年8月28日,下午三点二十分。 陈青山背着鼓囊囊的蛇皮袋,站在省城火车站广场上,第一次知道“人山人海”不是书本上的成语。汗水顺着他的鬓角往下淌,在洗得发白的蓝色短袖衫上洇出深色的痕迹。他抬头,火车站钟楼的指针在夏末刺眼的阳光里反着光,晃得他眯起眼。 “让一让!让一让!” 背着大包小包的人流推着他往前,他下意识地护住胸前的袋子——里面装着录取通知书、母亲连夜烙的十二个白面饼、两套换洗衣服,还有全村人凑的三千七百块钱。钱用塑料袋裹了三层,缝在内裤的暗袋里,走路时磨得大腿内侧生疼。 “天海市,”他低头看了看攥在手里的硬座车票,那两个字烫着他的手心,“我真的要去天海了。” 三天前,村长敲着锣从村头跑到村尾,喊得整个陈家坳都听得见:“青山考上了!天海的大学!给国家造火箭的大学!”父亲蹲在门槛上,沉默地抽完一袋旱烟,起身时拍了拍他的肩膀,手很重,拍得他踉跄了一下。母亲在灶房抹了一下午眼泪,晚上把家里唯一的老母鸡杀了。 “到了学校,好好学。”临行前夜,父亲在煤油灯下只说了一句话,“别给陈家坳丢人。” 火车是晚上十一点四十分的K字头。陈青山在候车室的水泥地上坐了八个钟头,看着形形色 色 的人来了又走。他小心地啃着白面饼,就着车站水龙头接的凉水。对面坐着一家三口,孩子穿着崭新的运动鞋,抱着桶装方便面,香辣牛肉味飘过来,他第一次知道方便面可以这么香。 “妈,我想吃火腿肠。”孩子说。 女人从包里掏出一根红色的东西,撕开包装递过去。 陈青山记住了那个名字:双汇。他想,等到了天海,他也要尝尝。 检票口一开,人群就像决堤的水。陈青山被裹挟着往前冲,蛇皮袋撞在别人的行李箱上,发出闷响。他像一条逆流而上的鱼,拼尽全力挤过闸口,顺着人流涌向站台。 绿皮火车安静地卧在轨道上,车厢外皮斑斑驳驳。他对照着车票找到12车厢,刚要抬脚,身后一股大力涌来,他几乎是被推着上了车。过道里已经站满了人,汗味、泡面味、劣质香烟味混在一起,空气粘稠得能拧出水。 “往里走!都往里走!”列车员扯着嗓子喊。 陈青山艰难地挪到自己的座位——靠窗,三人座的中间。靠过道的是个胖大叔,已经脱了鞋,脚搭在对面的小桌子上。靠窗的是个戴眼镜的年轻人,耳朵里塞着耳机,正闭目养神。 他小心翼翼地把蛇皮袋塞到座位底下,坐下时腰板挺得笔直,双手规规矩矩放在膝盖上。火车缓缓启动,站台的灯光向后滑去,越来越快,最后连成一条光带。黑暗的田野、稀疏的灯火、偶尔闪过的村庄,窗外的一切都陌生得让人心慌。 “同学,去哪儿?”胖大叔打了个哈欠,随口问。 “天海市。”陈青山说。 “上学?” “嗯。” “哪个学校啊?” 他犹豫了一下,报出那个在心里默念过千百遍的校名:“华夏航空航天科技大学。”声音很轻,但在嘈杂的车厢里,胖大叔还是听清了。 “嚯!”大叔坐直了身子,上下打量他,“了不得啊!将来是造飞机火箭的科学家!” 周围几个乘客都看过来。陈青山脸上一热,低下头,手心又渗出细密的汗。 火车咣当咣当地向东行驶。夜晚很长,他不敢睡觉,每隔几分钟就要摸一下大腿内侧的那个暗袋。硬座硌得尾椎骨生疼,他换了好几个姿势,最后只能趴在面前的小桌子上。窗玻璃映出他模糊的影子——寸头,黑瘦,眼睛里有一种他自己都说不清的茫然。 天快亮时,他迷迷糊糊睡着了。梦里他回到了陈家坳,站在村口那棵老槐树下,抬头看天。天空很高,很蓝,一架银白色的飞机拖着长长的白线划过。他追着跑,跑啊跑,突然一脚踩空—— 他猛地惊醒,额头磕在桌沿上。 “做噩梦了?”靠窗的年轻人不知何时醒了,递过来一张纸巾。 陈青山愣愣地接过,才发现自己出了一身冷汗。窗外已经大亮,平原一望无际,铁轨两边的白杨树整齐地向后倒退。广播里响起女播音员甜美的声音:“旅客朋友们,列车即将到达本次旅程的终点站——天海南站……” 天海市。 他下意识地攥紧了拳头。 出站口比省城火车站还要大十倍。人声鼎沸,各色接站的牌子高高举起。陈青山在人群中茫然地转了两圈,终于看到“华夏航空航天科技大学新生接待点”的红色横幅。 “同学,是新生吗?”一个穿浅蓝色校服短袖的学长迎上来,笑容爽朗。 “是、是。”他连忙掏出录取通知书。 学长接过来看了看,眼睛一亮:“哟,还是咱们航天学院的!跟我来,校车在那边。” 校车是辆蓝色的大巴,车身上印着校名和校徽——一只抽象的雄鹰环绕着星球。车上已经坐了不少人,男生女生都有,大多穿着体面的衣服,说着普通话,偶尔夹杂着他听不懂的方言。他选了个靠后的位置,把蛇皮袋放在脚边。 “你家哪儿的?”旁边一个圆脸男生主动搭话,递过来一包瓜子。 “陕西。”陈青山没接瓜子,“陈家坳。” “哦……”男生眨了眨眼,显然没听说过这个地方,但还是热情地说,“我叫王浩,山东济南的。你是哪个专业?” “飞行器设计与工程。” “巧了!我也是!”王浩一拍大腿,“咱俩是同学啊!” 校车驶出车站,驶上宽阔的浦江大道。陈青山的脸几乎贴在了车窗上。高楼,那么多高楼,玻璃幕墙在阳光下闪闪发光。小汽车密密麻麻,蓝色的公交车像流动的河。浦江大桥横跨江面,江上游轮缓缓驶过,汽笛声悠长。 “看,东方明珠塔!”有人指着窗外喊。 “那是金茂大厦吧?” “天海真大啊……” 车里响起此起彼伏的惊叹。陈青山没有说话,他只是看着,贪婪地看着,像是要把这一切都刻进眼睛里。手掌在裤子上擦了又擦,还是湿的。 学校在浦东新区,离市区很远。大巴开了近一个小时,终于驶入一片开阔的园区。高耸的银色校门极具未来感,流线型的拱顶上嵌着“华夏航空航天科技大学”十个鎏金大字,在阳光下熠熠生辉。校门两侧是两座抽象的不锈钢雕塑,一座是火箭腾空的造型,一座是卫星环绕地球的造型。 进了门,是笔直宽阔的“航天大道”,两旁是整齐的银杏树,此时叶片还是翠绿色。现代化的教学楼群错落有致,玻璃幕墙反射着天空。最引人注目的是远处一栋流线型的银色建筑,楼顶有半球形的穹顶——那是学校的航天科技馆。 “到了,就这儿。”学长在一栋灰白色的七层楼前停下,“凌云公寓3号楼,你们男生宿舍。五楼,507,四个人的房间。先去宿管那儿领钥匙和被褥。” 宿舍是朝南的房间,不大,但很新。四张上床下桌,浅木色的家具,靠墙立着铁皮柜子。已经有两个人在了,一个在收拾床铺,一个在摆弄一台银色的轻薄机器——陈青山后来才知道,那叫笔记本电脑。 “你们好,我叫李想,天海本地的。”收拾床铺的男生转过身,戴着一副无框眼镜,说话带着轻微的吴语口音。 摆弄电脑的男生头也没抬:“赵峰,杭州。” “我叫陈青山,”他顿了顿,补充道,“陕西的。” “我是王浩,山东的!”王浩从后面挤进来,把行李箱往地上一放,“咱们507四剑客齐了!” 陈青山选了靠窗的那张床。他学着其他人的样子,爬上去铺床单,套被套。学校发的被褥是崭新的,浅蓝色的被面,印着小小的校徽图案。他铺得很慢,很仔细,把每一个边角都捋平。 铺好床,他坐在床边,看着另外三个人。 李想在书架上摆满了书,全是英文书名:《Fundamentals of Aerodynamics》《Introduction to Flight》《Orbital Mechanics》。赵峰敲击键盘的速度快得让人眼花,屏幕上全是密密麻麻的代码。王浩从行李箱里掏出各种零食,薯片、可乐、火腿肠,堆了一桌子。 “陈青山,你带电脑了吗?”王浩问。 他摇摇头。 “手机呢?” “没有。” 宿舍里安静了一瞬。赵峰终于从电脑屏幕前抬起头,看了他一眼,那眼神说不上是同情还是什么,很快又低下头去。 傍晚,四个人一起去食堂吃饭。食堂是栋三层楼的建筑,叫“星海餐厅”,每层能容纳上千人。陈青山看着墙上电子屏滚动的菜价:米饭两毛,素菜五毛,荤菜一块五到三块不等。他算了算,要了一份米饭,一个炒青菜,一个最便宜的麻婆豆腐,一共九毛。 “你就吃这个?”王浩端着餐盘过来,盘子里是糖醋排骨、油焖大虾和两个炒菜。 “嗯,够了。” 吃饭时,李想和赵峰在讨论什么“MATLAB仿真”“有限元分析”,王浩偶尔插几句嘴。陈青山安静地吃着,那些词他一个都没听过。高中的时候,他是全县第一,物理竞赛拿过省奖,老师说他“脑子灵光,是清北的料”。可是现在,听着室友们谈论着他完全不懂的东西,他忽然觉得嘴里寡淡的豆腐有些发苦。 晚上,辅导员来宿舍开会,是个三十出头的年轻老师,姓刘,穿着整洁的衬衫西裤。 “同学们,欢迎来到华航科大。”刘老师站在宿舍中央,语气温和但有力,“从今天起,你们就是中国航天事业的预备军了。在这里,你们不仅要学习最前沿的航天科技,更要培养严谨、创新、奉献的航天精神。明天开始新生教育和军训,为期三周。学生手册、课程表都在文件袋里,今晚都好好看看。” 他发了四个牛皮纸文件袋。陈青山接过来,打开,里面是厚厚的《学生手册》、课程表、校园地图,还有一张校园一卡通。他翻开手册第一页,校训赫然在目: “仰望星空,脚踏实地” 熄灯时间是晚上十一点。 宿舍里暗下来,只有窗外路灯透进来的微光。陈青山躺在柔软的床垫上,这比他家里的硬板床舒服太多,但他却失眠了。他睁着眼,盯着天花板上模糊的光影。 家里这时候该睡了吧。父亲应该已经抽完那袋旱烟,母亲大概还在灯下缝补衣服。弟弟妹妹呢?他们有没有好好做暑假作业?村里的夜晚很安静,能听见虫鸣蛙叫,能看见满天星斗。 可是这里,天海的夜晚,窗外是校园路灯柔和的光,远处隐约传来浦江的汽笛声。空气里有陌生的味道——新家具的木材味、油漆味,还有年轻人身上蓬勃的汗味。 “哎,你们玩过《传奇》吗?”黑暗里,王浩忽然问。 “玩过一点,”李想说,“不过我更爱玩《星际争霸》。” “《反恐精英》才带劲,”赵峰的声音从床帘后传来,“局域网对战。” “陈青山,你玩过游戏吗?”王浩问。 他在黑暗中沉默了几秒。 “没有。”他说。 宿舍里又安静下来。过了一会儿,王浩翻了个身,床板吱呀响了一声:“周末带你去网吧见识见识,学校后门就有一家,配置可好了。” 陈青山没应声。他侧过身,脸贴着冰凉的墙壁,闭上眼睛。 他想起今天路过学校图书馆时,透过玻璃幕墙看到的那一幕:挑高十米的大厅,环形的白色书架从地面延伸到穹顶,自动检索系统闪着蓝光,学生们安静地坐在智能阅览桌前,电子墨水屏上流动着文字。阳光透过巨大的落地窗照进来,在大理石地面上投下几何形的光斑。 那才是他该去的地方。他想。 可是五天后的下午,当军训结束的哨声吹响,当王浩第五次勾住他的脖子说“走吧走吧,就去一小时”,当全宿舍的人都用那种“你不会连这都不敢吧”的眼神看着他时—— 陈青山点了点头。 “就一小时。”他说。 王浩欢呼一声,搂着他往外走。四个穿着迷彩服、晒得黝黑的男生,穿过夕阳下的校园,走向后门那条热闹的商业街。街边满是奶茶店、烧烤摊、文具店,还有一家招牌闪烁着霓虹灯的网吧——“银河网吧”。 推开门,空调的冷气混合着烟味、泡面味扑面而来。昏暗的灯光下,一排排电脑屏幕亮着蓝莹莹的光,映着一张张年轻而专注的脸。键盘的敲击声、鼠标的点击声、激动的叫喊声,混成一片嘈杂的背景音。 “老板,四台机子,两小时!”王浩拍出二十块钱。 陈青山被按在一张电竞椅上。椅子是黑色的,能旋转,有腰靠和头枕。他看着眼前那个曲面屏显示器,看着桌面上密密麻麻的游戏图标,手心又开始冒汗。 “来,我帮你注册账号。”王浩熟练地移动鼠标,点开一个蓝色的图标。 屏幕上弹出一个窗口,深蓝色的背景,左上角是四个龙飞凤舞的毛笔字:大话西游。背景音乐响起来,是悠扬的古筝曲,混着潺潺流水声。 “选角色,”王浩指着屏幕,“仙族、人族、魔族,你想玩哪个?” 陈青山盯着屏幕上那些古风装扮的人物。白衣飘飘的剑客,锦衣华服的公子,妩媚妖娆的狐妖。他的鼠标指针在屏幕上徘徊,最后停在一个布衣少年身上——那人背着简单的行囊,腰间挂着一柄铁剑,站在一座小桥边,背景是落日和远山。 “就这个吧。”他说。 “逍遥生啊,人族,挺适合新手的。”王浩凑过来看,“取个名字。” 取名。陈青山看着屏幕上的输入框,手指悬在键盘上方。军训时喊口号喊哑的喉咙有些发紧,窗外的夕阳正沉沉落下,最后一缕光透过玻璃窗照进来,在机械键盘上投下一道暖黄色的光斑。 他想起了陈家坳村口的那条河,夏天时河水湍急,卷着黄色的泥沙滚滚向东。父亲说,那河最后会汇入黄河,黄河会流入大海。他一直想看看,河水流进大海时是什么样子。 手指落下,敲出三个字。 “逆流沙” 点击确认。 屏幕暗下去,又亮起来。古筝声流水声忽然变得清晰,眼前是一座古色古香的长安城。酒旗招展,行人如织,远处钟楼巍峨。他操控的那个布衣少年就站在城门口,头上顶着“逆流沙”三个字,在夕阳的余晖里,泛着淡淡的金色。 陈青山下意识地坐直了身体。他的手握住鼠标,第一次,在来到天海后的第五天,在这个弥漫着烟味和泡面味的网吧里,在完全陌生的虚拟世界,感觉到一种奇异的、确凿的掌控感。 屏幕右下角的时间显示:2002年9月6日,18:33。 距离学校图书馆闭馆,还有三小时二十七分钟。 (第一章完) 下一章预告:军训的严酷与游戏的诱惑交织,陈青山在图书馆与网吧之间摇摆。当他第一次在《大话西游》中凭借精妙计算带领队伍完成艰难任务时,现实中却迎来了第一场高等数学测验。两个世界的天平,开始悄然倾斜。与此同时,一张贴在宿舍楼下的“星海航天创新社”招新海报,将为他推开另一扇门。 第二章 长安城的算法与图书馆的星光 军训第七天,陈青山的脚底磨出了三个水泡。 凌晨五点半的起床哨像刀子一样划破晨雾,507宿舍的四个人几乎是滚下床的。三分钟穿衣,两分钟叠被,豆腐块要棱角分明,床单不能有一丝褶皱。然后冲向操场,在晨光微熹中站军姿。 “挺胸!抬头!收腹!” 教官的声音在操场上回荡。陈青山站在第三排第七个位置,汗水从帽檐下淌下来,流进眼睛里,刺得生疼。但他不敢动,军姿要站四十分钟,动了就要加练。他盯着前方同学的后脑勺,心里默背着昨天在《高等数学》第一章看到的公式。 极限,ε-δ语言,无穷小量…… 这些词像咒语一样在他脑子里打转。昨天下午,当王浩他们在宿舍补觉时,他去了图书馆。那栋流线型的建筑内部比外面看起来更震撼——挑高十米的中庭,环形的白色书架从一楼延伸到五楼,螺旋上升的楼梯像DNA双螺旋。他办了借书证,借了《高等数学(上)》,坐在靠窗的位置翻开第一页。 然后他就懵了。 高中的数学是具体的,是抛物线、三角函数、立体几何。但这里的数学是抽象的,是符号,是定义,是严格的逻辑推导。他看了三页,太阳穴开始突突地跳。周围的学生都在安静地看书,偶尔有翻页的沙沙声。他抬起头,透过巨大的落地窗能看到远处的航天科技馆,银色的穹顶在夕阳下闪着光。 他忽然想起离家前夜,父亲蹲在门槛上说的那句话。 “别给陈家坳丢人。” 手指抠紧了书页。 下午的训练是正步。抬腿,绷直,离地25厘米,保持一分钟。陈青山的左腿开始发抖,水泡磨破的地方火辣辣地疼。教官从队列前走过,挨个纠正动作。 “你,腿再高点!” “你,手臂摆起来!” 走到陈青山面前时,教官停了一下,看了看他惨白的脸,没说什么,只是拍了拍他的肩膀。 休息哨终于响了。陈青山一屁股坐在地上,脱下胶鞋,脚底的袜子已经被血水浸透。王浩凑过来,倒吸一口凉气:“我操,你这得去医务室。” “不用。”陈青山咬着牙,从口袋里掏出创可贴——那是报到时学校发的应急包里的。他笨拙地贴在水泡破掉的地方,动作很慢,因为手指在抖。 “晚上还去网吧吗?”李想递过来一瓶水。 陈青山接过,灌了一大口,冰凉的水滑过喉咙。他想起昨天在“银河网吧”的那个小时。那个叫“逆流沙”的逍遥生,站在长安城东门的夕阳下,周围是熙熙攘攘的虚拟人群。他接了长安酒店店小二的任务:帮王大嫂去城东杂货店买针线。很简单,跑腿而已。但当他交任务时,NPC却给出了分支: “少侠,王大嫂说针线钱多了三文,让你自己留着。你可以收下,获得50点经验;或者送回,王大嫂会给你一个‘不知名的护身符’。” 陈青山愣在屏幕前。这只是一个游戏,但他忽然想起高中数学的应用题——条件、变量、最优解。他查了查游戏资料站,发现“不知名的护身符”是某个隐藏任务链的触发物品,但概率极低。 稳定收益 vs 概率机遇。 他选择了送回。 然后他得到了护身符,但接下来在长安城转了一个小时,没有任何NPC理睬这件物品。最后是王浩看不下去,告诉他:“这种随机触发任务,概率可能只有千分之一,等于是浪费时间。前期还不如老老实实做‘长安游民’任务链升级快。” “游戏里走错了路能重来,”王浩当时笑着说,“但时间浪费了就没了。” “时间……”陈青山喃喃重复。 “你说什么?”王浩问。 陈青山回过神,摇了摇头:“没什么。” 晚风起来了,操场边的银杏树叶哗哗作响。教官吹哨,集合继续训练。陈青山穿上鞋,站起来时,脚底的刺痛让他倒吸一口凉气。他挺直腰,站进队列。 时间浪费了就没了。 军训最后一天是汇报表演。全校新生列成方阵走过**台,脚步声整齐划一,口号声震天响。陈青山所在的方阵得了“队列标兵”,每人发了一个笔记本。深蓝色的封面,印着校徽和“华夏航空航天科技大学”的字样。 他小心翼翼地收好。 军训结束后的第一个周末,507宿舍集体睡到日上三竿。下午两点,陈青山被饿醒了。他轻手轻脚地下床,从柜子里拿出最后半个白面饼——已经硬得像石头。他接了杯热水,把饼掰碎了泡进去。 “你就吃这个?”赵峰从上铺探出头,皱眉。 “嗯。” 赵峰没说话,爬下床,从自己柜子里拿出一桶康师傅红烧牛肉面,扔给他:“泡了吧,我请。” 陈青山捏着那桶面,塑料包装上印着诱人的图案。他记得火车站那碗面的香味。 “谢谢。”他小声说。 水烧开了。他撕开包装,把面饼放进搪瓷缸,撒上调料包,倒开水,盖上从家里带来的铝制饭盒盖子。三分钟后,他打开盖子,香气扑面而来。他拿起叉子——第一次用这种塑料叉子,不太习惯——挑起面条,吹了吹,送进嘴里。 咸,香,有一点辣。热气糊在眼镜片上。 “下午什么安排?”王浩也醒了,在床上伸懒腰。 “图书馆。”陈青山说。 “又去图书馆?这才刚开学!”王浩哀嚎,“走,去网吧,我带你练级。你那个逍遥生才10级,先升到15级拜师,我带你去大雁塔刷怪。” 陈青山犹豫了。他想起高数书上那些看不懂的符号,想起脚底还没完全结痂的水泡,想起父亲蹲在门槛上的背影。 然后又想起长安城。想起那个站在程咬金府门外的逍遥生,头顶是虚拟的夕阳。想起选择,概率,还有“时间浪费了就没了”的忠告。 “一小时。”他说。 “这才对嘛!”王浩从床上跳下来。 银河网吧依旧烟雾缭绕。陈青山坐在昨天的位置,开机,登录。熟悉的音乐响起,“逆流沙”出现在长安城杂货店门口。他看了眼游戏时间——今天是周日,有“双倍经验时间”。每周系统会赠送16小时双倍经验,需要找长安城的“御林军统领”领取。 他跑到皇宫前找到御林军统领,领取了4小时双倍经验(一次最多领4小时)。一个金色的“双”字图标出现在角色头像下方。 “要高效利用这4小时。”他心想。 他打开任务栏,有三个可接任务:长安游民任务(剿灭城外的飞贼)、大雁塔除妖(1层)、帮派任务(送信)。他查了资料站,10-20级最优升级路线是:先做长安游民任务到15级,然后去大雁塔1-2层组队刷怪,效率最高。 他接了长安游民任务,需要去城南剿灭“女贼”。 跑到城南,遇敌。战斗场景展开,对面是三个“女贼”,一身黑色夜行衣,手持短刃,身手敏捷。陈青山仔细观察——游戏里看不到速度数值,只能通过出手顺序判断谁快谁慢。 第一回合,他的逍遥生先动了!这说明他的速度比女贼快。他只有“攻击”和“防御”两个选项。他选择了攻击,对一个黑衣女贼造成28点伤害。接着,三个女贼依次攻击他,每个造成12点左右伤害。 陈青山敏锐地注意到细节:三个女贼的出手顺序是固定的——左边那个总是最先动,中间其次,右边最后。这说明它们的速度有差异,而且是固定模式。 “左边女贼最快,中间中等,右边最慢。”他记下这个规律。 第二回合,他选择防御。女贼攻击,伤害减半。他继续观察:出手顺序依然不变。 战斗在第五回合结束,他获胜,但血量只剩一丝。获得经验85点(双倍170),银两20文。 “效率不高。”他查看资料站,发现女贼是13-16级怪物,对于他10级的角色来说确实吃力。而城东的“海龟”和“毒蛇”是8-12级,更适合他现在的等级。 “目标选择错误。”他意识到问题,“就像做题,要先做会做的,不能硬啃难题。” 他跑到城东,找到海龟。战斗开始,这次他注意到不同:海龟的速度明显比他慢!他先出手,打完一轮后,海龟才慢悠悠地攻击。 “海龟速度慢,适合我这种新手。”他明白了,“女贼速度快,攻击高,需要等级压制。” 他继续打海龟和毒蛇,发现毒蛇速度比海龟快一点,但比自己慢。通过反复战斗观察,他开始建立怪物速度的“经验模型”:海龟最慢,毒蛇稍快,女贼更快(而且内部有速度差异)。 半小时后升到12级,角色面板提示学会了新技能:“横扫千军”(消耗法力35,攻击3个目标)。 “质变时刻。”他心想。 他找了三只海龟测试新技能。第一回合使用“横扫千军”,对每个海龟造成约40点伤害。第二回合,他发现一个关键现象:虽然海龟速度慢,但他发现如果三只海龟中有一只血量特别低,在第二回合开始时会比他先行动——这是大话2的机制:血量极低的怪物会提前行动,争取临死前的出手机会。 “濒死加速……”他记下这个隐藏规则。 经验条稳定上涨。他逐渐摸索出规律:打海龟时,用“横扫千军”第一回合打残,第二回合补刀最稳;打毒蛇时,因为毒蛇速度稍快,有时会在第二回合先出手,需要适当防御。 下午四点,王浩上线了,组他进队。 “走,带你大雁塔,双倍经验别浪费。”王浩的队伍里还有一个仙族“玄剑娥”(李想,18级),一个人族“飞剑侠”(赵峰,20级)。 四个人来到大雁塔。王浩是队长,点击守塔人进入。一层都是“羊头怪”和“狐狸精”。 战斗开始,经典的回合制。陈青山仔细观察队友的出手顺序——这是判断队伍速度配置的唯一方法。 第一回合,赵峰的飞剑侠最先动,使用了“混乱”法术。接着是王浩的巨魔王使用“震慑”。然后是他的逍遥生,他选择了防御。最后是李想的玄剑娥使用“龙卷雨击”。 “诗人的速度最快,队长第二,我第三,风铃儿最慢。”他在心里建立了队伍速度模型。 几场战斗后,他发现了更精细的规律:赵峰的混乱法术有时会比所有怪物都快,有时却比某些怪物慢。这说明怪物的速度不是固定的,而是在一定范围内波动。 “速度有随机浮动……”他记下。 他还注意到:当李想使用群法时,如果怪物中有速度快的,会在李想出手前先行动;如果都是慢怪,李想就能先出手清场。这说明速度顺序直接影响战术选择。 队伍打了五场战斗后,王浩的法力值明显不足,李想也只剩一半左右。 “需要计算续航。”陈青山在队伍频道打字,“队长,你的法还能撑几场?” 王浩:“三场左右吧,没细算。” “风铃儿呢?” “四场的样子。” 陈青山快速思考:从长安城买药到大雁塔,走路加买药要三分钟左右。如果打到空蓝再出去,这三分钟就是纯浪费。如果提前出去,会损失一些战斗机会,但可以保持连续练级节奏。 “最优策略应该是预留一部分法力时出去。”他分析,“但不能太早,否则效率降低;也不能太晚,否则会断档。” 他观察了几场战斗的法力消耗:王浩每场用“震慑”耗法60点左右,李想“龙卷雨击”耗法50点左右。队伍目前平均两分钟一场战斗。 “如果预留20%法力,大概还能打两场。”他计算,“这两场加上出去买药的三分钟,相当于用三分钟换两场战斗。如果打到空蓝,这三分钟就是纯跑路时间,零产出。” “我们该出去补药了,”陈青山建议,“队长和风铃儿的法都不多了。” 王浩看了看自己的蓝条:“还能打两场吧?” “但打完这两场就空了,要跑三分钟路。如果现在出去,这两场的蓝还在,回来可以接着打。” 赵峰插话:“青山说得对,这跟编程里的缓存预取一个道理——在资源耗尽前提前补充,避免等待时间。” 队伍采纳建议,退出大雁塔买药。果然,整个过程流畅高效,没有出现战斗中断。 升到15级时,王浩说:“你可以去拜师了。人族三个门派:大唐官府(物理攻击)、化生寺(治疗辅助)、方寸山(封印控制)。你想玩什么?” 陈青山查资料,比较三个门派的特点。方寸山擅长控制,而控制的核心就是改变速度秩序——让快的怪物变慢(混乱),让慢的队友变快(加速)。 “我想玩方寸。”他说。控制战局节奏,这对他有着天然的吸引力。 四人来到方寸山,拜菩提祖师为师。学会了第一个法术:“失心狂乱”(单体混乱法术,消耗法力45点)。 王浩提醒他:“方寸前期升级慢,混法命中率不高。技能1级对同级怪,大概就20%左右,而且受等级压制影响很大。” “怎么判断命中率?”陈青山问。 “只能自己记数。”王浩说,“打十次,中几次,心里就有数了。高级玩家都是靠经验。” 陈青山记住了这个方法——通过样本统计归纳概率。 回到大雁塔继续练级。第一次使用“失心狂乱”失败。第二次失败。第三次成功。 “三次中一次,33%。”他默记。 随着战斗继续,他不断完善这个“概率模型”。到第十次施法时,统计结果:3次成功,7次失败,实际命中率30%,略高于理论值,可能是小样本偏差。 他还注意到一个现象:当他对同一个目标连续使用混乱法术时,如果第一次失败,第二次的成功率似乎会稍微提高?这需要更多数据验证。 “如果命中率是30%。”他想,“那么连续两次施法的命中概率是1-(0.7^2)=51%。连续三次是66%。所以对于关键目标,应该准备至少连续施法三次的法力值。” 队伍遇到了“夜叉头领”。第一回合,陈青山混怪失败。夜叉攻击王浩,打掉三分之一血。 “我要吃药了!”王浩说。 “等等,”陈青山打字,“再给我一回合。你防御,风铃儿给你加血。我继续混。” 他在赌概率——连续三次施法,成功率约66%。而王浩防御状态下,配合加血,应该能抗住两轮攻击。 第二回合,陈青山继续混,又失败。夜叉再次攻击王浩,王浩血量危险。 第三回合,陈青山第三次施法——成功!夜叉被混乱。 战斗结束后,王浩说:“青山,你下次还是稳一点,我差点挂了。” “嗯,”陈青山说,“但如果第一回合就给你加血,输出不够,战斗会拖长,总体风险可能更大。我刚才大概估算过,你防御加治疗,两回合应该死不了。而我如果能混中,收益很大。” “你估算的?” “嗯。观察了几场战斗,记下了夜叉的平均伤害、你的防御减免、风铃儿加血的效果……大概推算的。” 李想发了个惊叹表情:“你这玩法,够硬核的。” 陈青山没说话。他只是觉得,这一切都很自然——观察现象,记录数据,建立模型,推算概率,做出决策。这和他想象中科学家做研究的方式,似乎没有本质区别。 晚上九点,双倍经验时间用完。陈青山的角色升到了18级,技能“失心狂乱”升到2级。他感觉命中率确实有所提升,但具体多少,还需要更多战斗来统计。 从网吧回宿舍的路上,王浩搭着他的肩:“青山,你今天观察得挺细啊。连黑衣女贼谁快谁慢都记下来了。” “就是记数。”陈青山说,“打多了就有感觉了。” “你这脑子,不用来学习可惜了。”李想笑道。 陈青山没接话。他想起高数课上那些抽象的公式。游戏里的观察和推理是具体的,每个现象都能找到对应数据。而数学呢?那些ε、δ、极限符号背后,是不是也藏着某种可以观察和总结的规律? 回到宿舍,陈青山洗了澡,坐在书桌前。他摊开高数课本,看着那些定义和公式。这一次,他没有直接跳过。 他拿出笔记本,在新的一页写下: 游戏观察总结: 目标选择:海龟(慢,易打)>黑衣女贼(快,难打)——先易后难原则 速度秩序:通过出手顺序判断快慢,建立速度模型(诗人最快,队长第二…) 隐藏机制:濒死怪物会提前行动——规则之下的例外 概率归纳:十次施法三次中→30%命中率——样本统计法 风险推算:防御+治疗 vs 怪物攻击力→估算生存概率 资源管理:预留法力提前补给,避免战斗断档——优化连续产出 核心方法:观察→记录→建模→推算→决策 联想:数学学习是否也能用这个方法? 他看着最后这个问题,陷入了沉思。 周一早上,高等数学课。 教室很大,能坐两百人。教授是个头发花白的老先生,姓周,说话带着江浙口音。他没带讲义,只拿了一支粉笔。 “今天我们讲极限。”他在黑板上写下“lim”和一行漂亮的花体字,“这是微积分的基石,也是你们大学数学的第一道坎。” 陈青山坐在第三排,笔记本摊开,笔握得很紧。 “什么是极限?简单说,就是无限逼近但永不等于。”周教授转过身,目光扫过整个教室,“就像你追求真理,可以无限接近,但可能永远无法完全抵达。这就是数学的浪漫,也是科学的残酷。” 教室里有人轻笑。 “好了,说人话。”周教授也笑了,“极限就是,当x无限接近a时,函数f(x)无限接近的那个数L。记作:lim(x→a) f(x) = L。” 他在黑板上写下定义,然后是例题,一道接一道。陈青山的笔尖在纸上飞快移动,记下每一个步骤。但到第三道例题时,他停下了。 那道题需要用到三角函数变换,而他高中时三角函数是弱项。 “这道题,”周教授说,“我请一位同学上来做。” 教室里安静下来。陈青山低下头,盯着笔记本上的字迹。别叫我,别叫我…… “第三排,穿蓝色衣服的那位同学。” 陈青山抬起头,周教授正看着他。 他慢慢站起来,走上讲台。粉笔握在手里,冰凉。黑板上的题目像天书:求lim(x→0) (sin3x)/(tan5x)。 他盯着那行字。sin,tan,x→0。脑子里一片空白。他能听见自己的心跳,听见后排有人小声说话,听见粉笔在手指间摩擦的细微声响。 然后,他想起了昨晚的游戏。想起了自己通过观察出手顺序建立的“速度模型”,想起了通过统计施法次数归纳的“命中概率”,想起了在不确定中基于模型推算做出的决策。 数学里的极限,不也是一种“模型”吗? 它描述的是当x无限接近某个值时,函数f(x)的行为模式。就像在游戏里,我通过观察归纳出“黑衣女贼速度比海龟快”这个模型。 那么这道题呢?当x无限接近0时,sin3x和tan5x的行为模式是什么? 他想起了课本上的重要极限:lim(x→0) sinx/x = 1。 这就像一个已知的“基础模型”。那么sin3x呢?可以把它看作sinu,其中u=3x。当x→0时,u也→0。所以sin3x ~ 3x。 同样的,tan5x = sin5x/cos5x。当x→0时,sin5x ~ 5x,cos5x → 1。所以tan5x ~ 5x。 那么原式 ~ 3x/5x = 3/5。 他抬起手,在黑板上写下: lim(x→0) (sin3x)/(tan5x) = lim(x→0) (sin3x)/(sin5x/cos5x) = lim(x→0) (sin3x)·(cos5x)/(sin5x) 当x→0时,sin3x ~ 3x, sin5x ~ 5x, cos5x ~ 1 ∴ 原式 = 3x·1/(5x) = 3/5 写完最后一笔,他放下粉笔。手心里全是汗。 周教授看了他几秒,点了点头:“思路清晰,用了等价无穷小替换。虽然跳了一步,但结果正确。你叫什么名字?” “陈青山。” “好,陈青山同学,请回座位。” 他走回去,脚步有点飘。坐下时,王浩在桌子底下冲他比了个大拇指。 下课铃响了。周教授收拾教案,走到门口时又回头:“对了,下周有个小测验,范围是第一章到第二章。大家准备一下。” 人群涌出教室。陈青山收拾书包,手指还在微微发抖。 “可以啊青山!”王浩搂住他肩膀,“深藏不露!” “运气好。”陈青山说。他把笔记本塞进书包,拉链拉到一半,停住了。 笔记本的夹层里,露出那张银河网吧的会员卡。蓝色的卡片,边缘已经有点磨损。 他把拉链拉上。 走出教学楼时,天阴了。风很大,吹得路边的银杏树叶哗哗作响。海报栏前围了一群人,他瞥了一眼,是各种社团招新。 “星海航天创新社招募新成员!” “这里有最前沿的航天资讯,有亲手制作火箭模型的机会,有参加全国竞赛的平台!” “仰望星空,脚踏实地。我们在星辰大海等你。” 红底白字的横幅在风里猎猎作响。横幅下摆着一张桌子,几个高年级学生在发传单。其中一个戴眼镜的男生看到他,递过来一张: “同学,有兴趣吗?” 陈青山接过传单。粗糙的纸张,油墨印的字,最下面有一行小字: “我们不是要培养循规蹈矩的工程师,我们要培养能看见未来的人。” 他捏着那张传单,在风里站了很久。 回到宿舍时,天开始下雨。雨点敲在窗玻璃上,噼里啪啦。陈青山把传单放在书桌上,用高数课本压住。然后他打开书包,拿出笔记本,翻到写有“游戏观察总结”的那一页。 在最下面,他添了一段话: “今天在数学课上,当我用游戏里‘观察→建模→推算’的方法解出那道极限题时,忽然明白了:数学不是一堆需要死记的公式,而是一种观察世界、建立模型、推演规律的语言。就像在游戏里,我通过战斗观察建立速度模型,数学也是通过定义和定理建立描述世界的模型。不同的是,游戏模型是具体的(黑衣女贼谁快谁慢),数学模型是抽象的(函数如何变化)。但从思维方法上,它们是相通的——都是从现象中寻找规律,用规律预测未来。” “也许,这就是‘破壁’的开始。” 字迹很工整,一笔一划。 窗外,雨越下越大。远处的航天科技馆在雨幕中只剩下一个模糊的轮廓,像一艘在雾中航行的船。 而陈青山不知道的是,就在这个下雨的傍晚,他刚刚搭建起的思维桥梁,将在接下来的日子里,带领他穿越两个看似不相干的世界——从长安城的石板路,到航天轨道的计算公式;从游戏里的概率决策,到现实中的工程难题。 一切的伏笔,都已悄然埋下。 (第二章完) 下章预告:高数测验在即,陈青山的复习却陷入瓶颈。与此同时,星海航天社的火箭模型项目启动,需要计算空气动力学参数。而在大话西游中,他触发的隐藏任务需要一个数学方程的解——两个世界的数学难题,将在第三章交汇,考验他刚刚建立的“破壁思维”。 第三章 三重门:地煞星的策略与火箭的轨迹 高数补考安排在下周三,这意味着陈青山只有五天时间。 周六上午,他带着课本和习题集来到图书馆三楼的自习区。刚坐下,对面就推过来一本笔记本。沈思不知何时到的,正咬着笔帽看他。 “你的复习计划呢?”她问。 陈青山从书包里掏出一张皱巴巴的纸。上面用铅笔写着时间表:周六日全天复习第一章极限,周一导数,周二微分,周三上午做模拟题。字迹工整,但内容简陋。 沈思扫了一眼,摇头:“你这样不行。”她抽走那张纸,重新写了一份计划,精确到每半小时做什么,像一份工程进度表。 “我爸爸说,航天器能精准入轨,是因为每个环节都算到了。学习也一样。” 整个上午,他们都在攻极限。陈青山发现,沈思讲数学的方式很特别——她总能把抽象的公式和具体的事物联系起来。 下午四点,他们刚做完第二十四道题,王浩的电话打到了图书馆值班台。 “青山!快回来!大唐境外刷地煞星了!” 陈青山和沈思跑回网吧。507宿舍三人正聚在电脑前,屏幕上是长安城的画面——他们刚从地府复活回来。 “灭队了?”陈青山一眼就看明白了。 “太快了,”王浩一脸郁闷,“我们刚进去,三个地煞星,一个比一个狠。好不容易打残一个,另外两个直接用药把它血加满了!” 陈青山坐下来:“详细说说,怎么回事?” 赵峰描述了战斗过程:他们点进地煞星后,面对三个地煞星——地勇星、地杰星、地雄星。第一回合集火地勇星,打了大半血。第二回合继续打,地勇星快空血了。但第三回合,地杰星使用了药品,给地勇星回了大半管血,地雄星也用了药。 “然后地勇星站起来就是一个群法,”李想补充,“我们这边倒了两个。第四回合,我们想控制地杰星,混乱失败了。第五回合就灭队了。” 陈青山听完,若有所思:“所以关键不是输出,是控制。要让它们没法互相加血。” “怎么控制?我们两个方寸,混乱成功率都不高。”王浩说。 “轮流控制,”陈青山说,“而且要注意节奏。地煞星用药应该有间隔,如果我们能卡在它们用药前控制住……” 就在这时,当前频道有人说话——是刚才也在大唐境外的一支高级队伍,队长叫“霸刀无情”。 霸刀无情:“刚才那个灭队的队伍,还在吗?” 王浩打字:“在,怎么了?” 霸刀无情:“你们队是不是有两个方寸?” 王浩:“是。” 霸刀无情:“想不想合作打地煞星?我们队输出够,但缺控制。你们虽然等级低,但职业配置对。” 陈青山接过键盘:“怎么合作?地煞星只能一队打。” 霸刀无情:“我们可以组固定队。你们出两个方寸一个普陀,我们出两个仙族一个魔族。轮流打,帮你们的人也解锁资格。” 这个提议很实际。地煞星难度高,职业搭配比等级更重要。 “可以试试,”陈青山回复,“下个时辰如果刷地煞星,组队打一次看看配合。” “行。” 时辰到了。新的地煞星刷新在斧头帮。 霸刀无情发来组队邀请。队伍组成:陈青山的逍遥生(方寸)、赵峰的飞剑侠(方寸)、沈思的舞天姬(普陀)、霸刀无情的剑侠客(仙族)、还有一个叫“冷月”的玄剑娥(仙族)。 五人队集结,点击地煞星。 进入战斗画面。三个地煞星出现在屏幕上:“地煞星·地杰星”“地煞星·地煞星”“地煞星·地短星”。 战斗开始——界面下方出现了25秒倒计时,这是给玩家选择指令的时间。 “按计划,”霸刀无情在队伍频道快速指挥,“两个方寸控制地杰星和地短星,别让它们用药加血。仙族集火地煞星,先打死一个再说。” 陈青山迅速选择了“失心狂乱”,目标是地杰星。赵峰选择了混乱地短星。沈思选择了加血技能,目标是霸刀无情。两个仙族选择了群法。 所有人操作完毕的瞬间,屏幕上的25秒倒计时还在走,但画面已经直接切换——战斗开始了。 第一回合:陈青山的混乱成功!地杰星被混乱,无法行动。赵峰的混乱失败。两个仙族的法术打在地煞星身上,打掉了近三分之一血。 地短星使用了单体攻击,打在霸刀无情身上,掉了200多血。地煞星也使用了攻击。 第二回合,25秒倒计时再次出现。 陈青山观察局面:地杰星还在混乱状态,地短星可以自由行动,地煞星血量还剩三分之二。他必须在25秒内做出决策。 “诗人继续混乱地短星,”陈青山在队伍频道打字,手指飞快,“我五雷咒输出地煞星。仙族继续集火地煞星。月下给霸刀加血。” 指令选择完毕,所有人操作完成的瞬间,战斗再次开始。 第二回合:赵峰的混乱又失败了。但仙族的输出集中,地煞星血量降到一半以下。沈思的治疗把霸刀无情的血量抬了起来。 地短星这次没有攻击,而是使用了药品——一个金创药的图标闪过,给地煞星回了300多血。 “看到了吗?”陈青山说,“这就是难点。我们打掉的血,它们用药加回来。” “那怎么办?” “要控制得更准,”陈青山分析,“而且要注意节奏。地煞星用药应该有冷却时间,不会每回合都用。如果我们能在它用药前控制住,就能打断加血。” 第三回合,陈青山再次混乱地杰星——成功。赵峰改用五雷咒输出地煞星。 两个仙族全力输出,地煞星血量又降到危险线。 但这次,地短星没能用药——它使用了攻击技能。地杰星还在混乱。 “好!”王浩在旁边喊,“这回合它没用上药!” 第四回合,地煞星血量见底,但没倒。地短星这次用药了,又把地煞星的血量抬起来一截。 陈青山快速思考:“地短星好像每两回合用一次药。第一回合攻击,第二回合用药,第三回合攻击,第四回合用药……有规律。” “那我们怎么打?” “卡它的用药节奏,”陈青山说,“在它准备用药的那回合,控制它。或者在它刚用完药的下回合,全力输出,在它下次用药前把地煞星打死。” 接下来的战斗变成了控制与加血的博弈。陈青山和赵峰注意观察地短星的动作节奏,尽量在它准备用药的回合控制它。虽然混乱有失败概率,但只要能成功一次,就能打乱加血节奏。 第十一回合,在连续两次控制成功后,地短星错过了用药时机。两个仙族全力输出,终于在地短星再次行动前,将地煞星击倒。 地煞星倒地后没有再站起来——地煞星用药只能加血,不能复活倒地的队友。 少了一个地煞星,压力大减。剩下的地杰星和地短星虽然还在互相配合,但加血效率大降。 第十八回合,战斗结束。 【战斗胜利!】 战利品按约定分配。更重要的是,这次合作很成功。 退出战斗后,霸刀无情说:“配合不错。你们注意到地煞星用药的节奏了?” “嗯,”陈青山回复,“地短星大概是每两回合用一次药。如果能卡在它用药前控制它,或者卡在它刚用完药时全力输出,就容易打得多。” 霸刀无情沉默了几秒:“……你打架还记这些?” “习惯了。”陈青山说。 从网吧出来时,天已经黑了。 回宿舍的路上,沈思问陈青山:“你真的记了每个回合地煞星用了什么药?” “嗯,”陈青山点头,“地煞星的动作有规律。找到规律,就能预测它们下一步要做什么,然后提前应对。” “这跟数学有什么关系?” “数学就是找规律的学问。”陈青山说,“看到一个数列,找它的规律。看到一个函数,找它变化的规律。地煞星的行动也是个序列,回合一、回合二、回合三……每个回合做什么,也有规律。” 沈思若有所思:“所以你是在用数学思维玩游戏?” “也许吧。”陈青山说,“我只是觉得,把事情弄清楚,比稀里糊涂做要好。” 回到宿舍,陈青山坐在书桌前。他摊开高数课本,又想起今天游戏里的战斗。 三个地煞星,五个人的队伍,控制技能的节奏,加血药品的冷却时间……所有这些都需要在25秒内做出判断和选择。 他突然想到周教授上周讲的话:“数学是描述世界的语言。” 那么今天这场战斗,用数学语言怎么描述? 周一,高数课。 周教授讲的是导数。他在黑板上写下定义,然后说:“导数是什么?简单说,就是变化的快慢。比如你跑步,有时候快有时候慢,导数就是描述你每一刻跑得多快。” 陈青山认真听着。他想起游戏里的一些事。 比如,经验值增长的速度——有时候快有时候慢。在双倍经验时间练级,经验涨得飞快;在普通时间,就慢一些。 又比如,打地煞星的时候,地煞星的血量下降的速度——开始慢,后来快,因为控制住了加血节奏。 这些不都是“变化的快慢”吗? 下课前的几分钟,周教授布置了一个特别的作业:“这周,我希望大家用导数的思想,观察生活中的一个现象。可以是任何事——你走路的速度,你学习的进度,甚至你玩游戏时经验值的增长。” 陈青山眼睛一亮。 游戏。经验值。变化的快慢。 这个作业简直是为他量身定做的。 接下来的两天,陈青山做了个实验。 他记录自己在大雁塔练级时经验值的变化。每十分钟记一次,记了一个小时。 数据很清楚:在双倍经验时间,他平均每分钟获得350点经验;在普通时间,只有180点。双倍时间经验增长的速度几乎是普通时间的两倍。 他还发现,队伍配置不同,经验增长的速度也不同。有仙族群法队伍,清怪快,经验涨得快;全是物理系队伍,清怪慢,经验涨得慢。 “这不就是导数吗?”他想,“不同的条件,导致变化的速度不同。” 他把这些发现写在作业里,还画了简单的图。 周三,高数补考。 考场上,陈青山看着试卷。题目不简单,但他觉得,自己好像能看懂题目在问什么了。 因为很多题目,其实都在问“变化的快慢”。 最后一道大题是应用题,关于工厂生产成本。题目给了一个成本函数,要求计算生产100件产品时,再多生产一件需要增加多少成本。 这就像在游戏里,计算从17级升到18级需要多少经验,和从18级升到19级需要多少经验——需要的经验越来越多,就像生产成本随着产量增加而增加的速度在变化。 陈青山不仅算出了答案,还在草稿纸上写了一段话: “在生活中,我们经常需要知道‘再多做一点需要付出多少’。玩游戏时,想知道再升一级需要多少时间;学习时,想知道再提高十分需要多少努力;生产时,想知道再多做一件需要多少成本。导数就是回答这个问题的工具。” 交卷时,他心里很踏实。不是因为题目都做对了,而是因为他终于明白数学在说什么了。 那些符号、公式、定理,不再是天书,而是描述世界的语言——描述经验值如何增长,描述战斗力如何提升,描述火箭如何飞向天空的语言。 从网吧到教室,从游戏到数学,从长安城到航天轨道……所有这些,都在用同一种方式思考: 观察现象,找到规律,计算利弊,做出选择——而且常常要在有限的时间内做出选择,就像每回合的25秒倒计时。 陈青山刚刚学会这种思考方式的第一步。 而他知道,这只是开始。 (第三章完) 第四章 观星的夜晚与火箭的图纸 高数补考的成绩,在周五下午贴了出来。 陈青山挤在工程楼下的公告栏前,仰头在密密麻麻的学号和分数中寻找自己的。心跳有些快,他吸了口气,目光一行行扫过。 找到了。 学号:02010317,姓名:陈青山,成绩:82 他盯着那个数字看了三秒,然后长长地吐出一口气。82分。比及格线高了22分,比他之前的59分高了23分。视线继续上移,在第十名的位置看到了赵峰的名字:第10名,赵峰,96分。再往上,第一名依然是沈思,100分。 差距依然存在,但不再是遥不可及。从59到82,这23分的距离,是他用五个昼夜的习题、无数张草稿纸、以及从游戏里学来的“找规律”方法,一步一步量出来的。 “可以啊青山!”王浩从后面拍他肩膀,嗓门洪亮,“82!我还以为你顶多擦边过呢!” “运气。”陈青山低声说,但嘴角不自觉地弯了弯。 “这可不是运气,”沈思的声音从旁边传来,她不知何时也到了公告栏前,正仰头看成绩单,“最后那道大题,你用费马原理解的那道,周教授在教研室夸了,说思路很活。” 陈青山愣了一下。他没想到那行备注真的被看到了。 “走吧,”沈思转头看他,眼睛在午后的阳光下很亮,“星海社的活动两点开始,别迟到。” 星海航天创新社的活动室在工程训练中心三楼。陈青山到时,里面已经坐了二十几个人,大多是男生,也有几个女生。讲台上站着的还是上次那个戴黑框眼镜的社长刘宇,白板上画着一个简易的火箭结构图。 “同学们,上次我们做了简单的固体火箭模型,大家表现都不错。”刘宇推了推眼镜,“这次的任务要升级了。我们要分组设计并制作一枚‘二级火箭模型’。” 台下响起一阵骚动。二级火箭,意味着不只是能飞起来那么简单,还需要解决级间分离、点火时序、重心变化等一系列问题。 “每四人一组,自由组合。材料有限,需要合理分配。最终评判标准:飞行高度、分离成功率、落地完整性。另外,”刘宇顿了顿,“这次我们要引入一个关键参数:推重比。火箭起飞时的推力与自身重量的比值,必须大于1.5,否则飞不起来。这个值需要你们自己计算和测试。” 陈青山迅速在心里估算。推力来自固体燃料发动机,重量包括箭体、发动机、载荷、分离机构……变量很多。 “我和你一组?”沈思的声音在耳边响起。 陈青山转头,看到她正看着自己,手里拿着笔记本和一卷图纸。“我算过一些初步参数,但推重比那块卡住了,燃料燃烧速率的数据不好找。” “好。”陈青山点头。 另外两个组员也很快确定了——是同班的一对男生,一个叫张伟,学飞行器动力工程的,壮实,话不多;另一个叫林涛,学自动控制的,戴副细边眼镜,手里总拿着个电路板。 四人找了靠窗的桌子。沈思把图纸摊开,上面是她手绘的火箭结构:一级箭体直径5厘米,长40厘米;二级箭体直径4厘米,长30厘米。级间采用简单的弹簧分离机构,用延时电路控制。 “问题在这里,”沈思指着图纸上的发动机部分,“我用的是市面上能买到的标准微型固体发动机,标称推力12牛,工作时间3秒。但那是理想值。实际推力会受温度、湿度、装药均匀度影响。如果我们按12牛算,总重控制在800克以内,推重比刚好1.5。但万一实际推力只有10牛,或者重量超了,就飞不起来。” 陈青山看着那些数字。12牛推力,800克重量,推重比=12/(0.8*9.8)≈1.53,刚过线。确实危险。 “能不能减重?”张伟开口,声音低沉,“结构材料用更薄的碳纤维管,接线用细线,分离机构简化。” “我算过减重极限,”林涛推了推眼镜,手里拿着个计算器,“最多能减到750克。但加工难度会大增,而且结构强度可能不够,分离时容易解体。” “那提高推力呢?”陈青山问。 “换大发动机要加钱,而且尺寸不匹配,要改设计。”沈思摇头,“经费有限。” 陈青山盯着图纸,脑子里开始转。这就像游戏里组队打地煞星——资源(推力、重量、经费)有限,目标(成功飞行)明确,需要在约束条件下找最优解。 “也许,”他慢慢说,“我们不需要在推力或重量这一个变量上死磕。可以优化整体配置。” “怎么优化?” “推重比是起飞时的瞬时值,”陈青山在草稿纸上画示意图,“发动机点火后,燃料燃烧,重量在不断减轻。如果我们在计算时考虑这个变化,用平均重量而不是初始重量,实际的推重比会更高。” “变质量系统?”沈思眼睛一亮,“对啊,火箭飞行中质量是随时间减少的。我们可以建个简单的模型。” 她快速列式。设初始质量m0,燃料质量mf,燃烧时间t,燃料线性消耗,则质量m(t)=m0 - (mf/t)*t。推力F假设恒定,则加速度a(t)=F/m(t) - g。 陈青山接着说:“就像打地煞星,我们不是只看第一回合的伤害,要看整个战斗过程中输出的总伤害。火箭也是,要看整个燃烧过程中的平均性能,而不是只看起飞瞬间。” 这个类比让所有人都听懂了。 接下来的两个小时,四人分工协作。沈思负责总体设计,陈青山计算气动和轨迹,张伟搞发动机和结构,林涛弄分离电路。不时有争论,但都在草稿纸和计算器面前迅速达成一致。 窗外的天色渐暗。活动结束时,陈青山看着桌上成堆的草稿纸、初步成型的图纸、还有那些写满公式的笔记,心里有种奇特的充实感。这不是虚拟的游戏,而是真实的工程问题。但思考的方式,竟如此相似——都是观察现象、建立模型、计算优化、做出决策。 晚上,陈青山去了银河网吧。补考过了,火箭设计也有了眉目,他想放松一下。 登录游戏,“逆流沙”出现在长安城。信箱在闪,是霸刀无情的消息:“晚上八点,地煞星刷新,老地方,合作?” 陈青山回复:“好。” 距离八点还有半小时。他操控角色在大唐境外闲逛,顺手打几个野怪练级。这几天忙着复习,游戏里才19级,技能“失心狂乱”升到了3级,命中率应该有提升,但具体多少,还得实战检验。 七点五十,队伍集合。还是老配置:陈青山(方寸)、赵峰(方寸)、沈思(普陀)、霸刀无情(仙族)、冷月(仙族)。 “今晚刷的地煞星等级可能高点,”霸刀无情在队伍频道说,“昨天我们打完一级的,今天应该能打二级的。难度会提升,地煞星数量可能变多。” 陈青山问:“二级地煞星会有几个?” “看资料站说,二级是四到五个。而且用药更频繁,可能还会有些特殊技能。” “那战术要调整,”陈青山思考,“如果地煞星数量增加,我们的控制要更精准。不能只控制一两个,要尽量覆盖多个目标,打断它们互相加血的节奏。” “但混乱命中率不高,覆盖不过来。”赵峰说。 “那就优先级控制,”陈青山说,“观察哪几个地煞星加血最频繁,优先控制它们。就像打火箭设计,要找到最关键的影响因素,优先解决。” 八点整,地煞星刷新——这次在大唐境外更深处。 点击进入战斗。画面展开,果然是五个地煞星:地威星、地煞星、地杰星、地雄星、地猛星。 战斗开始,25秒倒计时。 “按新战术,”霸刀无情指挥,“先观察一回合,看哪个地煞星加血最积极。方寸这回合防御,仙族群法试探。” 第一回合,五个地煞星中有三个使用了攻击,两个用了药品——地杰星给地威星加血,地雄星给地猛星加血。 “地杰星和地雄星是治疗点,”陈青山迅速判断,“下一回合,我混乱地杰星,诗人混乱地雄星。仙族集火地威星,它是主攻手。” 指令执行。第二回合,陈青山的混乱成功,地杰星被罚站。赵峰的混乱失败。但两个仙族的输出集中在地威星身上,打掉了它近三分之一血。 地雄星成功给地猛星加了血。但少了一个治疗点,压力已经减轻。 战斗在紧张中进行。五个地煞星的配合比三个更紧密,治疗链更难打断。有两次,陈青山和赵峰的混乱同时失败,地煞星们一口气把三个残血队友几乎加满,场面一度危险。 但队伍顶住了压力。沈思的治疗时机把握得很准,总在关键时刻抬起血量。霸刀无情和冷月的输出稳定。陈青山的控制虽然只有30%左右的成功率,但总能卡在关键回合生效。 第十八回合,第一个地煞星倒地。少了一个,治疗链出现缺口。接下来的战斗顺利许多。 第二十五回合,战斗结束。 【战斗胜利!】 这次出了件好东西——40级的“地煞披风”,属性不错。按需分配,给了霸刀无情。其他药品金钱平分。 退出战斗后,霸刀无情说:“今天配合更默契了。你们方寸的控制时机选得好。” “观察出来的,”陈青山回复,“地煞星加血有节奏,大概每两到三回合用一次药。如果在它刚用完药的下回合控制它,等它解除混乱时,想用药的时机已经过了,节奏就乱了。” “你打架还研究这个?” “习惯了。” 从网吧出来,已经晚上十点多。深秋的夜风很凉,陈青山裹了裹外套。 沈思和他并肩走着,忽然说:“我发现,你打游戏和搞设计,用的是同一种思维。” “什么思维?” “寻找节奏,然后打破节奏。”沈思说,“地煞星加血有节奏,火箭燃料消耗有节奏。你都是在观察节奏,找到关键点,然后施加影响——用混乱打断加血,用结构设计优化推重比。” 陈青山想了想,点头:“好像是。可能因为……事情都有它本来的运行方式。想要改变结果,就要改变运行方式中的某个关键环节。” “这就是工程思维。”沈思说,“我爸爸说,航天器设计就是不断寻找系统运行中的瓶颈,然后优化它。有时候是材料,有时候是结构,有时候是控制算法。” “游戏里也是,”陈青山说,“有时候是装备,有时候是技能,有时候是配合。” 两人走到女生宿舍楼下。沈思停下脚步,抬头看了看天。今晚天气很好,能看见星星。 “你知道火箭最难的部分是什么吗?”她忽然问。 “是什么?” “不是飞多高,而是知道自己在哪里,要去哪里,以及怎么去。”沈思说,“这需要计算。很多很多的计算。从发射窗口,到轨道参数,到中途修正……每一步都要算。” 陈青山也抬头看天。那些星星看起来很近,但实际上很远。要把东西送到那里,需要无比精确的计算。 “就像打地煞星,”他说,“要知道怪物下一步要做什么,要知道我们该做什么,还要知道如果出意外该怎么应对。这也需要计算。” 沈思笑了:“所以,你已经在练习了。用你的方式。” 她转身上楼。陈青山在楼下站了一会儿,看着星空,又看看手里的书包——里面装着火箭设计草图、高数笔记本、还有网吧会员卡。 三个世界:游戏的、学习的、航天的。今晚,他感觉它们之间的墙壁,又薄了一些。 回到宿舍,王浩他们已经睡了。陈青山轻手轻脚地洗漱,躺到床上。 他想起明天要做的事:去图书馆查气动资料,去实验室讨论火箭结构,晚上可能还要和霸刀队伍打更高级的地煞星。 每一件事都需要计算、规划、优化。 每一件事,都在训练同一种思维。 他闭上眼睛。在入睡前的恍惚中,他仿佛看见三个画面在眼前重叠:游戏里地煞星倒下的特效,草稿纸上火箭的轨迹曲线,还有星空下缓缓升起的银色箭体。 它们沿着同一条轨迹飞驰。 那条轨迹的名字,或许就叫“成长”。 (第四章完) 第五章 试车台的火光与地煞星的残影 火箭发动机的静态试车,定在周一下午三点。 陈青山提前半小时到了工程训练中心。他没有直接去地下实验室,而是先在一楼大厅的宣传栏前停下脚步——那里贴着星海航天创新社的详细介绍。其中一行字被他反复看了几遍: “本社面向全校各年级开放,但核心项目组(火箭、卫星、探空)因涉及专业知识和安全规范,原则上要求大二及以上同学参加,或有指导教师特别推荐。” 他是大一新生,也没有老师推荐。上周六能参加公开的火箭模型讲座,是因为那是开放活动。但今天的静态试车,显然是核心项目了。 “在想什么?”沈思的声音从身后传来。 陈青山转身,看到她背着书包,手里拿着安全头盔。“规定上说,”他指了指宣传栏,“大二以上才能参加核心项目。” 沈思顺着他指的方向看了看,笑了:“你看下面那行小字。” 陈青山凑近。在那段规定下面,还有一行几乎看不清的注释:“对航天有浓厚兴趣、表现突出的大一同学,经项目组长考核后,可破例吸纳。” “社长刘宇,”沈思说,“就是我上次说的那个黑框眼镜,他看了你上次活动的计算草稿。还有,我告诉他你高数补考最后那道题的解法。他说,有兴趣见见你。” 陈青山愣住:“所以今天……” “算是‘考核’的一部分。”沈思眨眨眼,“不过别紧张,就是正常参加。能跟上,能贡献想法,就行。跟不上……那可能就真的只能等大二了。” 陈青山深吸一口气,点了点头。这不像是考试,更像游戏里申请加入高级队伍——队长要看你的操作、意识、配合,合格了才能固定组队。 两人来到地下实验室。这里比他想象的大——一个篮球场大小的空间,水泥地面,墙壁刷着灰漆。中央是一个用槽钢焊接的试车台,上面固定着那枚微型固体发动机,只有可乐罐大小。张伟和林涛已经在调试设备,社长刘宇正弯腰检查数据线。 “社长,陈青山来了。”沈思说。 刘宇直起身,推了推黑框眼镜,打量了陈青山几秒:“沈思说你计算能力不错,对航天也有热情。不过话说前头,火箭不是纸上算数,是真东西。有风险,要负责,能行吗?” “能。”陈青山说。 “行,戴上头盔。”刘宇递过来一个安全头盔,“今天你就跟着看,帮着记录数据。有问题可以问,有想法也可以说。但一切行动听指挥,安全第一。” “明白。” 陈青山接过头盔戴上。尺寸有点大,他调整着带子,目光落在那个小小的发动机上。军绿色的涂层,尾部是喷管,周围连着各种传感器导线。这就是他们计算、争论、画了无数草图后得到的核心——看起来其貌不扬,但里面装着的固体燃料,会在几秒内爆发出推动火箭的力量。 “测试流程是这样的,”刘宇开始讲解,但这次明显是说给陈青山听的,“发动机点火后,推力传感器会实时记录推力-时间曲线。我们需要的数据有:最大推力、平均推力、总冲、比冲。这些参数决定了火箭能不能飞起来,能飞多高。” 他顿了顿,看向陈青山:“你高数刚补考完,应该知道导数和积分。推力曲线的积分就是总冲——推力对时间的累积效果。平均推力就是总冲除以时间。这些概念,清楚吧?” “清楚。”陈青山点头。这就像游戏里计算伤害——单次攻击伤害类似瞬时推力,一场战斗的总伤害类似总冲,秒伤类似平均推力。 “好。那我们开始准备。” 三点整。所有人员退到防爆玻璃后的观察室。控制台前只剩下刘宇和林涛。陈青山和其他人站在玻璃后,手里拿着笔记本和笔——刘宇让他记录关键时间点的观察现象。 “第一次静态试车,发动机编号SJ-001,准备。”刘宇的声音通过对讲机传来。 “电路检查完毕,正常。” “数据采集系统就绪。” “安全员就位。” “倒计时,10,9,8……” 陈青山屏住呼吸,笔尖悬在纸面上。透过茶色的防爆玻璃,他能看见试车台上那个小小的发动机,像一颗沉默的金属果实。 “……3,2,1,点火!” 林涛按下红色按钮。 炽白的火焰猛然喷出,笔直刺向钢制挡板。尖锐的嘶鸣声穿透玻璃,在观察室里回荡。试车台在颤抖,固定螺栓发出令人牙酸的嘎吱声。数据屏幕上的曲线剧烈跳动。 陈青山的眼睛在火焰和屏幕间快速切换。他看见火焰的颜色从白色微微偏黄,看见尾焰边缘有细微的抖动。他低头在笔记本上快速记录: “0.5秒,火焰稳定,声音平稳。” “1.2秒,火焰亮度略有波动。” “2.0秒,尾焰抖动明显。” “2.8秒——” 就在这一刻,火焰突然暗了一下,几乎是同时,他听见声音也变了调,从尖锐的嘶鸣变成短暂的、类似咳嗽的爆破声。 “2.8秒,火焰闪烁,声音异常。”他写下。 3秒。火焰熄灭。白烟升起,刺鼻的气味被通风系统抽走。世界突然安静。 “试车结束,”刘宇的声音响起,“初步判断,发动机工作正常,无结构损坏。现在读取数据。” 一行人走出观察室。水泥地面上有新鲜的烧灼痕迹,钢挡板中心被熏出一块黑斑。发动机表面还散发着高温的热浪。 数据采集仪打印出曲线图。陈青山凑过去,看到那条推力-时间曲线大致是个平台状,但在2.8秒处,有一个明显的凹陷——推力从12.5牛跌到10牛左右,持续约0.1秒,又回弹,然后正常熄灭。 和他观察到的火焰闪烁时间完全吻合。 “这里有个异常,”刘宇指着那个凹陷,然后看向陈青山,“你刚才记录了什么?” 陈青山把笔记本递过去:“2.8秒,火焰闪烁,声音异常。” 刘宇看看记录,又看看曲线,点点头:“观察力不错。张伟,分析一下这个凹陷。” 张伟盯着曲线:“可能是燃料局部不均匀,或者喷管喉部有微小杂质,导致短暂燃烧不稳定。但时间很短,影响应该不大。” “如果是飞行中发生呢?”沈思问。 “可能引起箭体振动。但如果振动频率远离箭体固有频率,问题不大。” “需要知道箭体固有频率。”林涛说。 “这就要算结构动力学了,”刘宇说,“涉及材料力学、振动理论——这些都是大二下甚至大三的课。你们大一还没学吧?” 最后这句话是看着陈青山说的。陈青山老实摇头:“没学。” “但我们可以估算,”沈思接过话,“用简化的梁模型。我爸爸的笔记里有基础公式。” “那就估算,”刘宇说,“但我们现在只剩一个备用发动机。如果试出来这个问题是普遍的,我们是冒着振动风险发射,还是调整设计?” 短暂的沉默。 陈青山盯着那条曲线上的凹陷。它像一个心跳的漏拍,短暂但危险。他想起了打地煞星时,怪物在固定回合会放关键技能——如果你不知道,不防备,可能就灭队。如果你知道,就可以提前应对。 “社长,”他开口,“能不能再做一次试车?如果这个凹陷每次都出现在2.8秒左右,那就是规律性问题。我们可以针对性地调整——比如改变分离时间,避开这个点。” 刘宇看着他:“说说你的思路。” “就像打游戏,”陈青山说,然后意识到这个比喻可能不太合适,但刘宇示意他继续,“游戏里,怪物放技能有固定节奏。如果你知道它什么时候放,就可以提前控制它,或者在那之前爆发输出。这个推力凹陷,如果是有规律的‘技能’,我们可以在它发生前就让一级分离,启动二级。虽然二级可能要在不稳定环境下点火,但总比在振动中分离好。” 刘宇听完,沉默了几秒,然后笑了:“你这个类比……还挺形象。行,准备第二次试车。但这次我们要加测振动。陈青山,你继续记录火焰和声音现象。” 第二次试车,三点四十。 火焰再次喷涌。陈青山的眼睛紧紧盯着发动机尾部,耳朵捕捉着每一个声音细节。笔记本摊在腿上,笔尖随时准备落下。 2.7秒——火焰开始不稳定。 2.8秒——明显的闪烁,声音再次“咳嗽”。 “2.8秒,现象重复。”他写下。 数据曲线打印出来。在2.8秒处,又一个几乎一模一样的凹陷,这次跌得更深,到9.8牛。 “确定是规律性问题,”刘宇说,“现在要决策:是接受这个振动风险,还是调整分离时间?” “需要计算两种方案的风险,”沈思说,“接受振动,可能引起箭体过度振动甚至共振。调整分离,可能引起两级推力叠加,过载超标。” “而且调整分离时间,意味着要改控制程序,”林涛说,“延时电路要重做。” 陈青山看着那两张几乎一样的曲线图。2.8秒的凹陷,像一道刻在时间轴上的伤疤。他想起了高数里学的极值问题——要在约束条件下找最优解。现在约束条件是:发动机有缺陷,推力会在2.8秒波动。优化目标是:让火箭安全飞行。 “如果我们必须在这两个坏选择里选一个,”他说,“那就选风险可预估、可控制的那个。” 所有人都看向他。 “接受振动,我们不知道振动会有多大,会不会引起共振。这是未知风险。调整分离时间,两级推力叠加,过载会增加,但我们可以计算增加多少。如果过载在箭体承受范围内,那这个风险是已知的、可计算的。” “说得好,”刘宇点头,“工程里,已知风险好过未知风险。林涛,算一下如果提前0.2秒分离,最大过载会到多少。” 林涛开始敲计算器。陈青山凑过去看。一级推力12.8牛,二级标称推力8牛(二级发动机较小),如果叠加,最大可能20.8牛。箭体总重按0.8公斤算,过载就是20.8/(0.8*9.8)≈2.65个g。 “箭体材料能承受吗?”刘宇问张伟。 “碳纤维管,理论上能承受10个g以上。但胶粘接头和分离机构是薄弱点。2.65个g……应该没问题,但最好做地面验证。” “没时间了,”刘宇看了看表,“后天总装。这样,我们折中:分离时间不改,还是3.0秒。但在2.8秒时,我们让一级发动机关机指令提前触发——虽然燃料还会烧一会儿,但推力会开始下降。这样既避免了推力凹陷时的振动,又不会有两级严重叠加。” “这需要精确控制时序,”林涛说,“我改电路。” “就这么定。”刘宇拍板。 接下来的半小时,林涛在改电路,张伟检查箭体结构,沈思重新计算弹道。陈青山被刘宇叫到一边。 “今天表现不错,”刘宇说,“观察细,思路清,敢提想法。虽然专业知识还缺,但思维对路。以后社里的活动,你可以正式参加了。” 陈青山愣了一下:“我通过‘考核’了?” “嗯。不过记住,你现在还是‘学徒’。多看,多学,多问。安全规范要背熟,操作要一步步来。航天这行,急不得。” “明白。谢谢社长。” 刘宇拍拍他肩膀,转身去忙了。陈青山站在原地,看着实验室里忙碌的众人——改电路的林涛,查资料的沈思,检查结构的张伟。空气里有焊锡的味道,有纸张摩擦的声音,有低声讨论的技术术语。 他深吸一口气,握紧了手里的笔记本。纸上还记录着火焰闪烁的时间:2.8秒。 一个他观察到的现象,引发了一系列计算、讨论、决策。最终,它改变了火箭的设计。 从观察到改变。 这个过程,让他着迷。 晚上,陈青山去了网吧。登录游戏,信箱里有霸刀无情的消息:“今晚八点半,三级地煞星,来不来?难度会高很多,可能要灭队。” 陈青山回复:“来。灭队就当积累经验。” 八点二十五,队伍集合。战斗开始。六个地煞星,新的技能“舍生取义”,治疗压力巨大。战斗到第八回合,陷入僵局。 “输出不够,”霸刀无情说,“治疗量太大。” 陈青山盯着屏幕。六个地煞星,两个治疗点,四个输出点。他们的队伍,两个控制,两个输出,一个治疗。控制有概率,不可能每回合都成功。 这就像白天的火箭问题——面对有缺陷的发动机,是在振动风险和大过载风险之间做选择。 “换目标,”他在队伍频道打字,“不打那个血厚的了,打会‘舍生’的那个。它每次舍生自己掉血。我们把它打残,它再用舍生,可能自己就死了。” 战术改变。集火目标切换。第九回合,目标血量降到40%。第十回合,它用了舍生——自己掉到10%。第十一回合,倒地。 突破口打开。战斗继续。 第二十八回合,胜利。惨胜,但赢了。 退出战斗,站在普陀山的海边。游戏里是夜晚,海面上有月光。 霸刀无情发来消息:“今天这场值了。三级地煞星,很多队伍不敢碰。” 陈青山回复:“但问题也暴露了。治疗压力大时,输出不够。可能需要调整配置。” “慢慢来。游戏嘛,积累过程。” 队伍解散。沈思的私聊消息弹出来:“今天火箭的事,谢了。你的观察很关键。” 陈青山:“应该的。对了,社长说我通过‘考核’了。” 那边发来一个笑脸表情:“恭喜。以后可以正式一起搞火箭了。” “嗯。明天图书馆,查振动资料?” “好。上午九点。” “晚安。” “晚安。” 陈青山退出游戏,走出网吧。夜风很凉,他抬头看天——今晚多云,星星很少。但他脑子里有清晰的图景:试车台的火焰,游戏里地煞星的血条,还有笔记本上那句“2.8秒,火焰闪烁”。 三个世界,用同一种语言说话。 那语言的名字,或许叫“观察与思考”。 他笑了笑,走回宿舍。脚步很轻,但很稳。 (第五章完) 第六章 图书馆的琴弦与帮派的选择 图书馆顶层的天文书库很少有人来。周六上午九点,陈青山找到这里时,沈思已经在最靠窗的长桌前铺开了图纸和资料。阳光从高窗斜射 进来,在橡木桌面上投出明亮的光斑,灰尘在光柱中缓缓旋转。 “这里安静,”沈思抬头说,手里拿着一本厚厚的英文书,“而且有我们需要的资料。” 陈青山在她对面坐下。桌上摊开的不仅有那本英文教材,还有沈思父亲的手写笔记复印件——纸张泛黄,字迹刚劲,有些地方还画着精巧的示意图。 “你爸爸的笔记……能随便看吗?”陈青山问。 “他寄给我的,”沈思说,手指轻轻拂过那些字迹,“说如果我真的要走这条路,就看看他当年怎么学的。不过警告我了——‘航天不是浪漫,是成千上万次计算和试验堆出来的’。” 陈青山翻开那本英文教材。满页的公式、矩阵、微分方程,很多符号他没见过。但他看到了熟悉的字眼:振动、频率、刚度、质量。 “我们遇到的问题,”沈思用铅笔点了点火箭的示意图,“是发动机推力在2.8秒出现波动,可能激发箭体振动。要判断风险多大,需要知道箭体本身容易以什么频率振动。” 她在纸上画了个简图:一根细长的杆,代表火箭箭体。一端固定,另一端自由。 “这就像一根琴弦,”她比喻道,“拨动它,它会以某个固定的频率振动。我们要知道这个频率是多少。如果推力波动的频率和箭体本身的振动频率很接近,就会共振——就像在荡秋千时,如果每次推的时机正好卡在秋千到最高点时,秋千会越荡越高。火箭可经不起这么荡。” 陈青山点头。这个比喻他懂了。游戏里也有类似机制——如果怪物攻击的节奏正好卡在你技能的冷却间隙,你就会一直被压制。 “那怎么知道箭体的‘固有频率’?”他问。 “需要计算,”沈思说,“要知道箭体的长度、材料、重量分布。我们的箭体,一级长40厘米,直径5厘米,壁厚1毫米,碳纤维材料。但这些只是理想参数,实际材料性能会有偏差,而且箭体上有发动机、电子设备这些‘重物’,就像在琴弦上按了手指,音高会变。” 她在父亲笔记里找到一页,上面有手写的公式和示意图:“我们可以用近似方法估算。虽然不精确,但能知道大概范围。” 接下来的一个小时,两人沉浸在计算中。沈思负责查资料、代公式,陈青山帮忙按计算器、记录中间结果。过程繁琐,但每一步都清晰。陈青山发现,虽然很多专业术语他第一次见,但一旦理解了物理意义——比如“刚度”就是材料抵抗变形的能力,“密度”就是单位体积的重量——计算背后的逻辑就能跟得上。 最重要的是,他发现这和他打游戏时做战术分析很像:先理解每个技能的作用(材料的属性),再考虑队伍配置(箭体结构),最后预测战斗结果(振动风险)。只不过这里用的不是游戏数值,而是物理参数。 “算出来了,”沈思最后说,在纸上圈出一个数字范围,“考虑最坏情况,箭体的最低振动频率大约在50到70赫兹。而推力波动的频率,从曲线上看大概5赫兹。相差十倍以上,不太可能共振。” “那应该安全了。”陈青山说。 “但这是估算,”沈思提醒,“实际可能有意外。比如连接处不够牢固,或者材料有瑕疵。所以最好实测,但那需要更贵的设备。” “先把这个结论报给社长吧。”陈青山说。 “嗯。” 收拾东西时,沈思忽然说:“你今天跟得很快。这些内容,正常要大二下才学。” “你教得好,”陈青山说,“而且……有点像在游戏里学新战术。一开始看技能说明很懵,但实战几次,就知道什么时候该用什么了。” 沈思笑了:“那你现在‘实战’过了。下周火箭总装,你负责的部分,社长应该会多分一些。” “好。” 走出图书馆时,陈青山回头看那栋流线型的建筑。三个月前,他第一次走进这里,面对高数课本一片茫然。现在,他已经能在这里查专业资料,解决实际问题了。 有些墙,不是一下子被推倒的,而是一块砖一块砖被拿掉的。 下午,银河网吧。 陈青山登录游戏时,信箱里有三封新邮件。一封是系统发的双倍经验提醒,一封是霸刀无情约晚上地煞星的,第三封让他愣住了—— “【系统】您收到帮派‘龙腾四海’的入帮邀请。邀请人:龙腾九天。请于24小时内回复。” 龙腾四海,这是服务器里排名前三的大帮派。陈青山记得,王浩提过几次想加,但人家要求最低40级,他们队伍平均等级才二十多,不够格。 怎么会邀请他?他才22级。 他点了“拒绝”,然后给霸刀无情发消息:“龙腾四海邀请我入帮,你知道怎么回事吗?” 霸刀无情很快回复:“我推荐的。昨晚打完地煞星,我跟他们帮主提了你,说你们队控制配合好。他们正好缺会打地煞星的固定队,就问了你等级。我说22,他们说可以先加进来培养。” “但你们不也在打地煞星吗?为什么不加你们?” 那边沉默了一会儿:“我们队平均等级35,可以自己打。你们等级低,进大帮派有资源——有资深的玩家带,有帮派任务奖励,还有机会参加帮战赚帮贡。对你们发展好。” 陈青山明白了。这是霸刀无情在关照他们。但他犹豫了——进大帮派意味着更多的责任、更多的活动、更固定的在线时间。而他还要学习,还要搞火箭。 “我得和队友商量。”他回复。 “应该的。不过建议你考虑。这游戏,单打独斗很难走远。帮派不只是个名字,是资源,是人脉,是学习的机会。就像你们搞火箭,一个人能搞吗?” 这个类比让陈青山心里一动。确实,火箭不是一个人能搞定的。游戏的高级内容,也不是一个人能玩的。 他组了队伍。王浩、赵峰、李想、沈思都在线。 “龙腾四海邀请我入帮,”他在队伍频道说,“霸刀推荐的。如果我们都进,应该可以。你们什么想法?” 王浩第一个激动:“进啊!必须进!那是大帮派,有帮派技能加成,有资材点修炼,还能参加帮战!赢了有奖励!” 赵峰冷静些:“但我们等级低,进去可能被边缘化,或者要求我们做很多低级任务凑帮贡。时间成本高。” 李想:“而且大帮派规矩多,要按时参加活动,缺席要扣贡献。我们学习忙,不一定顾得上。” 沈思没说话。 陈青山想了想,说:“我列一下利弊。” 他在草稿纸上快速写: 利: 资源:帮派技能(修炼、生活技能加成) 人脉:结识高级玩家,学习经验 活动:帮战、帮派任务奖励 发展:后续高级副本、地煞星组队更方便 弊: 时间:固定活动占用时间 压力:可能被要求快速升级、提升装备 自由:要守帮规,不能随便退 匹配:我们等级低,可能跟不上主力节奏 “关键问题是,”他总结,“我们有没有足够的时间和精力,在学习和火箭之外,再承担一个帮派的承诺?” “承诺,”赵峰重复这个词,“说得好。这就像加入一个项目组,你要贡献,才能分享成果。但贡献需要时间。” “我们可以先试试,”王浩说,“不行再退。反正游戏嘛,又不是卖身契。” “但进大帮派有冷却期,”李想提醒,“退出后一周内不能加新帮派。而且如果表现不好被踢,名声就坏了,其他帮派可能也不收。” 沈思终于开口:“我查了一下龙腾四海的帮派介绍。他们有几个特点:一,有专门的地煞星固定队编制,培养新人;二,帮战采取轮换制,不是所有人都必须上;三,对新人有三个月保护期,不强制要求贡献度,但三个月后考核,不合格的劝退。” “听起来还算合理。”陈青山说。 “但他们要求每周至少在线20小时,”沈思补充,“这是大帮派的标准——周一到周五每天1-2小时,周末因为下午有活动,每天4-6小时,加起来刚好20小时左右。我们现在差不多就是这个在线时间,但有时候忙起来,可能保证不了。” 陈青山计算。他目前游戏时间分布确实如此:平时晚上玩一会儿,周末下午有活动就多玩。但如果加入帮派,必须更规律地在线——周末下午的帮战、晚上的地煞星活动都不能缺席。这会影响学习吗?他想到高数,想到火箭,想到图书馆那些还没看完的资料。 “我有个想法,”他说,“我们可以设定一个试验期。比如一个月,这一个月里,我们尽量达到帮派的最低要求。同时记录时间投入和收益。一个月后评估,如果收益大于成本,就继续;如果觉得太累,或者影响正事,就退出。” “但退出有冷却期……”李想说。 “那就认了,”陈青山说,“就像做实验,有些试错成本必须付。但如果不试,我们永远不知道加入大帮派到底是好是坏。” 赵峰推了推眼镜:“我同意。一个月试验期,我们可以用项目管理的方法——设定目标,记录数据,定期复盘。就像我们搞火箭设计一样。” “好,那就这么定了。”陈青山拍板。 他给霸刀无情发消息:“我们队决定接受邀请,但需要和帮派管理沟通一下——我们希望有一个月的适应期,这期间我们会尽力达到要求,但如果有学业冲突,希望能理解。一个月后双方再评估是否适合。” 几分钟后,霸刀无情回复:“帮主同意了。他说欣赏你们这种认真的态度。欢迎加入龙腾四海。” 系统提示弹出: “【系统】您已加入帮派‘龙腾四海’。当前职位:帮众。保护期:90天。请阅读帮派规章,按时参加帮派活动。” 紧接着,帮派频道刷出欢迎信息: “欢迎新同学【逆流沙】加入本帮!” “欢迎【一剑霜寒】!” “欢迎【风铃儿】、【代码诗人】、【月下独酌】!” 然后是一连串的“欢迎新同学”“新人爆照”“求带”之类的玩笑。陈青山看着屏幕上滚动的文字,那些陌生的ID,有些恍惚。就在几个月前,他还是个第一次进网吧的菜鸟。现在,他加入了一个几百人的虚拟组织,有了队友,有了师父(霸刀无情),甚至有了“帮派”。 这个世界,正在他面前慢慢展开。 晚上七点,帮派有新人培训。讲师是个叫“老白”的玩家,65级男人族方寸山,是帮派地煞星队伍的指挥之一。培训在帮派频道以文字形式进行。 老白:“新人好。我是老白,负责带地煞星队伍。今天主要讲地煞星的基础战术,特别是职业配合和召唤兽运用。先简单说下职业:男人族就三个技能路线——混乱、封印、昏睡,女人族是封印、昏睡、毒法。男魔族是加速、震慑(抽血)、加攻,女魔族是加防、加攻、震慑。仙族就是雷、火、水、风四系仙法秒对方。这个游戏没有治疗职业,回血全靠药品和召唤兽技能。所以地煞星战斗中,药品管理和召唤兽运用是关键。” “地煞星没有召唤小怪的能力,也不会用‘舍生’这种技能。它们就是互相用药加血,攻击力高,血厚。一级三个星,二级四个,三级五个,以此类推。数量越多,治疗链越复杂,打起来越久。” “低等级队伍打地煞星,关键是节奏控制和召唤兽配合。你们的输出不够,不能硬拼。要利用控制技能打断治疗节奏,在治疗间隙集火击杀。” “最重要的是召唤兽。召唤兽携带需要完成相应的主线称谓任务。你们现在20多级,能带的召唤兽里,最适合的是大象——血厚,适合当血宠保护队友。大象攻击力不高,但血量成长好,全血加点能站得住。雷鸟是物理攻宠,需要完成第7称谓才能带,你们现在还带不了。” “大话西游2的血量设置比较大,一只全血加点的22级大象,血量应该在1500-2000之间,比你们人物角色血多。召唤兽加点就两种主流:血宠全血,攻宠全力。现在这个版本还没有召唤兽技能书和内丹系统,所以主要看召唤兽的成长和加点。亲密高了能提升召唤兽保护主人的几率,还能提高连击、必杀等天生技能的触发率。” “具体战术:第一回合,大象保护血量最低的队友,人族控制标记的治疗星,仙族集火。如果人族控制失败,召唤兽补位攻击或者继续保护。所有人都要带足金疮药和法力药,及时吃,别等残血。” “另外,地煞星有隐藏机制——当某个星血量低于30%时,其他星的治疗优先级会提高,会疯狂用药加它。所以要么一波打死,要么别打到30%以下。打到30%又打不死,药一加,前功尽弃。” 陈青山快速记录。他看了看自己的召唤兽——一只完成畜牧任务抓的大象,他给加了全血,现在22级有1800多血,确实比他自己400多的血量厚实多了。大象没有技能,只有天生的一些属性,亲密300多,还需要多带着战斗提升。 培训持续了一小时。结束后,老白私聊陈青山:“听说你们队有两个人族控制,配合不错。下周六帮派组织地煞星冲级活动,你们来吗?我带队,打四级的。” 陈青山心里一跳。四级地煞星,那是50级以上队伍才敢碰的。 “我们等级太低,才20多级。”他回复。 “等级压制是问题,但不是绝对的,”老白说,“地煞星看配合。你们控制节奏好,输出我们来。你们就负责控制指定的星,注意召唤兽保护和吃药时机,体验一下高级地煞星的节奏。这对你们以后有好处。” “我们需要和队友商量,还要练练召唤兽。” “召唤兽我教你们。周六下午我先带你们练宝宝,教你们怎么加点、练亲密。血宠全血,攻宠全力。现在版本没有技能书,所以主要看召唤兽的属性和你们操作的配合。” “我需要和队友商量。” “行,周五前给我答复。” 陈青山把这事在队伍里说了。王浩跃跃欲试,赵峰和李想有些犹豫,沈思则问了一个关键问题:“召唤兽培养要花时间和钱,值得吗?” “老白说,高级地煞星对召唤兽要求很高。如果召唤兽太弱,一回合就飞了,等于少一个人。但如果我们把召唤兽练起来,以后打什么都容易。”陈青山查了资料后说。 “那如果过了四级地煞星呢?奖励多少?” “经验奖励丰厚,还有几率出高级装备、技能书。但更重要的是经验——看过高手怎么打,比自己摸索强。” “就像去实验室看博士生做实验,”沈思说,“虽然自己操作不了,但看一遍流程,收获很大。” “对。” 最后决定:去。周六晚上八点。 陈青山回复老白。老白发来一个“OK”的表情,然后说:“周六下午我先带你们练配合,教你们几个高级技巧。比如‘控制链’——两个人族错开一回合控制同一个目标,让它永远动不了。还有‘召唤兽保护链’——让血厚的大象轮流保护脆皮队友,减少用药。” “这些技巧,对你们以后打高级副本也有用。游戏和现实一样,基本功练好了,学高级技巧才快。” 陈青山看着这句话,忽然想起下午在图书馆,沈思用琴弦比喻解释振动时的情景。她先让他理解了基本概念,再引入复杂因素,最后估算结果。循序渐进,从形象到抽象。 学习的方法,是相通的。 无论学什么,都是先理解基本概念,再考虑复杂情况,最后解决问题。游戏技巧如此,数学如此,工程也如此。 退出游戏时,晚上九点半。陈青山走出网吧,秋夜的空气清冽。他抬头看天——今晚云散了,能看见星星。猎户座已经升起,三颗腰带星排成一条直线,在深蓝的天幕上清晰可见。 他想起了沈思父亲笔记里的一句话,写在某页的页脚,字很小: “航天的路,是抬头看星星,低头算数字。看星星给你方向,算数字让你抵达。” 他现在就在低头算数字。算振动频率,算推重比,算伤害输出,算召唤兽加点。算得越多,那些星星似乎就越近。 回到宿舍,王浩他们还在讨论帮派的事。陈青山洗漱后躺到床上,没有立刻睡着。他脑子里在过今天的内容:图书馆的振动估算,帮派的新人培训,老白说的召唤兽技巧,还有猎户座的腰带星。 这些碎片在黑暗中慢慢拼合,形成一个模糊但坚定的轮廓。 他知道自己在走一条特别的路。游戏、学习、航天,三个世界在交汇。而他,是那个站在交汇点的人。 这条路不容易。要算很多数字,要做很多选择,要培养很多伙伴——无论是游戏里的大象,还是现实中的队友。 但他愿意。 因为每算对一个数字,每做出一个正确的选择,每培养出一个可靠的伙伴,他就离那些星星更近一步。 哪怕只是一毫米。 那也是向前。 (第六章完) 第七章 总装的难题与召唤兽的抉择 周六下午两点,工程训练中心的地下实验室里气氛凝重。 火箭总装遇到了一个没人预料到的问题——连接刚度不足。 陈青山蹲在装配台前,看着那截40厘米长的碳纤维箭体。一级箭体已经组装完毕,发动机舱、电子设备舱、级间分离机构都已就位。问题出在二级箭体与载荷舱的连接处。 “这里,”张伟指着连接法兰的缝隙,声音低沉,“按照设计,二级箭体通过这个法兰与载荷舱螺栓连接。但我们在做刚度测试时发现,连接处的实际刚度只有理论值的60%。” “为什么?”陈青山问。 “法兰加工精度不够,”林涛递过来一个游标卡尺,“你看,法兰面的平面度偏差0.2毫米。螺栓上紧后,接触面不是完全贴合,有微间隙。在振动环境下,这里会成为一个薄弱环节。” 沈思快速计算着影响:“如果连接刚度不足,整箭的弯曲振动频率会进一步降低。我们之前估算的最低50赫兹,可能降到30甚至20赫兹。而推力波动频率是5赫兹,虽然还是不共振,但频比从10倍降到4倍,风险增加了。” “而且,”张伟补充,“刚度不足的地方在飞行中会产生应力集中。如果振动加剧,这里可能首先破坏——二级箭体带着载荷直接飞出去,任务失败。” 陈青山盯着那个0.2毫米的缝隙。在游标卡尺的刻度上,这个数字很小,但在工程上,它意味着潜在的灾难。这就像游戏里,一个装备的属性差那么几点,平时看不出来,但打高难度BOSS时,就是生与死的区别。 “能修吗?”他问。 “重新加工法兰,至少三天,”张伟说,“来不及。下周就要验收了。” “用垫片填充缝隙呢?”林涛提出。 “可以试试,但要计算垫片的压缩刚度。如果垫片太软,没用;太硬,可能把法兰压坏。” 沈思在草稿纸上画示意图:“我们需要找到一种材料,刚度适中,能填充0.2毫米间隙,还要耐高温——发动机工作时,连接处温度可能到80度。” 陈青山脑子里快速过材料。橡胶太软,金属太硬,塑料……他突然想起什么:“PTFE(聚四氟乙烯)怎么样?我们实验室有0.2毫米厚的PTFE薄膜。它耐高温,刚度介于橡胶和金属之间,而且有弹性,能补偿加工误差。” “PTFE……”张伟思考,“它的压缩模量大约500MPa。0.2毫米厚的薄膜,在螺栓预紧力下的变形……我算算。” 五人又进入计算状态。这次问题更具体:已知法兰间隙0.2毫米,螺栓预紧力5000牛,PTFE薄膜厚度0.2毫米,压缩模量500MPa,计算实际接触压力和剩余间隙。 陈青山负责查材料手册。他找到PTFE的数据:压缩强度25MPa,使用温度-200到260度,摩擦系数0.04。这些数字在他眼里不再是枯燥的参数,而是解决问题的线索。 “算出来了,”沈思说,“在5000牛预紧力下,0.2毫米PTFE薄膜会被压缩约0.12毫米,剩下0.08毫米的有效填充厚度。如果原始间隙0.2毫米,那么填充后实际间隙0.12毫米。比原来好,但没完全消除。” “能不能加两层薄膜?”林涛问。 “那就太厚了,螺栓可能不够长。” “或者,”陈青山看着材料手册上的数据,“在PTFE薄膜两面涂一层薄薄的环氧树脂胶。胶层固化后能增加刚度,而且能更好地填充微观不平度。” “但胶需要时间固化,”张伟皱眉,“至少12小时。现在下午两点,就算马上涂,也要明天凌晨两点才能继续装配。明天还要做全箭振动测试,时间很紧。” “那就今晚加班。”沈思说。 “我留下。”陈青山立刻说。 刘宇从办公室过来了解情况。听完汇报后,他说:“方案可行,但要注意两点:一,胶层厚度控制在0.05毫米以内,太厚反而降低整体刚度;二,涂胶要均匀,不能有气泡。陈青山,你负责准备材料和工具。张伟、林涛,你们计算最终的理论刚度和安全裕度。沈思,你做工艺指导。” 分工明确。接下来的三个小时,实验室里只有仪器声、键盘声和偶尔的技术讨论。陈青山在沈思的指导下,用精密天平称量环氧树脂和固化剂,用细毛刷在PTFE薄膜两面涂胶。胶层必须薄而匀,这需要手的稳定和耐心。 涂到第二张薄膜时,沈思忽然说:“你手很稳。” “练出来的。”陈青山盯着薄膜表面,刷子轻轻移动,“游戏里操作召唤兽保护队友,时机要准,操作要稳。点快了没用,点慢了队友就倒了。” “所以游戏也在训练你?” “也许吧。”陈青山完成最后一张薄膜的涂胶,用镊子小心地夹起,放在干净的玻璃板上,“就像现在,我知道如果胶涂不好,火箭可能在空中解体。这和游戏里操作失误导致灭队,本质上是同一种紧张感。” “那你紧张吗?” “紧张。但紧张让我更专注。” 薄膜涂完,需要静置让胶初步固化。晚上七点,陈青山才想起晚上的帮派活动——老白要带他们练召唤兽配合,为明天的四级地煞星做准备。 “我得去网吧一趟,”他对沈思说,“游戏里有重要训练,和队友约好了。” “我跟你一起去,”沈思放下手里的计算器,“正好放松一下大脑。这边有张伟和林涛看着,胶要固化四小时才能进行下一步。” 两人匆匆吃了盒饭,赶往银河网吧。 晚上七点半,老白已经在帮派频道召集训练队伍。 “今晚练两小时,”老白在队伍频道打字,“重点是召唤兽保护和配合。你们四个,加上我,我们模拟地煞星战斗。我用小号当假想敌。” 老白开了一个65级的大号(男人族)和一个小号(50级仙族)。陈青山队伍四人加上老白的小号,组成模拟队伍。老白用大号控制三个“虚拟地煞星”——其实就是三个不动的小号,设定为每三回合自动用药一次。 “规则很简单,”老白说,“我的三个‘地煞星’每三回合会自动用金疮药,加血量随机在200-400之间。你们的任务是在20回合内,至少击倒一个。但有两个限制:一,你们的人物不能倒地;二,你们的召唤兽不能飞。” 战斗开始。第一回合,陈青山的大象保护了沈思的仙族——这是商量好的,仙族血量最脆。赵峰控制第一个“地煞星”,失败。老白的小号仙族秒过去,打掉目标300血。 第二回合,陈青山注意到一个问题。他的大象上回合保护了沈思,这回合还在保护状态,无法行动。而如果这时候有其他队友需要保护,就没办法了。 “保护机制有问题,”他在队伍频道打字,“大象一保护就是两回合不能动。如果多个队友需要保护,轮不过来。” “那就需要两只血宠,”老白说,“你们谁还有血宠?” 王浩有只大象,赵峰有只龟丞相。但龟丞相是35级才能带的,赵峰才25级,带不了。 “龟丞相要35级,”赵峰说,“我差10级。” “那今晚练级,”老白果断决定,“去大雁塔,我开大号带你们刷,双倍经验到十点。三个小时,运气好能升2-3级。赵峰到28级,离35还差7级,明天肯定到不了。但你们可以调整战术——用两只大象保护两个最脆的队友,剩下的那个,自己注意吃药。” “那输出不够,”李想说,“我们本来输出就不高,再少一个人攻击。” “所以要精确计算,”陈青山说,“看哪个队友最能抗,让他自己负责吃药,腾出一个血宠保护位。我们谁血量最高?” 沈思报数据:“我仙族,全灵加点,血380。陈青山人族,血420。王浩魔族,血500。赵峰人族,血400。李想仙族,血370。王浩最能抗,可以自己吃药。” “好,那就两只大象保护沈思和李想,王浩自己吃药。陈青山和赵峰注意控制,不要贪输出,控制优先。”老白布置战术。 接下来三个小时,老白用大号带他们在大雁塔五层刷怪。65级男人一个五混过去,怪物全被控制,小号们轻松收割经验。陈青山看着经验条飞涨,22级到23级,23级到24级……这种被高级玩家带的感觉,就像在实验室里被学长指导,能快速学到东西,但基础还是要自己打。 晚上十点,训练结束。赵峰升到28级,陈青山25级,其他三人也都24-25级。虽然离35级还远,但至少血量和法力都有提升。 “明天下午四点,准时集合,”老白说,“四级地煞星刷新时间不固定,我们要提前蹲点。记住今天的战术,两只大象保护两个仙族,魔族自己吃药。控制要稳,不要冒险。” 退出游戏时,陈青山看看时间——晚上十点半。他想起实验室的胶应该初步固化了。 “回实验室看看?”沈思问。 “嗯。” 两人回到工程训练中心。地下实验室的灯还亮着,张伟和林涛在整理数据。PTFE薄膜上的胶已经固化,形成一层透明的硬膜。 “测一下厚度,”张伟用千分尺测量,“0.18毫米,比预期厚了0.03毫米。不过问题不大,还在公差范围内。” “刚度测试怎么做?”陈青山问。 “用这个,”林涛搬出一个简易的刚度测试仪——其实就是个砝码加载装置,测量在不同压力下的变形量。 他们剪下一小条带胶的PTFE薄膜,放在测试台上。逐步加载砝码,记录变形。数据画成曲线后,沈思分析:“刚度比纯PTFE提高了约40%,但比金属低得多。应该能有效填充间隙,又不会太硬。” “那就用。”张伟拍板。 四人开始最后的装配。涂了胶的PTFE薄膜夹在法兰面之间,螺栓按规定扭矩上紧。陈青山负责用扭力扳手,每个螺栓都要拧到精确的25牛·米。这需要稳定的手法和均匀的力度——就像游戏里控制召唤兽保护队友,力度不够保护无效,力度太大可能浪费行动机会。 凌晨一点,装配完成。一级箭体和二级箭体通过改进的连接法兰牢牢结合在一起。张伟做了初步的刚度测试——用手推箭体,感受振动。虽然不精确,但至少没有明显的松动感。 “明天做正式的振动测试,”张伟说,“现在,都回去休息。明天下午有火箭验收测试,晚上你们还有游戏活动。养足精神。” 陈青山和沈思走出工程楼。凌晨的校园很安静,只有路灯在秋风中投下昏黄的光晕。 “你明天要忙一天,”沈思说,“上午火箭测试,下午验收,晚上游戏。撑得住吗?” “撑得住。”陈青山说。他确实累,但那种累里有种奇特的充实感——就像打完一场艰难的地煞星,虽然疲惫,但知道自己的操作和判断都在进步。 “我发现,”沈思忽然说,“你今天在解决连接刚度问题时,用的思路和调整游戏战术时很像。都是发现问题、分析原因、找替代方案、测试验证。” “是吗?”陈青山没意识到。 “嗯。连接刚度不足,就像游戏里控制链有缺口。你找PTFE薄膜和胶来填补,就像在游戏里调整召唤兽配置来补足保护链。都是在现有条件下找最优解。” 陈青山想了想,点头:“可能因为我只会这种思考方式。观察、分析、解决。无论是在实验室,还是在游戏里。” “这已经是很宝贵的能力了。”沈思轻声说。 两人走到女生宿舍楼下。沈思转身要进去,又停住:“明天加油。火箭,还有地煞星。” “你也是。” 陈青山看着她的背影消失在门后,然后独自走回宿舍。夜空清澈,能看见银河淡淡的痕迹。他想起那些星星离地球的距离,要用光年计算。而他现在做的——算火箭振动,算游戏伤害,算连接刚度——都是在用数学缩短距离。 从实验室的装配台,到游戏里的地煞星,再到头顶的星空,这些看似不相干的点,正在被他的思考和计算连接起来。 连成一条向上的轨迹。 (第七章完) 第八章 振动的余波与地煞星的晨光 周日上午九点,工程训练中心的地下实验室里聚了十几个人。除了星海社的成员,还有航空航天学院的两位老师——周教授和一位姓杨的副教授,被刘宇请来做验收评委。 全箭振动测试是验收的关键环节。箭体水平固定在简易振动台上,尾部安装着激振器——一个能产生不同频率正弦振动的电磁装置。加速度传感器贴在箭体关键位置:发动机舱、级间连接处、载荷舱前端。 “测试分三步,”刘宇向评委介绍,“第一步,正弦扫频测试,从5赫兹到200赫兹,寻找共振峰。第二步,在推力波动频率5赫兹处做定频测试,看振幅放大倍数。第三步,模拟飞行载荷谱测试,用昨天试车测得的推力曲线作为激励源。” 陈青山负责记录数据。他坐在数据采集仪前,眼睛盯着屏幕上跳动的曲线。手心里有汗,不是因为紧张,而是因为期待——就像游戏里蹲守地煞星刷新前的倒计时,你知道战斗即将开始,结果未知,但你已经做好了所有准备。 扫频测试开始。激振器发出低沉的嗡鸣声,频率从5赫兹开始缓慢上升。加速度曲线平稳爬升,在18赫兹处出现第一个小峰。 “一阶弯曲频率,18.3赫兹,”周教授看着屏幕说,“比你们估算的50-70赫兹低很多。” 陈青山心里一沉。差了近三倍。 沈思快速分析:“可能原因有三个:一是实际材料刚度比手册值低;二是连接处即使加了PTFE薄膜,刚度还是不足;三是我们的简化模型忽略了太多因素。” “但18赫兹仍然远高于5赫兹,”杨教授说,“频比3.66,不算共振区,但安全裕度小了。” 扫频继续。在52赫兹处出现第二个峰,在110赫兹处出现第三个峰。这是二阶和三阶振动模态。 “一阶18赫兹,二阶52,三阶110,”刘宇记录,“频率分布合理,没有密集模态,这是好事。” 接下来是5赫兹定频测试。激振器固定在5赫兹,振幅逐渐增大。加速度传感器显示,箭体在5赫兹下的振动响应被放大了约1.5倍——意味着如果推力波动正好是5赫兹,引起的振动会比静态推力大50%。 “1.5倍放大,”周教授点头,“可以接受。但要注意,这是实验室理想固定条件下的数据。实际飞行中,箭体是自由的,边界条件不同,响应可能更大。” 最后的模拟载荷谱测试是关键。林涛将昨天试车测得的推力-时间曲线输入控制系统,激振器开始模拟真实的推力波动——包括2.8秒那个凹陷。 陈青山屏住呼吸。屏幕上,箭体的振动响应曲线与推力曲线几乎同步变化。在2.8秒推力凹陷处,振动响应确实有一个小尖峰,但幅度不大。 “最大振动加速度0.8g,”张伟报出数据,“在箭体结构承受范围内。” 测试结束。两位教授低声讨论了几分钟,然后周教授宣布结果: “从振动测试看,设计基本合理,但有几个问题:一,一阶频率18.3赫兹偏低,安全裕度不足。二,连接处刚度需要进一步确认。三,没有考虑气动弹性影响——飞行中空气动力会改变振动特性。” “但我们只是微型火箭,速度低,气动影响应该不大。”刘宇说。 “应该不大不等于没有,”杨教授严肃地说,“工程思维要严谨。不过,作为本科生项目,你们已经做得很好了。验收通过,但建议在试飞前再做一次带整流罩的地面振动测试。” 掌声响起。陈青山看着那枚银灰色的火箭模型,心里有种奇特的感受——它不完美,有缺陷,但它是他们一点点算出来、做出来的。就像游戏里第一只自己培养的召唤兽,属性不是极品,但你知道它每一个成长点是怎么来的。 验收结束后,周教授特意走到陈青山面前:“刘宇跟我说了你的事。大一能跟上这种项目,不容易。你对振动问题怎么看?” 陈青山想了想:“就像琴弦,拨动的频率如果接近琴弦本身的音高,声音会变大。我们测出了琴弦的音高——18.3赫兹,知道了拨动的频率——5赫兹,两者不接近,所以应该安全。但琴弦绷得不够紧,音高比预期低,这是问题。” 周教授笑了:“比喻不错。但现实比琴弦复杂。琴弦只有一种振动方式,火箭有弯曲、扭转、纵向多种模态,还有耦合效应。你以后如果真要走这条路,要学的还很多。” “我会学。”陈青山认真地说。 下午两点,陈青山回到宿舍补觉。火箭验收的紧张感散去后,疲惫涌上来。他定了四点的闹钟——晚上八点要打四级地煞星,下午需要上线做最后的准备。 但他没睡踏实。梦里全是振动的曲线和游戏里的战斗画面交替闪现。四点闹钟响时,他坐起来,觉得比睡之前还累。 洗了把脸,去食堂简单吃了点东西,五点半到了银河网吧。 登录游戏,信箱里有新邮件。两封是系统广告,一封是沈思发的:“振动测试结果我重新分析了。一阶频率18.3赫兹,如果考虑飞行中的气动刚度效应,可能会升到22-25赫兹。但如果考虑推进剂晃动,又可能降到15赫兹。变量太多,但总体风险可控。晚上地煞星加油。” 还有一封是老白的:“下午六点帮派仓库集合,给你们准备了些药和装备。召唤兽不能转,转了亲密度就清零了,不划算。给你们准备了金疮药和法力药,装备有几件20级的人族项链,加混乱命中率2%。” 陈青山回复感谢,然后去帮派仓库。老白果然在,交易给他两组金疮药、一组法力药,还有一件20级人族项链。 “项链戴上,”老白说,“混乱命中率加2%。虽然少,但有点用。召唤兽就用你们自己的,转赠会清空亲密度,那几百点亲密也是你们辛苦练的,别浪费。” 陈青山戴上项链,混乱命中率从25%提升到27%。2个百分点,在概率世界里,可能就是生与死的区别。 六点半,队伍集合。王浩、赵峰、李想、沈思都到了,都换上了老白给的装备。沈思的召唤兽是她自己的大象——35级目前没有真正意义上的法宠可带,凤凰要更高级别,所以她还是用血宠大象,全血加点,血2500左右。 “今天晚上战术要调整,”老白在队伍频道说,“沈思没有法宠,就用人族控制技能辅助,大象保护队友。陈青山的大象保护李想的仙族,沈思的大象保护王浩的魔族。赵峰的人族控制治疗点。都清楚了吗?” “清楚了。” “最后说下战术。四级地煞星,五个。根据经验,它们的用药规律是:血量低于50%时,有50%概率用药;低于30%时,80%概率用药。所以要么打到50%血停手,控制住,等下一波集火直接打到死;要么就慢慢磨,但容易被加回来。” “我们选哪种?”陈青山问。 “看实际情况。如果控制稳,就一波流。控制不稳,就慢慢磨。但记住,战斗越久,变数越多。我们的优势是控制,劣势是输出。所以要在控制稳定的窗口期全力输出。” 七点五十,队伍传送到五指山。四级地煞星刷在这里的深谷中。已经有两支队伍在蹲守——都是50级以上的队伍。 “竞争激烈啊,”王浩在当前频道打字,“各位大哥,商量下?谁先打?” 一支队伍的队长回复:“按规矩,先到先得。我们七点半就来了。” 另一支队伍:“我们七点四十。” 老白的小号在当前频道说:“我们是龙腾四海的训练队,带新人体验。能不能让一次?下次我们帮派的星让给你们。” 沉默。然后第一支队伍队长说:“龙腾四海的面子得给。但你们等级……能打过吗?别浪费。” “打不过我们认,”老白说,“就当给新人教学了。” “行,让你们。但我们观战,如果你们灭队,我们接着打。” “成交。” 八点整,地煞星刷新。一个地煞星出现在山谷中央,周身环绕着比低级地煞星更浓郁的蓝光——这是玩家们通过长期战斗摸索出来的特征,四级地煞星的光芒会明显更亮。名字没有颜色变化,但老玩家能凭经验判断难度。 老白点击进入战斗。 画面展开,五个地煞星:地煞星、地勇星、地杰星、地雄星、地猛星。它们的名字和外观与低级地煞星没有颜 色 区别,但队伍都清楚这是四级地煞星——老白事先告知的,而且从光芒强度能看出来。 战斗开始。25秒倒计时。 “按计划,”老白指挥,“控制地勇和地杰,它们用药最勤。集火地煞星。” 第一回合,陈青山混乱地勇星——成功!赵峰混乱地杰星——失败。老白的仙族秒出去,打在地煞星身上,-350。沈思的人族补了控制——混乱地雄星,失败。王浩的魔族抽血,-200。 地杰星用药,给地煞星加了300血。地雄星和地猛星攻击,打在沈思的大象身上,-400,-420。大象血厚,抗住了。 第二回合,陈青山的大象保护李想的仙族。赵峰继续混乱地杰星——成功!地杰星被罚站。 但地雄星用药了,又给地煞星加了300血。地煞星的血量回到安全线。 “看到了吗?”老白在队伍频道说,“治疗链。我们打掉600血,它们一回合加回600。必须打断。” “怎么打断?” “同时控制两个治疗点。陈青山控制地勇,赵峰控制地杰,我下回合控制地雄。三个治疗点全控住,然后集火。” 第三回合,陈青山继续混乱地勇——成功。赵峰的地杰还在控制中。老白混乱地雄——成功! 三个治疗点全被控制。地煞星只剩地猛星一个输出点。 “就是现在,全力输出!” 两个仙族、一个魔族,所有技能全开。地煞星血量-300,-280,-250,-200……降到50%以下。 第四回合,地勇星解除控制,但陈青山的混乱又到了——成功!地杰星解除控制,赵峰的混乱冷却,但老白补了一个混乱——成功!地雄星还在控制中。 治疗链依然被锁死。 第五回合,地煞星血量降到30%。地猛星突然用药——但加血量只有150,因为地煞星血量太低,加血效果衰减。 “好机会!地煞星血量低,加血效果差。继续输出!” 第六回合,地煞星倒地。 “漂亮!”王浩在队伍频道喊。 但战斗还没结束。少了一个地煞星,治疗压力减轻,但输出也少了。剩下的四个地煞星,治疗链依然存在。 “接下来打地勇,”老白指挥,“它是主治疗。控住地杰和地雄,集火地勇。” 战斗进入僵持阶段。控制、输出、加血、保护……每个回合都是25秒的决策。陈青山发现自己进入了一种奇特的状态——他不再紧张,只是专注。看地煞星的血量,看队友的状态,看召唤兽的行动条,然后在25秒内做出选择:混乱哪个目标,大象保护谁,自己吃不吃药。 这和在实验室做测试时很像。看振动曲线,看数据变化,在有限时间内判断风险,做出决策。只不过这里的数据是血量和法力值,决策是技能选择。 第十八回合,地勇星倒地。剩下三个。 第二十四回合,地杰星倒地。剩下两个。 第二十七回合,战斗结束。 【战斗胜利!】 经验值狂飙。陈青山从25级直接升到27级。系统提示获得一件装备——“地煞护腕”,40级人族装备,加混乱封印抗性。 “过了!”王浩兴奋。 “配合不错,”老白说,“特别是控制链,基本没断。召唤兽保护也很及时。但有问题:中间有几回合,仙族差点被秒,因为大象保护失败了。亲密不够高,保护几率不稳定。以后要多练亲密。” 退出战斗,队伍站在五指山山谷里。那两支观战的队伍还在。 “厉害,”一支队伍的队长在当前频道说,“20多级的队伍能过四级地煞星,少见。龙腾四海培养新人有方。” “运气好。”老白谦虚。 “不是运气,是配合。看你们的控制链,很稳。以后有机会合作。” “好。” 从网吧出来时,晚上十点。陈青山站在秋风里,深深吸了口气。夜空中有薄云,星星时隐时现。 沈思也出来了,走到他身边:“累了?” “嗯。但值得。” “今天,”沈思说,“在振动测试时,我其实很紧张。怕结果不好,怕验收不过。但刚才打地煞星时,突然不紧张了。因为我知道,无论数据怎样,战斗结果怎样,我们都已经做了能做的所有准备。就像我爸爸说的,‘航天不是浪漫,是成千上万次计算和试验堆出来的。’游戏也是,一次次战斗练出来的。” 陈青山点头。他想起了什么,从书包里掏出笔记本,翻到某一页,上面是他自己写的一句话: “在现实里算振动,在游戏里算血量,都是在不确定中寻找确定性。” 他以前觉得这是句漂亮话。现在,他觉得这是真的。 “回去吧,”沈思说,“明天还要上课。” “嗯。” 两人并肩走回校园。路灯把影子拉得很长,在秋夜里轻轻摇晃。 陈青山抬头看了看天。云散开了一角,猎户座的腰带星露出来,三颗连成一线,清晰而坚定。 他知道,在那些星星之间,有无数的轨道,需要无数的计算。 而他才刚刚开始学怎么算。 但至少,他已经找到了计算器,也找到了需要计算的题目。 剩下的,就是时间,和耐心。 (第八章完) 第九章 试飞前的夜晚与系统的裂痕 火箭试飞定在下周六上午,地点是市郊的民兵训练场——一片开阔的荒草地,平时用来训练民兵打靶,周末租给学校的航模社团。从周一开始,星海社进入了最后的准备阶段。 周一上午,陈青山在工程训练中心的地下实验室里看到了完整的火箭组装体。一级箭体银灰色,二级箭体浅蓝,整流罩是纯白色,上面用红色喷漆写着“星海一号”和“SX-001”。火箭竖立在装配架上,总高1.2米,看起来比躺在测试台上时挺拔得多。 “今天开始全系统联调,”刘宇站在火箭旁,手里拿着检查单,“电源、飞控、遥测、分离机构,一个一个来。发现问题立即记录,能现场解决的现场解决,不能的标注优先级。” 陈青山分到的任务是检查遥测系统。这包括三个部分:箭载数据采集器、无线传输模块、地面接收站。数据采集器要记录飞行中的加速度、角速度、温度、电压;无线传输模块要在火箭飞行时把这些数据实时发回地面;地面接收站要能正常接收并存储。 听起来简单,但涉及十几个接头、三十多根导线、五块电路板。而且所有的东西都要塞进直径只有4厘米的载荷舱里。 “先做地面测试,”林涛指导他,“把数据采集器接上模拟信号源,看能不能正常采集。然后把无线模块接上,隔二十米测试传输。最后接地面站,看数据能不能完整收到。” 陈青山开始接线。他发现自己很享受这个过程——每根线都有明确的功能,每个接头都有固定的位置,就像游戏里每个技能都有特定的作用和冷却时间。接错了,系统就不工作;接对了,数据就流畅传输。这种因果关系明确的感觉,让他安心。 但问题还是出现了。下午三点,当他把所有设备装进载荷舱,合上舱盖,进行最后一次地面测试时,无线信号突然中断了。 “信号丢失,”地面站的屏幕上,数据流戛然而止,“持续3秒后恢复。” “中断时火箭在什么状态?”刘宇问。 “静止状态,”陈青山检查记录,“载荷舱盖刚合上。我怀疑是舱盖闭合时,挤压了某根天线导线。” 打开舱盖检查。果然,无线模块的外置天线导线在舱盖边缘被压到了,绝缘皮有轻微破损。在舱盖闭合的瞬间,导线短路,信号中断。 “问题不大,”林涛说,“重新布线,让导线走预留的线槽。但这件事提醒我们——在封闭空间里,任何微小的干涉都可能造成系统失效。就像在游戏里,你觉得一个技能放晚了没关系,但可能就是那晚了一秒,治疗链断了,全队崩盘。” 陈青山重新布线。这次他更加仔细,每根线都留了足够的余量,用扎带固定,避开所有可能受压的位置。合上舱盖,再测试——信号稳定。 晚上六点,全系统联调完成。刘宇召集所有人开会。 “截至目前,发现十七个问题,解决了十五个,剩下两个。”他在白板上写: “1. 分离机构作动时间有±0.1秒的随机偏差。设计值是3.0秒,实际测试在2.9-3.1秒之间波动。原因可能是弹簧批次差异,或者电磁铁响应时间不稳定。” “2. 地面站软件偶尔会丢一个数据包。概率约1/200,对总体数据影响不大,但可能丢失关键瞬间的数据。” “这两个问题,我们要评估风险,决定是花时间解决,还是接受。”刘宇看向大家。 陈青山思考着。0.1秒的偏差,在3秒的总时间里占比3.3%。在游戏里,如果一个技能的冷却时间有3%的波动,你会觉得影响大吗?可能不大,除非你卡着极限时间操作。但火箭分离,卡的就是极限时间——要在发动机推力下降前分离,但也不能太早,否则推力浪费。 “如果分离时间偏差到2.9秒,”沈思计算,“那时候发动机推力还在峰值附近,分离机构要承受的冲击力会增大。但我们在设计时留了30%的安全裕度,应该能承受。” “那如果偏差到3.1秒呢?”张伟问。 “那时候发动机推力已经开始下降,但可能还没到推力凹陷的那个点。风险是分离不干净,二级点火时一级可能还没完全脱离。” “所以2.9秒比3.1秒好?”陈青山问。 “不一定,”沈思摇头,“2.9秒冲击大,3.1秒可能分离不彻底。最好是卡在3.0秒,但实际做不到。我们需要在两种风险中选一个。” “就像打地煞星时,”陈青山忽然说,“选择先打哪个目标。打治疗点,输出压力小但战斗时间长;打输出点,能快速减员但治疗压力大。没有完美选择,只有根据当前情况选相对好的。” “对,”刘宇点头,“所以我们需要更多测试数据,看偏差的分布。如果是正态分布,均值在3.0秒,那我们可以接受。如果明显偏向某一侧,就要调整。” 会议决定:周二周三做五十次分离机构测试,记录时间分布。周四根据数据决定是否调整。 晚上八点,陈青山回到网吧。周一晚上的帮派活动是“帮派任务链”——一种需要多人协作的PVE活动,完成一系列任务后,全帮派成员都能获得经验和帮贡奖励。 登录游戏,帮派频道已经热闹起来: “任务链开组了!缺输出!” “四级地煞星队求个控制!” “跑商差最后一趟,谁来接货?” 陈青山收到了老白的组队邀请。进队一看,除了老白,还有三个不认识的ID:一个叫“冷月无声”的仙族,一个叫“铁骨铮铮”的魔族,一个叫“青衣”的女人族。等级都在60级以上。 “今晚带你们做高级任务链,”老白在队伍频道说,“经验比普通任务高50%,但难度也大。你们跟着学,注意配合。” 任务链从长安城开始,要找十个NPC对话,收集物品,然后去指定地点打精英怪。前五个任务简单,就是跑腿。第六个任务开始有战斗。 第六个任务:去大唐境外消灭“作乱的妖族斥候”,需要打三场战斗,每场三个精英怪。 第一场战斗,三个妖族斥候,等级估计在50级左右。老白指挥:“控制中间那个,它每回合会召唤小妖。仙族秒左边,魔族抽右边。低等级的注意保护自己,召唤兽看情况保护或输出。” 陈青山控制中间斥候——失败。但冷月无声的仙法秒过去,打掉了左边斥候大半血。铁骨铮铮的魔族抽血,右边斥候掉了30%血。 第二回合,陈青山的混乱成功了。中间斥候被罚站,没能召唤。战斗很快结束。 第七个任务:去普陀山采集“净瓶甘露”,但要先打败守护的“甘露精灵”。这次是单个BOSS,血量很厚,而且会每三回合给自己回血。 “这个要算血量,”老白说,“甘露精灵血量约8000,每次回血1500。我们的输出每回合约1200。所以要打到它回血前尽量多打,回血后快速压下去。关键是控制输出节奏,不要浪费技能在它刚回完血时。” 陈青山听着,觉得这和在实验室调整分离时机很像——都要在系统的动态变化中找到最佳操作点。甘露精灵的回血是固定周期,发动机的推力凹陷是固定时间,都是“系统的节奏”。你要么适应节奏,在低谷时蓄力,高峰时爆发;要么打破节奏,用控制技能中断它的回血。 队伍选择了打破节奏。青衣的女人族用封印技能,在甘露精灵准备回血的那回合成功封印了它。虽然只封了一回合,但打断了回血周期。接下来的输出窗口,队伍全力爆发,在它下次回血前将血量压到了30%以下。 第八个任务开始出现问题。任务要求去龙宫找“龟丞相”拿信物,但龟丞相要他们先完成一个考验:在龙宫迷宫找到三颗“夜明珠”,不能使用飞行旗,不能组队超过五人。 龙宫迷宫是个经典副本,道路错综复杂,怪物刷新快。队伍在里面转了二十分钟,只找到两颗夜明珠。第三颗怎么也找不到。 “我知道位置,”老白说,“但那里有个隐藏BOSS看守。打不打?打的话可能灭队,但打赢了必掉一颗夜明珠。不打的话要继续找,可能还要二十分钟。” “打,”冷月无声说,“浪费时间不如冒险。” “但隐藏BOSS难打,我们队伍配置不是最优,”铁骨铮铮提醒,“缺个女魔加防,脆皮容易倒。” “低等级的两个注意保护自己,”老白决定,“打。陈青山,沈思,你们的大象全程保护自己和对方。我们输出和控制尽量快。” 找到隐藏BOSS——一只巨大的“深海夜叉”,65级,血量估计过万。第一回合,深海夜叉就用了群体法术,全队掉血300-500。陈青山的大象保护了沈思,自己吃了400伤害。 “输出不够,”两回合后,老白判断,“这样打要十五回合以上,中间只要控制断一次,就可能崩。调整战术,不控了,全力输出。陈青山,你的混乱别用了,改成五雷咒补输出。沈思,你也输出。我们赌一把,看是它先倒还是我们先倒。” 陈青山的逍遥生是方寸山,主修控制,五雷咒伤害很低。但他还是切换了技能。在第三回合,他用了五雷咒,打了深海夜叉80点血——微不足道,但这是他能做的全部。 第四回合,深海夜叉再次群体法术。沈思的仙族血量见底,陈青山的大象保护成功,但大象自己只剩1/3血。王浩的魔族抽血,抽了500。冷月无声的仙法打了600。 第五回合,关键时刻。深海夜叉的血量降到30%以下,进入了狂暴状态,攻击力提升。它一个单体攻击打在铁骨铮铮的魔族身上,-800。魔族只剩血皮。 “吃药!”老白喊。 但铁骨铮铮的操作慢了0.5秒——他先去操作了召唤兽,然后才吃药。就这0.5秒,深海夜叉的第二动来了(BOSS有时会连动),又一个单体攻击,铁骨铮铮倒地。 “救人!”但队伍里没有复活技能,只能靠药品复活。而药品复活需要一回合动作,且复活后血量只有20%。 第六回合,青衣用金香玉复活了铁骨铮铮。但深海夜叉的攻击又来了,这次目标是冷月无声的仙族。陈青山的大象保护——成功!但大象飞了。 少了一个保护点,队伍压力更大。第七回合,沈思的仙族倒地。第八回合,陈青山的人族倒地。 第九回合,场上只剩老白、铁骨铮铮、青衣,对面深海夜叉还有15%血。 “拼了。”老白用出最后的大招——一个冷却时间很长的强力仙法。铁骨铮铮抽血,青衣封印(失败)。 第十回合,深海夜叉倒下。 战斗胜利,但惨胜。队伍五人倒了两,召唤兽飞了三。经验奖励丰厚,但消耗也大——每个人至少用了两组药。 退出战斗后,老白在队伍频道沉默了一会儿,然后说:“我的错。不该在配置不全的情况下打隐藏BOSS。虽然赢了,但代价太大。如果这是地煞星,我们已经灭队了。” “但夜明珠拿到了。”冷月无声说。 “用两个人的经验和三只召唤兽的忠诚度换的,”老白说,“值不值?在游戏里,经验和忠诚度能练回来。但在现实工程中,有些代价付不起。这就是为什么要评估风险,要准备预案,要知道什么时候该撤。” 陈青山看着屏幕上的战斗记录。他注意到一个细节:在铁骨铮铮倒地的那回合,如果他早0.5秒吃药,就不会倒。不倒,保护链就不会断,可能后面的人也不会倒。0.5秒,在游戏里就是一眨眼的操作延迟,在火箭分离机构里就是0.1秒的偏差。都是小时间,都可能引发连锁反应。 系统的脆弱性,往往在于那些看似微不足道的连接点。 晚上十点,任务链完成。陈青山从25级升到28级,但大象的忠诚度从100掉到60——忠诚度太低召唤兽会不停使,需要吃“口粮”恢复。一组口粮5万游戏币,相当于他两天的游戏收入。 “值得吗?”退出游戏时,沈思私聊他。 陈青山想了想:“从经验看,值得。从消耗看,不值。但最重要的是,我看到了系统是怎么崩的——从一个0.5秒的延迟开始,像多米诺骨牌。这让我想起火箭的分离机构,0.1秒的偏差,可能也会引发连锁问题。” “所以你今天学到东西了。” “嗯。学到的最重要的一点是:在复杂系统里,你要么把每个环节都做到极致可靠,要么就要有冗余和容错。游戏里,我们可以用药复活,可以重新练级。火箭不行,它只有一次机会。” 沈思发来一个微笑表情:“那你觉得,我们的火箭,是极致可靠型,还是有冗余容错型?” 陈青山认真思考后回复:“都不是。我们是第一次做,很多环节都不极致,冗余也不够。所以我们要更小心,要算得更细,要在试飞前把所有能测的都测了。” “就像打地煞星前,要把召唤兽练好,把药备足。” “对。” 走出网吧,夜风很凉。陈青山抬头看天,今晚多云,星星很少。但他脑子里很清晰——火箭的分离时序,游戏里的操作时机,都在讲同一个道理:在动态系统里,时间是最严苛的裁判。 周四要决定是否调整分离机构。周三晚上,他要把五十次测试的数据全部分析一遍,找到偏差的规律。 就像在游戏里,通过多次战斗,找到怪物行动的规律。 规律,是应对不确定性的唯一武器。 而他现在,正在学习如何寻找规律,无论在现实里,还是在游戏中。 (第九章完) 第十章 数据的重量与决策的黎明 周三傍晚,地下实验室的白炽灯在五十次分离测试后显得格外刺眼。空气中弥漫着继电器反复吸合的焦糊味,还有打印机吐纸的沙沙声。 陈青山站在测试台旁,手里拿着厚厚一沓热敏纸记录——每一张都记录了一次分离机构作动的时间曲线。横坐标是时间(毫秒),纵坐标是分离弹簧的位移(毫米)。五十条曲线,像五十个心跳,在2.9到3.1秒的狭窄区间内起伏。 “最后五次的数据明显偏右,”沈思用红色马克笔圈出最后五条曲线,“作动时间分别是3.08、3.09、3.07、3.10、3.08秒。全部超过3.05秒。” “电磁铁发热了,”张伟摸了摸分离机构的电磁铁外壳,烫手,“连续测试,线圈温度升高,电阻增大,电流减小,磁力减弱,作动就慢了。” 林涛递过来一个红外测温枪:“现在外壳温度72度。设计工作温度上限是85度。但实际飞行中,电磁铁只工作一次,不会有温升问题。” “所以这最后五次的数据不能代表真实飞行情况?”陈青山问。 “不能,”沈思摇头,“但前四十五次呢?你看分布。” 她把五十个数据点输入笔记本电脑的Excel——这是2002年,Office XP刚出,Excel的图表功能还很基础,但够用了。散点图显示,五十个时间点在3.0秒左右波动,没有明显偏向。 “计算均值和标准差,”沈思敲键盘,“均值3.01秒,标准差0.048秒。如果假设正态分布,那么99.7%的数据会落在均值加减三个标准差范围内,也就是2.866到3.154秒之间。” “但我们设计要求是3.0秒±0.05秒,”张伟皱眉,“2.866到3.154这个范围,下边界比设计下限低0.084秒,上边界比设计上限高0.104秒。超差了。” “可那是三个标准差的范围,”陈青山看着图表,“如果只考虑一个标准差的范围呢?” “均值加减一个标准差,2.962到3.058秒,完全在设计范围内。”沈思说。 “那在工程中,”陈青山问,“我们该用几个标准差来评估?” 刘宇从办公室过来,手里拿着本《航天器机构设计规范》:“看这里。对于非关键机构,可以用一倍标准差。对于关键机构,要用三倍标准差。分离机构算关键还是非关键?” “算关键,”张伟说,“分离失败,任务就失败了。” “那就要用三倍标准差范围评估,”刘宇放下规范,“结论是:当前设计存在超差风险,需要改进。” 陈青山盯着那些数据点。在Excel散点图上,它们只是些小黑点,但每个点背后都是一次真实的物理过程——电磁铁通电,磁力吸引衔铁,压缩弹簧,弹簧释放,推动分离面。每一个环节都有公差,有波动,有不确定。 这让他想起游戏里的伤害计算公式。一个技能打出去,伤害值不是固定的,而是在一个范围内随机波动。比如五雷咒,基础伤害100,波动范围±20%,实际伤害可能在80到120之间。你要按最坏情况(80)来规划战术,但期待平均情况(100)。 “如果我们不能改进机构本身,”陈青山说,“能不能改进控制策略?比如,既然知道电磁铁发热会延迟,我们在飞行时序里加一个温度补偿?或者,既然分离时间有波动,我们调整二级点火时间,让它也跟着波动,保持相对时间恒定?” 所有人都看向他。 “说具体点。”刘宇说。 “现在设计是:T=0秒一级点火,T=3.0秒分离,T=3.0秒二级点火。但如果分离时间在2.9到3.1秒波动,我们可以改成:T=3.0秒分离指令发出,实际分离时间在2.9-3.1秒之间,然后二级点火在分离后0.1秒,而不是固定的3.0秒。这样无论分离早还是晚,二级点火都在分离完成后0.1秒,保证安全。” “但二级点火是延时电路控制的,”林涛思考,“延时是固定的3.0秒,改不了。” “那就改一级点火时间,”陈青山思路打开,“既然分离时间会晚,我们让一级点火也晚0.1秒?不对,那总飞行时间就短了……” 沈思在草稿纸上画时间轴:“其实最简单的方法,是接受这个波动,但强化分离机构的容错能力。比如,让分离弹簧的初始压缩量增大20%,这样即使电磁铁磁力因温升减弱,弹簧力也足够完成分离。或者,在分离面加导向销,保证即使分离不彻底,二级点火时也不会干涉。” “导向销可以加,”张伟说,“但增重。每增加一克重量,都要重新算推重比。” “算一下。”刘宇拍板。 接下来的两个小时,实验室变成了计算战场。陈青山负责查材料密度——黄铜、铝合金、不锈钢。沈思算重量增加对推重比的影响。张伟画导向销的结构图。林涛算加工难度。 晚上九点,初步结果:加四个黄铜导向销,总重增加8克。箭体总重从800克增加到808克,推重比从1.53降到1.52。依然大于1.5的安全线。 “可以接受,”刘宇说,“但导向销要精确安装,保证同轴度。明天加工,周五装。周六试飞,时间很紧。” “今晚我画加工图,”张伟说,“明早送校工厂。” “我帮你。”陈青山说。 “你该去游戏了,”沈思看了眼墙上的钟,“九点半,帮派活动要开始了。” 陈青山一愣,他完全忘了时间。 九点四十,陈青山冲进银河网吧。登录游戏,信箱爆满——老白、王浩、赵峰、李想都发来消息,问他怎么还没上线。 “马上到!”他回复所有人,然后传送到长安城擂台。周三晚上的帮派活动是“擂台切磋”——同帮派成员组队对战,赢的获得帮贡和声望。 老白组了他。进队一看,还是昨晚那几个人:冷月无声、铁骨铮铮、青衣,加上陈青山和沈思。 “今晚打战术演练,”老白在队伍频道说,“模拟地煞星,但对面是我们帮的另一个队伍。目的是练配合,特别是时机把握。” 对战开始。对面队伍配置很标准:两仙一魔一人一女人,平均等级60。陈青山这边,两个低等级的一下子成了短板。 第一回合,陈青山按计划混乱对面的人族——失败。对面的人族成功混乱了冷月无声的仙族。冷月无声被罚站。 “看到问题了吗?”老白说,“控制对抗,拼的是命中率和速度。你等级低,混乱命中率低,速度慢。所以你不能跟对面的人族硬拼控制,你要控制他的其他目标,比如他的仙族,打断输出链。” 第二回合,陈青山改变目标,混乱对面的一个仙族——成功!虽然他自己也被混乱了,但至少打断了对面的一个输出点。 战斗到第八回合,陈青山这边劣势明显。两个低等级的成了突破口,血量一直抬不上来。第九回合,陈青山倒地。第十回合,沈思倒地。战斗结束,失败。 退出战斗场景,老白在擂台边召集队伍开会。 “数据分析时间,”他说,“我刚录了战斗录像。现在回放,一个个问题说。” 老白打开录像——其实是文字记录,2002年的《大话西游2》还没有真正的录像功能,但高级玩家会用第三方软件记录战斗日志。 “第一回合,陈青山混乱失败。你的混乱命中率多少?” “27%。”陈青山报出数据。 “对面人族多少?” “估计35%以上。” “所以第一回合控制对抗,我们胜算低。这种情况下,你该做什么?” 陈青山思考:“该做更稳妥的事,比如让召唤兽保护,或者给自己吃药,等队友控制成功后再行动。” “对,”老白说,“这叫‘风险规避’。明知成功率低的事,除非必要,不做。把有限的行动机会用在更确定的事情上。” “第二回合,你混乱仙族成功了,这很好。但你知道为什么成功吗?” “运气?” “不全是,”老白调出数据,“对面仙族的抗混乱属性低,估计只有10%。你混乱他,实际命中率是27%-10%=17%,虽然还是不高,但比混乱人族高。你要学会看对手的弱点,打薄弱环节。” “就像火箭测试,”陈青山下意识说,“知道哪个环节公差大,就重点加强哪个环节。” “什么火箭?”冷月无声问。 “没什么,”陈青山赶紧说,“我明白你的意思了。要根据实际情况调整目标,不能一成不变。” “第三回合开始,问题更大,”老白继续分析,“你们俩低等级的血量一直上不来。为什么?因为你们总想着输出,总想着控制,忘了最基本的——生存。在高级战斗中,低等级玩家的第一要务是活着。活着,就是对团队的贡献。” 沈思问:“那我们应该怎么生存?” “三件事:一,召唤兽全程保护自己;二,血量低于70%就吃药,别等50%;三,站位靠后,让高等级队友吸收伤害。你们不是主力,是辅助。辅助的作用是提供控制和续航,不是输出。” “可这样输出不够啊。”王浩说。 “输出我们来,”老白说,“你们只要控住一个目标,保护好自己,我们就多一个人输出。但如果你们倒了,我们要救人,要保护,反而少一个人输出。算算账,哪个划算?” 陈青山快速心算。如果他和沈思全力输出,每回合总伤害约300。如果全力生存,只偶尔控制,每回合伤害约50。但他们不倒,老白和冷月无声可以安心输出,每回合总伤害能从800提升到1000。净增收益150。 “划算。”他说。 “好,再来一局,按新战术。” 第二场对战,陈青山和沈思彻底改变打法。大象全程保护自己,血量低于80%就吃药,只在确保安全时才用控制技能。大部分时间,他们就在那里站着,吃药,保护。 结果,战斗到第十五回合,赢了。 “看,”退出战斗后,老白说,“你们俩的伤害统计只有对面的三分之一,但你们一次没倒。对面倒了三次。为什么?因为他们总想先杀掉你们,浪费了输出在我们身上。而我们的输出一直很稳定。” 陈青山看着战斗统计表。他的伤害量只有1200,冷月无声是4800。但他的“有效控制回合”有8回合,意味着有8个回合对面至少有一个单位被罚站。这8个回合,团队多输出了多少? “开始理解系统的力量了?”老白问。 “嗯,”陈青山点头,“每个人在系统里都有最优位置。强行做超出能力的事,反而降低系统整体效率。” “游戏如此,现实也如此。”老白发来这句话,然后下线了。 陈青山盯着那句话,看了很久。 夜里十一点半,陈青山回到工程训练中心。地下实验室的灯还亮着,张伟在绘图板前画导向销的加工图,沈思在用计算器复核数据。 “游戏打完了?”张伟头也不抬。 “嗯。学到点东西。” “什么东西能用在火箭上?” “系统的思想,”陈青山在沈思旁边坐下,“每个部件都有它在系统中的最优位置和功能。分离机构的功能是可靠分离,只要它能可靠分离,重点加强分离可靠性就好,而不是追求完美。” 沈思抬头看他:“这是游戏里学的?” “算是吧。在高级队伍里,低等级玩家要认清自己的定位——不是主力输出,是辅助生存。活下来,就是对系统最大的贡献。分离机构也一样,它的核心功能是‘可靠分离’,不是‘精确三点零秒分离’。只要分离可靠,时间有点波动,可以接受。” “可我们刚才不是决定要加强导向销吗?”张伟问。 “加强导向销是为了提高可靠性,不是为了提高时间精度,”陈青山说,“这是两回事。我们接受0.1秒的时间波动,但不容许分离失败。所以加强的是分离的可靠性,不是定时精度。” 张伟停下笔,想了想:“有道理。我一直在纠结那0.1秒的偏差,但偏差本身不是问题,问题是偏差会不会导致分离失败。如果加了导向销,即使分离晚0.1秒,也能保证成功分离,那就可以了。” “对,”沈思说,“这就是工程思维——在约束条件下找可行解,而不是完美解。” 陈青山看着图纸上那些精密的尺寸标注,想起了游戏里那些复杂的属性计算公式。它们都在做同一件事:描述系统的行为,预测结果,优化性能。 只是用的语言不同。一边是毫米、秒、牛顿,一边是血量、法力、命中率。 但底层逻辑,是相通的。 凌晨一点,加工图画完。陈青山和沈思一起离开实验室。深秋的校园很安静,只有他们的脚步声在夜色中回响。 “周六就要试飞了,”沈思说,“紧张吗?” “紧张,”陈青山说,“但更多的是期待。就像第一次打地煞星,不知道能不能过,但很想试试。” “如果失败了呢?” “那就分析数据,找到原因,下次改进。游戏里灭队了,也是这么做的。” 沈思笑了:“你好像真的把两个世界打通了。” “也许吧,”陈青山抬头看天,今晚星星很亮,“我觉得它们本来就是一回事。只是我以前不会看。” 猎户座高悬在头顶。陈青山想起三个月前,他第一次在图书馆见到沈思,她指着猎户座说:“那颗参宿四,距离我们640光年。我们现在看到的光,是明朝时发出的。” 那时他觉得天文数字很遥远。现在他觉得,再遥远的距离,也可以被计算,被理解,被跨越。 用公式,用数据,用一次次测试和战斗积累的经验。 周六的试飞,会是第一次真正的检验。 无论结果如何,他都已经在路上。 (第十章完) 第十一章 点火时刻与倒计时归零 周六的清晨,天还没亮透。陈青山五点就醒了,躺在床上盯着上铺的床板。脑子里像有张清单在自动滚动:电池电量检查、飞控自检、舵机行程测试、发动机装配、导向销安装、全箭称重、推重比复核……每一项后面都跟着具体的数字,精确到小数点后两位。 这是昨晚失眠的产物——他把火箭试飞的所有检查项、标准值、容差范围,在脑子里过了十七遍。就像打地煞星前,他会把每个队友的技能冷却、召唤兽血量、药品数量默记于心。 五点二十,他轻手轻脚起床洗漱。王浩的鼾声在清晨格外响亮,但陈青山已经学会在这种背景音里专注思考。他穿上那件洗得发白的蓝色夹克——这是他的“工作服”,去实验室、网吧、图书馆都穿这件,口袋里常年装着笔、草稿纸、网吧会员卡。 五点半,他推开宿舍门。深秋的晨风灌进来,带着霜寒。他裹紧夹克,走向工程训练中心。 地下实验室的灯已经亮了。推开门,热咖啡的香气混着焊锡松香的味道扑面而来。刘宇、张伟、林涛都在,沈思坐在工作台前,正用万用表测电池电压。 “来了?”刘宇递过来一杯速溶咖啡,“提提神。六点装车,七点到场地,八点开始准备,十点准时试飞。时间表都记住了?” “记住了。”陈青山接过咖啡,烫,但暖手。 “你的任务是现场数据记录,”刘宇指着桌上的记录本,“发射前检查、发射指令、飞行轨迹、遥测状态,所有关键时间点都要记,精确到秒。手写一份,录音笔备份。明白?” “明白。” 火箭已经装箱——一个自制的木箱,内衬泡沫。银白色的箭体在泡沫中静卧,像一把未出鞘的剑。陈青山凑近看,整流罩上“星海一号”四个红字在灯光下微微反光。他想起三个月前第一次看到火箭图纸时,那些曲线和公式还像天书。现在,这枚1.2米长的金属聚合物复合体,每一寸结构、每一克重量、每一个连接点,他都清楚来由。 “导向销装好了?”他问张伟。 “昨晚装的,”张伟指着箭体中部,“四个黄铜导向销,每个直径3毫米,长15毫米。同轴度控制在0.05毫米以内。重量增加7.8克,总重807.8克。推重比复核过了,1.519,大于1.5。” “电池电量?” “满电,”林涛接话,“12V锂聚合物电池,容量2200mAh。昨晚充到12.6V,静置一晚掉到12.4V,正常。发射前会再充到12.6V。” “遥测系统?” 沈思放下万用表:“箭载采集器、无线模块、地面站,昨晚全系统联调通过。传输距离实测200米稳定,我们发射场距离控制点150米,有余量。” “好,”刘宇看表,“五点五十。最后对一遍流程。” 五个人围到工作台前。刘宇打开流程图——手绘的,贴满了便签和修正。 “六点装车,我开车,张伟、林涛跟车。陈青山、沈思,你们坐校车,七点到场。到了先布置地面站,架设摄像机。” “七点半,火箭出箱,安装发动机。注意:发动机必须最后装,装完立即退到安全距离。” “八点,全系统检查。电池、飞控、舵机、遥测,一项一项来。” “九点,架设发射架。角度85度,方位正北。检查地面站信号。” “九点半,全体撤离到控制点。陈青山开始读秒。” “十点整,点火。” 流程对完,五点五十八分。刘宇合上流程图:“还有什么问题?” 短暂的沉默。然后陈青山说:“如果遥测信号中途丢失怎么办?” “按预案,”刘宇说,“如果发射后3秒内丢失,视为正常——火箭可能飞出天线主瓣。如果3秒后恢复,继续记录。如果一直丢失……那就只能靠摄像机了。” “如果分离失败?” “二级点火会强制执行。如果两级还连在一起,二级点火会把整个火箭推得更快,但轨迹会乱。我们尽量回收箭体分析。” “如果发动机推力不足,没到安全高度就掉头呢?” “发射架周围50米清场了,掉下来也砸不到人。但火箭就废了。” “如果……” “陈青山,”刘宇打断他,“没有那么多如果。我们能做的都做了,该算的都算了。剩下的,交给物理定律。” 陈青山闭上嘴。他知道自己紧张。这种紧张和打地煞星前不一样——游戏里灭队了,最多掉点经验,跑趟地府。火箭失败了,是三个月的心血,是熬夜算出来的公式,是涂了又改的图纸,是小心翼翼粘合的碳纤维。 但他也知道刘宇说得对。能做的都做了。 六点整,装车。木箱搬上面包车,用安全带固定。刘宇开车,张伟、林涛上车。陈青山和沈思挥手,看着面包车的尾灯消失在晨雾里。 “我们也走吧,”沈思说,“校车六点二十发车。” 民兵训练场在城东郊,一片开阔的荒地,长满了枯黄的茅草。七点,陈青山和沈思到时,场地已经布置起来。发射架是临时焊的——两根槽钢竖着,中间一个转轴,可以调整角度。地面站是张折叠桌,上面摆着笔记本电脑、无线接收器、一堆线。三脚架上架着摄像机。 刘宇他们在架设发射架。陈青山和沈思开始布置地面站。接电源线,开机,启动软件。屏幕上跳出遥测数据:电压12.6V,温度18.3度,三轴加速度计输出正常。 “信号强度98%,”沈思看着接收器指示灯,“很好。” 七点半,火箭出箱。银白色的箭体在晨光中泛着冷冽的光。张伟开始安装发动机——那个可乐罐大小的金属圆柱。他戴着手套,动作很慢,很稳。发动机推入发动机舱,卡口咔哒一声锁死。插上点火线——两根很细的导线,接在发动机的点火头上。 “发动机安装完毕,”张伟退后,“全体撤离到20米外。” 八点,全系统检查。陈青山拿着检查单,一项一项打钩。电池电压、飞控状态、舵机行程、遥测信号……全部正常。 九点,架设发射架。刘宇用水平仪调整角度——85度,不是垂直的90度。陈青山问为什么。 “85度能让火箭尽快转向,减小风偏影响,”刘宇解释,“但也不能太小,否则上升段太短,高度不够。85度是平衡点。” 九点半,全体撤离到控制点——一个用沙袋垒的掩体,距离发射架150米。从掩体看出去,火箭立在荒地上,像一枚等待发射的导弹。 “陈青山,”刘宇把对讲机递给他,“你负责读秒。十点整,我喊点火,你按下按钮。按下后立即卧倒。明白?” “明白。” 陈青山接过对讲机。手心在出汗。他想起游戏里打地煞星,每次战斗开始前,那25秒倒计时。他需要在25秒内做出决策,然后按下技能快捷键。现在,他要在10秒内按下点火按钮,然后,物理定律接管一切。 九点五十。刘宇开始最后的指令确认。 “电池状态?” “正常。” “飞控状态?” “正常。” “遥测状态?” “信号稳定。” “气象条件?” 沈思看风速仪:“风速2.1米每秒,风向西北,持续稳定。” “发射架角度?” “85度,已锁定。” “清场确认?” 张伟用望远镜扫视四周:“半径200米内无人。” “好,”刘宇看表,“九点五十五。陈青山,准备。” 陈青山把手放在点火按钮上——一个红色的塑料按钮,连着长长的导线,通到发射架下的点火控制器。按下这个按钮,12V电会通过导线流向发动机点火头,点燃引火药,引燃主装药,然后…… 他深呼吸。脑子里突然闪过游戏里的画面。地煞星战斗,第十回合,他按下混乱技能快捷键,然后等待结果。成功率27%,他控制住了目标,战斗转折。 现在,成功率是多少?没有概率数字。只有他们算出来的推重比1.519,只有测出来的振动频率18.3赫兹,只有加了导向销的分离机构,只有85度的发射角。 这是另一种计算。用物理公式算出来的“成功率”。 “十、九、八……” 刘宇开始倒计时。陈青山手指微微用力。 “七、六、五……” 他想起图书馆里那些振动公式,想起实验室里五十次分离测试的曲线,想起加导向销那晚的计算。 “四、三、二……” 他想起游戏里老白的话:“在系统里找到自己的位置,做最该做的事。” 现在,他最该做的事,就是按下这个按钮。 “一!” “点火!” 按钮按下。触感很轻,咔哒一声。 远处,发射架下,一道白烟升起。 然后才是声音——尖锐的嘶鸣,像撕裂布料,但放大一千倍。白烟迅速变成火焰,橙黄色,喷出两米多长。 火箭动了。很慢,一开始很慢,像不愿意离开地面。然后加速,越来越快,火焰从橙黄变成炽白。嘶鸣声变成轰鸣,大地在颤抖。 陈青山趴在地上,眼睛盯着火箭。它笔直上升,拖着一道白烟。很稳,没有摇摆,没有偏航。加速度很快,三秒,已经升到五十米高。 “遥测信号正常!”沈思喊,“加速度2.1g,速度15米每秒,高度52米!” 四秒。火箭继续上升,但火焰开始减弱。发动机工作时间3秒,现在该结束了。 “推力下降!”沈思看着屏幕,“加速度降到0.5g……零!发动机关机!” 五秒。火箭依靠惯性继续上升,但速度明显慢了。白烟在蓝天中拉出一条细线。 “分离指令发出!”刘宇喊。 陈青山屏住呼吸。分离是关键。如果失败…… 六秒。箭体中段突然爆开一小团白烟——那是分离机构工作,爆炸螺栓炸开,弹簧推开两级。 “分离成功!”沈思声音激动,“遥测数据显示二级电压上电!” 七秒。火箭突然二次点火——二级发动机启动,新的火焰喷出,比一级小,但也足够明亮。火箭再次加速,向上冲去。 “二级工作正常!加速度1.8g!” 十秒。火箭变成蓝天中的一个小点,拖着细细的白烟。 十五秒。白烟开始弯曲——火箭达到了最高点,开始转向。 “最高点高度……183米!”沈思报出数据。 二十秒。火箭开始下落,头朝下。二级发动机已经关机。 “开伞指令发出!” 二十五秒。箭体顶端弹出一小片白色——减速伞。白色迅速张开,变成一朵小云。 “减速伞正常!下落速度……15米每秒,稳定。” 陈青山从地上爬起来。火箭在减速伞的拖拽下缓缓下落,向东北方飘去。所有人都盯着那个小白点,直到它消失在远处的树林后。 “落点方位,东北,距离约300米,”张伟用望远镜追踪,“挂在树上了,但伞开了,应该完好。” 沉默。然后,欢呼。 刘宇第一个跳起来,用力拍陈青山的背:“成功了!小伙子,按得好!” 张伟和林涛击掌。沈思看着屏幕上的数据曲线,笑得眼睛弯弯。 陈青山站在原地,手还在抖。不是紧张,是肾上腺素在退潮。他看着火箭消失的方向,脑子里只有一个念头:它飞起来了。按照他们算出来的轨迹,按照他们设计的时序,飞起来了。 “走,回收火箭!”刘宇喊。 五个人拿起工具,朝落点跑去。荒草地很扎人,但没人顾得上。陈青山跑在最前面,心跳得比刚才还快。 找到火箭时,它挂在一棵槐树的枝杈上,离地三米高。减速伞挂在更高的树枝上,白色的伞面在风里轻轻摇晃。箭体看起来完好,只有整流罩顶端有一点擦痕。 张伟爬上树,把火箭摘下来。落地时,所有人都围上去。 一级箭体、二级箭体、整流罩,都连在一起——分离机构成功分离,但减速伞的伞绳把两级拽在一起了。这不要紧,关键结构都完好。 “快,下数据!”刘宇说。 沈思用数据线连接箭载采集器,导出飞行数据。笔记本电脑屏幕上,曲线完整地重现了刚才的飞行:加速度从0飙升到2.1g,维持2秒,下降,归零;分离瞬间的小脉冲;二级点火,加速度再升到1.8g;开伞的冲击;然后下落。 “完美,”沈思轻声说,“和模拟几乎一样。” 陈青山看着那些曲线。它们不再是纸上算出来的理论值,而是真实飞行中测得的真实数据。峰值加速度2.12g,比理论值2.1g高0.02g。最高点高度183米,比理论值180米高3米。二级点火时间3.08秒,比设计值3.0秒晚0.08秒——在预期范围内。 每一个偏差,都有原因。每一个原因,都可以追溯,可以分析,可以改进。 “回实验室分析数据,”刘宇说,“但今晚,庆祝。我请客,火锅!” 欢呼再次响起。 回程的车上,陈青山坐在后排,看着窗外飞逝的田野。沈思坐在旁边,小声说:“你在想什么?” “想三个月前,”陈青山说,“我还在为高数补考发愁。现在,我参与设计的火箭飞上天了。” “感觉怎么样?” “不真实。但又很真实。”陈青山顿了顿,“就像第一次打过地煞星,看到‘战斗胜利’的提示。你知道是你操作的,但又觉得,运气成分很大。” “但这次不全是运气,”沈思说,“是我们算出来的。” “对,”陈青山点头,“算出来的。” 他想起游戏里的一个细节。打地煞星时,如果控制成功率是30%,那么连续三次失败的概率是0.7×0.7×0.7=34.3%,不小。但如果团队有两个控制,轮流控制,连续三次都失败的概率就降到0.7×0.7×0.7×0.7×0.7×0.7=11.8%。 这是概率的力量。也是系统的力量。 火箭能成功,不是因为某个环节完美,而是因为每个环节都留了余量,都有备份方案,都考虑了波动。就像团队打地煞星,不会把希望全押在一个控制技能上。 “我好像开始懂了,”陈青山说,“什么是工程思维。” “说说看?” “不是追求每个零件都完美,而是追求系统在不确定环境下的可靠工作。允许偏差,但控制偏差的影响。有冗余,有容错,有预案。” 沈思笑了:“你总结得很好。我爸爸说,这就是航天的本质——在充满不确定的宇宙里,找到确定的路径。” 车驶入市区。陈青山看着街边的网吧招牌,忽然想起今晚帮派有活动——周六晚上的帮战。 火箭成功了。游戏里的战斗,还在继续。 但现在的他,已经和三个月前不一样了。 他知道怎么在不确定性中寻找确定性。知道怎么在系统中找到自己的位置。知道怎么用计算和准备,对抗运气和偶然。 这或许,就是成长。 真正的成长。 (第十一章完) 第十二章 数据的回声与帮战的号角 火箭试飞成功的兴奋持续了三天。周一早上,高数课上周教授特意提前十分钟到教室,在黑板上画了个简化的火箭受力图。 “我听说周六有学生自己做的火箭飞上天了,”周教授转身,粉笔在手里转了个圈,“不错。那我们今天就用这个例子,讲一点实际应用。” 他在图旁边写公式:∑F = ma。 “牛顿第二定律,老生常谈。但放在火箭上,∑F 包括推力、重力、空气阻力。推力是时间的函数,重力基本恒定,空气阻力和速度平方成正比。所以加速度 a(t) = [F(t) - mg - kv2] / m(t),而且质量 m 也在随时间减少。” “这是个变系数非线性微分方程,”周教授顿了顿,“严格解很复杂。但工程上,我们做简化。假设推力恒定,忽略空气阻力,质量线性减少,可以得到解析解。谁上来推一下?” 教室里安静。然后沈思举手,上台。她在黑板上流畅地写下推导过程,最后得到速度表达式:v(t) = (F/m?) * t - 0.5 * (F/m?2) * (dm/dt) * t2 - gt。 “这还不是完整的,但能看出趋势,”周教授点评,“第一项是推力产生的速度增量,第二项是质量减少的修正,第三项是重力损失。你们周六的火箭,实测最大加速度2.12g,对应推力多少?” 陈青山在下面心算。火箭总重0.808kg,2.12g对应加速度20.8m/s2,推力F = ma = 0.80820.8 ≈ 16.8牛。但发动机标称平均推力12.8牛。 “有偏差,”周教授看到他的表情,“为什么?因为你们忽略了空气阻力。上升段速度不高,阻力不大,但确实存在。另外,推力测量也有误差。工程就是这样,理论是理想模型,实际是带噪声的数据。你们的任务,是从带噪声的数据里,反推真实参数。” 他擦掉黑板,写下新内容:“这周作业,用你们火箭的实测数据,拟合出推力曲线、阻力系数、质量变化率。交一份报告,算平时分。” 下课铃响。陈青山收拾书包时,周教授走过来:“你们火箭的数据,我看看。” 陈青山从书包里掏出复印件——飞行数据的打印版,上面有加速度、速度、高度随时间变化的曲线。 周教授快速浏览:“不错。分离前后的加速度跳变很清楚。二级点火延迟了0.08秒,看到没?在曲线上这里有个小平台。” 陈青山凑近看。确实,在分离完成到二级点火之间,加速度几乎为零,持续了约0.1秒。 “这是设计还是意外?” “意外,”陈青山老实说,“二级点火是固定延时3.0秒,分离时间晚了0.08秒,所以有0.08秒的空窗。但分离已经完成,不影响安全。” “但有优化空间,”周教授用铅笔圈出那段,“如果二级点火能检测到分离完成信号再点火,就更好了。不过你们第一次做,这样已经很好了。报告好好写,我期待看到你们的分析。” 离开教室,沈思说:“周教授很少夸人。” “他没夸,只是说‘不错’。” “从他嘴里说出来就是夸了。”沈思笑了笑,“数据分析你打算怎么做?” “先处理原始数据,”陈青山说,“遥测采样率是100Hz,每秒100个点,全程25秒,2500个数据。要去掉噪声,平滑,然后数值积分得速度,再积分得高度。最后用这些数据反推推力、阻力、质量。” “工作量不小。” “但值得。” 两人往图书馆走。秋日的阳光穿过梧桐叶,在地上投出斑驳的光影。陈青山忽然觉得,三个月前,他走在同样的路上,脑子里只有高数补考的焦虑。现在,他脑子里是火箭数据、拟合算法、系统参数估计。 有些改变,是悄悄发生的。就像指针走过表盘,你看不见它在动,但时间已经流逝。 下午,陈青山去了网吧。火箭试飞成功后,他给自己放了一天假——周日整天在宿舍补觉,没碰游戏。现在信箱里有二十三封未读邮件。 大部分是系统广告。三封是老白的:“周六帮战你们没来,没事,下周还有。火箭怎么样了?” 四封是王浩的,用各种感叹号表达对火箭成功的激动。两封是赵峰,冷静地分析了火箭成功对团队士气的影响。一封是李想,问火箭的数据能不能用在游戏里——当然不能,但陈青山理解他的意思。 还有一封是沈思发的游戏邮件,时间显示周日凌晨两点:“数据分析到三点,发现个有趣的现象。推力在2.8秒的凹陷,在飞行数据里也存在,但幅度小很多。可能真实环境中,振动被抑制了。就像游戏里,理论伤害和实际打出来的,会因为防御、抗性而不同。” 陈青山回复了所有人,然后看帮派频道。周六晚上的帮战,龙腾四海赢了,拿了奖励。频道里还在讨论战术,谁谁操作犀利,谁谁召唤兽给力。 老白私聊他:“晚上有空?带你们打五级地煞星。” 陈青山愣住。五级?他们刚过四级没几天。 “我们等级跟不上,”他回复。 “等级是问题,但不是全部,”老白说,“五级地煞星六个,会有新机制——其中一个地煞星会每五回合放一次‘群体封印’,封三个目标。需要预判,提前控制或者保护。这对你们的时机把握是很好的训练。” “但输出……” “输出我们来。你们就负责两件事:一,记回合数,在第五、第十、第十五回合提前控制会封印的地煞星;二,保护自己。只要你们不倒地,控制能中一半,就能过。” 陈青山想了想:“几点?” “八点。提前半小时集合,我讲战术。” “好。” 晚上七点半,队伍在长安城擂台集合。除了老白,还有冷月无声、铁骨铮铮、青衣,加上陈青山和沈思。标准的训练队配置。 “五级地煞星,六个,”老白在队伍频道打字,“地煞星、地勇星、地杰星、地雄星、地猛星、地威星。其中地威星是新增的,它会每五回合放一次‘群体封印’,随机封三个目标。被封印的目标两回合内不能使用任何技能,只能普通攻击或防御。” “怎么判断哪只是地威星?” “进战斗看名字。地威星名字带个‘威’字。但更重要的是看行动——第一回合,六个地煞星,五个会用普通攻击或用药,只有一个会用一个特殊的准备动作,周身冒蓝光。那就是地威星在积蓄力量,第五回合会放封印。” “所以第一回合就要标记它。” “对。陈青山,你的任务:第一回合标记地威星,第二到第四回合控制它,不让它放出封印。第五回合如果控制失败,全员防御或保护。第六回合重新控制。明白?” “明白。” “沈思,你的任务:辅助控制。如果陈青山控制失败,你补控制。如果都失败,用你的大象保护可能被封印的目标——通常是仙族和魔族。” “王浩、赵峰、李想,你们跟平时一样,输出、控制、辅助。但要注意回合数,第五、第十、第十五回合,如果地威星没被控制,你们要提前防御或保护自己。” “都清楚了吗?” “清楚。” 八点整,地煞星刷新在普陀山。已经有四支队伍在蹲守。老白在当前频道沟通,用龙腾四海的面子争取到了优先挑战权。 进入战斗。六个地煞星。陈青山一眼就看到地威星——它站在最右边,第一回合,其他五个地煞星要么攻击要么用药,只有它,周身开始泛起淡蓝色光晕。 “标记地威星!”老白喊。 陈青山第二回合混乱地威星——成功!蓝色光晕消散。 “好,控制住了。现在集火地煞星,先打掉一个减轻压力。” 战斗进入节奏。控制、输出、保护,每个回合25秒,决策链不能断。陈青山发现自己的操作在变流畅——看地煞星血量,看队友状态,看召唤兽行动条,选择技能目标,按下快捷键。整个过程在10秒内完成,剩下15秒可以观察、思考、准备下回合。 这和在实验室处理火箭数据很像。拿到2500个数据点,先整体看趋势,再局部看细节,判断哪些是噪声要滤除,哪些是特征要保留,然后用合适的算法提取信息。每一步都需要判断,而判断的依据,是之前积累的经验。 第五回合。地威星还在控制中,封印没放出来。 第十回合。陈青山的混乱失败,但沈思补了封印,成功。封印再次被扼杀。 第十五回合。地威星解除控制,但老白提前一回合用了“法宝”——一个能沉默目标两回合的特殊物品。地威星再次被罚站。 战斗到第二十二回合,六个地煞星倒下四个,剩下两个已经构不成威胁。第二十五回合,战斗结束。 【战斗胜利!】 经验再次飙升。陈青山从28级升到30级。系统提示:“恭喜您达到30级,可以领取新的称谓任务,解锁新的召唤兽携带资格。” 新的召唤兽。陈青山心里一动。30级能带什么?他查资料——雷鸟、龟丞相、狮子……都是前期重要的过渡宠。特别是雷鸟,攻高,速度快,是很多玩家的第一只正经攻宠。 “不错,”退出战斗后,老白说,“控制链基本没断。特别是回合数记得很准,第五、第十、第十五回合都提前准备了。这就是节奏感。打地煞星,打帮战,打任何有机制的BOSS,节奏感都是关键。” “节奏感……”陈青山重复这个词。 “对。就像音乐,每个节拍该做什么,是有规律的。游戏里,怪的技能释放、用药时机、攻击目标切换,都有规律。找到规律,提前应对,就是高手和菜鸟的区别。” 陈青山想起火箭的飞行数据。推力曲线、分离时序、二级点火,也有节奏。如果他能提前预测系统的行为,就能更好地控制结果。 “现实里也一样,”老白继续说,“做项目、学习、甚至谈恋爱,都有节奏。什么时候该推进,什么时候该等待,什么时候该改变策略。掌握节奏的人,往往事半功倍。” 陈青山忽然想问老白是做什么的。能说出这些话的人,应该不简单。但他没问。游戏里的关系,保持一点距离比较好。 晚上十点,退出游戏。陈青山没急着走,在网吧里查资料。30级能带的召唤兽,属性对比,加点方案,技能搭配…… 他看得入神,直到沈思发来消息:“数据分析有新发现。推力曲线的凹陷,在2.8秒确实存在,但持续时间只有0.05秒,比地面测试的0.1秒短。而且凹陷深度只有10%,比地面的20%浅。说明实际飞行中,推力波动被抑制了。” “为什么?”陈青山问。 “可能的原因:一,空中没有地面固定装置的约束,振动响应不同;二,空气动力有阻尼效果;三,推进剂晃动的影响。需要更多数据验证。” “但火箭已经回收了,没法再飞。” “可以地面再测试,模拟空中边界条件。或者,用仿真软件模拟。实验室有MATLAB,可以建更精细的模型。” “你会建?” “正在学。我爸爸的笔记里有,但很多看不懂。一起?” “好。明天图书馆?” “嗯。另外,周教授的报告,我们一组吧。你处理数据,我写分析,一起建模。” “好。” 陈青山关掉电脑,走出网吧。夜风吹在脸上,凉,但不冷。他抬头看天,今晚星星很亮,银河像一道淡淡的纱帘横跨天际。 他想起了火箭飞到183米高的那一刻。在那个高度,空气稀薄,阻力小,能看到的地平线更远。但火箭很快落下来了,回到地面。 可数据留下来了。那些曲线,那些数字,记录了它曾经到达的高度。 就像游戏里,地煞星打过了,经验拿到了,装备爆了,战斗结束了。但操作的经验、战术的理解、团队的配合,留下来了。 有些东西会落下,有些东西会留下。 他回到宿舍。王浩他们还在讨论游戏,见到他,立刻围上来问火箭的事。陈青山简单说了,但他们更关心能不能把火箭做成游戏里的“法宝”或者“召唤兽”。 “火箭当召唤兽?怎么攻击?冲过去自爆?”赵峰推眼镜。 “可以设计成法宠,技能‘火箭齐射’,群体火法伤害。”李想认真地说。 陈青山笑着听他们讨论,爬上床。脑子里却在想别的事。 周教授的报告,要和沈思一起做。要处理2500个数据点,要建数学模型,要反推参数。要用MATLAB,他还没学过,但可以学。 游戏里,30级了,要换召唤兽了。雷鸟还是龟丞相?攻宠还是血宠?要重新规划加点,要练亲密,要准备打书——虽然现在没技能书,但总要准备的。 火箭的数据分析发现了新问题,要建更精细的模型,要模拟空中条件。要学振动理论,要学空气动力学,要学数值仿真。 很多事。但每件事,都有清晰的路径。计算、分析、决策、执行。就像游戏里的任务链,一步接一步,最终通向某个目标。 三个月前,他还在迷雾里。现在,他手里有了地图。 虽然地图只展开了一小部分,但至少,他知道自己在哪儿,要去哪儿,怎么去。 这就够了。 他闭上眼睛。明天,又是新的一天。 有数据要算,有模型要建,有地煞星要打。 有星星要看。 (第十二章完) 第十三章 雷鸟的选择与模型的边界 周六的清晨,陈青山在图书馆三层靠窗的位置摊开了三样东西:左边是火箭飞行数据的打印稿,那些曲线在晨光中泛着淡淡的墨蓝;中间是周教授留的作业要求,上面用红笔圈出了几个关键词——“推力波动”、“空气阻尼”、“结构阻尼”;右边是《大话西游2》召唤兽图鉴,雷鸟的属性详解旁边有他手写的笔记。 沈思还没到。陈青山先看火箭数据。加速度曲线在2.8秒处有个小小的凹陷,像平静水面被石子激起的涟漪。但周教授在报告要求里特意标注:“请分析推力波动在飞行中变小的原因。” 推力波动为什么会变小?陈青山想起打地煞星时的经历。有时候一个技能打出去,理论伤害很高,但实际打出来的数字会低一些——因为怪物有防御、有抗性。火箭在空气中飞行,空气就像一层“防御”,会吸收、会缓冲。 他试着用游戏思维来理解。推力波动就像技能的“爆发伤害”,空气阻力就像“伤害减免”,结构本身的阻尼就像“伤害吸收”。实际打到目标身上的伤害,是爆发伤害减去各种减免。 “这么早就开始类比了?”沈思的声音在背后响起。她端着两杯豆浆,递过来一杯。 “在想怎么把问题说清楚,”陈青山接过豆浆,“周教授要我们分析推力波动被抑制的原因。我在想,能不能用游戏里的概念来解释。” “说说看。” “比如,火箭的推力波动是100点伤害,空气阻力能抵消30点,结构自身能吸收20点,最后实际作用在火箭上的波动就只有50点。所以波动看起来变小了。” 沈思点头:“这个比喻很形象。但我们需要定量计算,空气抵消了多少,结构吸收了多少。这需要建数学模型。” “模型……”陈青山想起游戏里的伤害计算公式。一个技能的基础伤害,减去目标的防御,再乘以抗性系数,最后得出实际伤害。每个变量都有具体数值。 火箭也是一样。推力是基础值,空气阻力是“防御”,结构阻尼是“抗性”。但这里的数值不是游戏策划设定的,而是物理定律决定的。 “我们有个优势,”沈思打开笔记本电脑,“我们有实测数据。就像在游戏里,你打一个怪物,记录每次伤害数值,多打几次,就能反推出它的防御和抗性。” “用实测数据反推参数?” “对。我们知道推力曲线,知道火箭最终的飞行轨迹,就可以倒推空气阻力和结构阻尼的大小。这就像解方程——已知结果,求未知数。” 两人开始分工。沈思处理数据,陈青山思考数学模型。他先在草稿纸上画示意图:火箭在空中飞,受到四个力——向上推,向下重力,向后空气阻力,还有结构自身消耗能量的“内力”。 “结构阻尼怎么理解?”陈青山问。 “就像一根弹簧,你压它,它会弹回来,但不会完全回到原位置,会损失一点能量。火箭结构在振动时也会损失能量,这就是结构阻尼。碳纤维材料比较‘脆’,能量损失小,所以阻尼小。” “那空气阻力呢?” “简单说,就是空气不想让火箭通过,会推它。速度越快,推力越大,空气阻力就越大。但我们的火箭速度不高,阻力不会太大。” 陈青山在MATLAB里建了个简单模型。他把火箭想象成游戏里的一个角色:有“力量”(推力),有“重量”(质量),在“地图”(大气)里移动,受到“环境debuff”(空气阻力)。他要调整参数,让这个“角色”的移动轨迹和实测轨迹吻合。 “先假设只有空气阻力,”他设置参数,“看看模拟轨迹和实测差多少。” 运行程序。屏幕上跳出两条曲线:蓝色是实测高度变化,红色是模拟高度。前两秒两条线几乎重合,第三秒开始分离,模拟高度比实际高了一点。 “说明空气阻力不够大,”沈思说,“调大阻力参数。” 陈青山调整参数,重新运行。这次两条线在前三秒重合得更好了,但三秒后——发动机停机的瞬间——模拟曲线还是偏高。 “还有别的原因,”沈思指着曲线分离的点,“这时候推力没了,但火箭还在振动。振动会消耗能量,让火箭飞不高。这就是结构阻尼的影响。” “那我们再加一个结构阻尼参数。” 模型变成这样:推力 - 重力 - 空气阻力 - 结构阻尼力 = 质量×加速度。其中结构阻尼力与振动速度成正比,比例系数就是结构阻尼系数。 现在有两个未知参数:空气阻力系数、结构阻尼系数。有两个方程:飞行前段(推力存在时)的轨迹匹配,飞行后段(推力消失后)的轨迹匹配。理论上可解。 陈青山写了个小程序,让MATLAB自动搜索最优参数组合。程序运行了几分钟,跳出结果:空气阻力系数0.129,结构阻尼系数0.02。 “验证一下,”沈思说,“用这两个参数重新模拟全程。” 新的模拟曲线与实测曲线几乎完全重合,最大偏差只有2%。 “所以,”陈青山总结,“推力波动被抑制,70%是因为空气阻力吸收了能量,30%是因为结构自身消耗了能量。就像游戏里,伤害被减免,70%是因为防御高,30%是因为有伤害吸收装备。” 沈思笑了:“你这个类比,周教授看了不知会怎么想。” “但至少容易理解。” “确实。写报告时可以用这个思路,先物理概念,再数学描述,最后用游戏类比帮助理解。” 下午五点,陈青山在银河网吧登录游戏。30级,角色头像旁多了个金色边框。信箱里有系统邮件,提示可以领取新称谓,解锁新召唤兽。 先去领称谓。任务简单,打一场战斗就完成。称号从“江湖新秀”变成“小有名气”。 然后要抓新召唤兽。雷鸟在龙窟出没,需要去那里捕捉。陈青山查了资料,抓到的召唤兽有两种:野生召唤兽和召唤兽宝宝。野生召唤兽属性低,成长差,需要先用“金柳露”洗成宝宝,洗出来的属性随机。直接抓宝宝很难,但属性固定,成长好。玩家要看初值(攻击、血量、速度等初始属性)和成长值(每级属性增长量),决定是否值得培养。 “去龙窟碰碰运气,”他决定,“能抓到宝宝最好,抓不到就抓野生,用金柳露洗。” 老白在线。陈青山发消息问能不能帮忙抓宠。 “要雷鸟?”老白回复,“龙窟我熟,带你去。” 两人组队前往龙窟。迷宫般的洞穴里,雷鸟是常见怪物。打了三场,遇到雷鸟,但都是野生雷鸟,属性面板显示“野生”,初值攻击只有80,血量200,成长1.2——很一般。 “继续找,”老白说,“雷鸟宝宝稀有,但属性好。野生的不值得培养,洗起来也费金柳露。” 又打了五场,终于遇到一只雷鸟宝宝。老白一个混乱控制住,陈青山丢出捕捉道具。两次尝试后,成功。 打开属性面板: 名称:雷鸟宝宝 等级:0 攻击:118 血量:295 速度:78 成长率:1.272 “初值不错,”老白评价,“攻击118接近满值120,血量295中等,速度78可以。成长1.272,良好。值得培养。” 陈青山松了口气。如果抓到的是成长1.1的垃圾宝宝,那还不如洗野生。现在这只可以直接练了。 “怎么加点?”他问。 “看你想让它活多久,”老白说,“全力加点,攻击高,但脆,可能两回合就飞。半攻半血,攻击低点,但能多站几回合。你们队现在保护能力一般,我建议半攻半血,保证输出持续性。” 陈青山计算。全力加点,30级攻击能达到178左右,但血量只有600上下。半攻半血,攻击148,血量900。900血比600血多50%生存能力,但攻击只低20%。 “输出和生存的权衡,”他想起火箭设计时的推重比选择。推力大,火箭加速快,但发动机重,推重比可能不够。要找到平衡点。 “我选半攻半血,”他决定,“每级1力1血。这样能抗能打。” “好。现在带它练级。亲密很重要,每天带着战斗,喂口粮。” 老白离开。陈青山带着0级雷鸟宝宝去大雁塔刷怪。战斗间隙,他切出去看沈思发来的报告初稿。 报告用了他提出的游戏类比,把空气阻力比作“防御”,结构阻尼比作“伤害吸收”,推力波动比作“技能爆发”。然后才引入数学公式,解释每个参数的物理意义。 “这样写,周教授能接受吗?”他问沈思。 “应该能。他用琴弦比喻振动,我们用游戏比喻阻尼,都是教学策略。只要物理正确,类比方式可以灵活。” 晚上七点半,帮战。陈青山带着15级的雷鸟参战,半攻半血加点,现在攻击74,血量440。虽然还不够强,但已经能补点伤害。 帮战是龙腾四海对战神殿。陈青山队伍的任务是拖住对方一个主力队至少十回合,不求打赢,只求拖延。 战术全防守。大象保护仙族,人族控制,魔族抽血,仙族找机会输出。雷鸟的作用是——在对方召唤兽残血时补刀。 第八回合,机会来了。对方的凤凰法宠被仙族打到残血,还剩150血。陈青山的雷鸟一个雷击,打掉79。虽然没打死,但吸引了对方注意,对方不得不分心保护凤凰。 就是这个分心,让老白的主力队有机会突破另一侧防线。 第十回合,老白带队赶到,两面夹击,对方溃败。 “干得好,”老白在指挥频道说,“拖了十回合,雷鸟的补刀很关键。虽然伤害不高,但打乱了对方节奏。” 陈青山看着屏幕上战斗胜利的提示,又想起白天建的火箭模型。在模型里,每个参数都有作用,就像团队里每个角色都有定位。空气阻力参数让模拟更准,就像雷鸟的补刀让战斗更稳。 系统思维,就是在复杂中找到每个部分的位置,让它们协同工作。 无论是火箭的飞行动力学,还是游戏里的团队配合,本质都是如此。 退出游戏时,晚上十点。陈青山走出网吧,秋夜的风很凉,但很清醒。 他抬头看天。星星很亮,像无数个等待解答的问题。 但他现在知道了,每个问题,都可以被理解,可以被分析,可以用合适的方法逼近答案。 用公式,用数据,用模型。 用思考,用尝试,用调整。 这就是他走的路。 (第十三章完)