第 20 章

生产线的重塑

白板上那六个新增编制缺口,不是沈明远写的。它们出现在一份内部备忘录的附件里,文件名是《生产管线评估会纪要——附件三:岗位缺口说明》,创建日期标注为2023年3月14日下午两点零七分。这份文件在Everstone工作室的共享服务器上被打开了四十七次,最后一次访问记录停留在当天晚上十一点五十八分。打开它的人包括技术总监林铮、叙事主管陆辰、美术总监李想,以及运营经理赵敏。他们各自在工位上读完了这份三页纸的文档,然后做了同一件事——没有在评论区留下任何文字,直接关掉了窗口。

附件三的排版很朴素,甚至粗糙。表格用Word默认样式绘制,表头是加粗的宋体,正文是五号字。六个岗位名称纵向排列在第一列:资深场景编辑、资深场景编辑、叙事策划、叙事策划、技术美术、供应商品控。

前两个岗位名称完全一致,但在备注栏里标了不同的方向说明——第一个后面写着“建筑组件库方向”,第二个后面写着“地形适配与植被系统”。叙事策划的两个名额也被拆开了:一个标注“历史叙事模板设计与维护”,另一个标注“支线任务填装与品控”。

技术美术的备注栏最长,几乎占了半页纸的宽度:“需同时熟悉Messiah引擎的PBR管线和宋代建筑材等制度,能从技术层面建立组件调用的自动化校验规则。”最后一个岗位——供应商品控——备注只有八个字:“驻场审核,需频繁出差。”

沈明远在备忘录正文里写了一段话,这段话后来被林铮在一次内部讨论中转述过,但从未以直接引语的形式出现在任何正式文件里。沈明远写的是:本次扩编不服务于具体版本内容交付,而是服务于生产系统本身的建设。六个岗位的产出不是场景、不是任务、不是特效,而是一套能让别人更快更好地做出场景、任务、特效的方法。这段话的措辞经过了反复修改。赵敏后来在HRBP的月度沟通会上提到,沈明远在提交最终版本之前删掉了三处“可能引起歧义的表述”,其中一处原文是“我们要把作坊改造成工厂”——删掉的原因是“工厂”这个词在游戏行业的内容生产语境中容易引发不必要的抵触情绪。

但抵触情绪还是来了。不是来自外部,而是来自内部。

李想是第一个读完附件三的人。他在当天下午两点二十分打开了文件,阅读时间显示为八分钟。八分钟后,他从工位上站起来,穿过开放式办公区的走廊,在沈明远的工位前停了三秒钟,什么都没说,转身走进了茶水间。这个动作被至少两个目击者记住,但没有人记录下来。李想后来在接受项目复盘访谈时承认,他当时的第一反应是“被冒犯了”——不是因为编制本身,而是因为那两个“资深场景编辑”的备注栏里,没有提到任何关于审美判断的要求。建筑组件库方向。地形适配与植被系统。这些词汇来自工业流程,不是来自美术创作。

李想花了整个下午在数位屏上画蔚州城南门外的三棵老槐树,每一棵的枝干走向都根据风向做了微调。他知道这些微调在最终的游戏画面里几乎不会被任何玩家注意到,但他仍然画了。而现在,一份备忘录告诉他,项目需要的不再是画三棵老槐树的人,而是能建立一套“植被自动分布算法”的人。这不是同一个工种。李想清楚这一点,沈明远也清楚。他们之间的分歧不在于谁对谁错,而在于这个项目已经到了一个节点——继续往前走,就必须把一部分曾经由个人才华承担的工作,交给系统去完成。李想不是反对系统,他是反对在系统尚未证明自己可靠之前,就把人替换掉。

附件三在服务器上被打开的第四十七次,是陆辰。他读完之后没有关掉窗口,而是把“叙事策划”那一栏截了图,发到了叙事组的内部群里。群里有七个人,包括两名入职不到半年的初级策划和一名还在试用期的实习生。陆辰在截图下面写了一行字:“这两个新增编制,一个做模板,一个做填装。模板由我亲自定,填装的人需要接受两周培训。”没有人回复。

三分钟后,实习生私聊陆辰问了一个问题:“模板是什么意思?是不是以后支线任务不用从头写了?”陆辰回复了两个字:“不是。”

然后又撤回了,改成一段更长的解释:“模板不是填空,是约束。它规定了一段碎片化叙事的结构上限——比如一段对话最多拆成几段碎片、每段碎片的信息承载量上限、关键历史信息的植入位置。但具体写什么、怎么写,仍然是策划的事。”实习生没有再问。

但这段对话后来被截图保存,在叙事组内部流转了很长时间,成为理解“历史叙事模板”这个概念的最初入口。

陆辰自己对模板的态度是矛盾的。他比任何人都清楚,燕云十六声的碎片化叙事之所以在早期测试中获得认可,恰恰是因为每一条碎片都是手工打磨的。蔚州城东市一个卖炊饼的老妇人,她的六段对话碎片分散在三个不同的任务场景中,每一段的措辞都经过了陆辰本人的逐字推敲——第一段交代她丈夫服役未归的背景,第二段暗示她对官府征粮政策的不满,第三段在玩家完成某个支线任务后触发,语气从抱怨转为感激,但感激中仍然保留着某种隐晦的保留。这种精细的情感曲线,不可能被任何模板覆盖。

但陆辰也知道,游戏上线后需要的支线任务数量,是他和现有团队在手工模式下绝对无法完成的。开放世界的内容消耗速度远超任何人的预期。第一次外部封闭测试的数据显示,核心玩家群体在三天内消耗了项目组花四个月制作的支线内容,消耗比例达到百分之七十三。这意味着正式上线后,如果内容产能跟不上,游戏会在两周内被掏空。

那个数字——百分之七十三——在附件三的正文里被引用过一次。沈明远把它放在了第二页的第三段,紧挨着一行加粗的结论:作坊模式的内容产出上限已经触达,扩编与管线重构是唯一可行路径。

李想后来在一次内部邮件中回应了这个判断,邮件的标题是“关于组件库建设的一些想法”,正文里没有直接反驳沈明远的结论,但提出了一个尖锐的问题:如果我们把建筑拆成组件、把叙事拆成模板、把地形交给算法,最终交付给玩家的东西,和一开始让我们拿到科隆展邀请函的东西,还是同一个产品吗?这封邮件没有被收入任何正式的项目文档。沈明远读了,没有回复。但他在第二天的生产管线评估会上,把李想的问题转述给了在场的所有人。

评估会是在三号会议室开的。长桌两侧坐了十四个人,包括六个系统的负责人和八名核心执行层的骨干。沈明远没有做PPT,他直接把附件三投影在白墙上,然后用激光笔圈出了表格最后一行——供应商品控。他说:“这个岗位,是六个编制里最难招的。不是因为市场上缺人,而是因为这个岗位的工作内容,在网易现有的外包管理体系中找不到现成的模板。”

他停了一下,激光笔的光点从“供应商品控”移到了“驻场审核,需频繁出差”那八个字上。“我们的外部供应商目前分布在杭州、成都和西安三个城市,加起来有四个团队,总人数大约六十人。他们负责的内容包括场景物件的建模、贴图绘制、部分动画资源的中间帧补全,以及少量UI素材的制作。过去半年,这些供应商交付的物件的平均返修率是百分之三十四。”

百分之三十四。这个数字被投影在墙上,比任何解释都更有力。林铮后来在技术组的周会上提到,返修率高并不是供应商的问题,而是需求方的问题——Everstone这边给出的需求文档在历史细节上的约束太多,而供应商的建模师大多没有历史题材项目的经验,他们能看懂面数预算和贴图精度,但看不懂“歇山顶举折比例需符合八等材制度中厅堂等级规制”这种表述。结果是,供应商按照自己的理解做完,交过来,被李想的场景审核组打回,修改,再提交,再打回,平均每个物件的往返次数是二点七次。这不仅拖慢了进度,也在消耗供应商的利润空间。有两家成都的供应商已经在评估是否继续合作。

供应商品控这个岗位,要解决的就是这个环节的问题。沈明远在评估会上说,这个人需要具备三种能力:第一,能读懂李想给出的美术需求文档,并将其翻译成供应商能理解的技术规格;第二,能驻场审核,在供应商的生产过程中就发现问题,而不是等交付后再返修;第三,能在不妥协历史品质底线的前提下,找到供应商能力范围内的最优解。赵敏当时问了一句:“市场上有没有同时具备这三种能力的人?”沈明远的回答很简短:“不知道。先把JD放出去。”

JD放出去之后,第一周收到了十一份简历。赵敏筛选之后留下了三份,其中两份来自上海,一份来自深圳。三份简历的候选人都有五年以上的外包管理经验,但没有任何一个人做过历史题材的游戏项目。赵敏在简历筛选备注里写了一行字:“候选人对‘历史品质’的理解停留在‘古风’层面,与项目要求存在差距。”这行字后来被沈明远看到了。他在赵敏的备注下面加了一句回复:“差距可以在入职后通过培训弥补,但外包管理经验无法速成。优先推进面试。”

面试安排在三月的最后一周。三个候选人分别从上海和深圳飞到杭州,在Everstone的会议室里接受了沈明远、李想和赵敏的联合面试。面试的具体过程没有被记录下来,但赵敏在面试结束后的总结邮件里提到了一个关键细节:三位候选人在被问到“如何处理品质与效率冲突”时,都给出了成熟的回答——优先级排序、风险预判、替代方案、阶段性验收。

但当李想拿出一张宋代歇山顶建筑的参考图,请他们指出哪些结构细节在建模时最容易出错时,三个人都沉默了。沉默最长的那个持续了将近二十秒。最后是深圳来的候选人打破了僵局,他说:“我认不出这些细节,但我能建立一个流程,确保能认出这些细节的人在关键节点上拥有审核权。”李想后来跟沈明远说,这个回答是他能接受的底线。

深圳的候选人最终被录用了。他叫周恒,入职日期是2023年4月17日。他的工位被安排在李想隔壁,中间只隔了一块半透明的隔板。周恒上班的第一天,李想递给他一本打印版的《营造法式注释》,厚度大约四厘米,封面是浅灰色的卡纸,上面用马克笔写着“供参考”三个字。周恒接过来翻了翻,问了一句:“有没有电子版?”李想说有,然后把PDF发到了他的邮箱。那个PDF的文件名是“营造法式注释_完整版_2021校订”,大小是四百七十兆。周恒下载之后看了一眼页数——八百三十二页。他没有抱怨,只是把PDF拖进了桌面上的一个文件夹,文件夹的名字叫“需要看的”。

周恒入职后的第一个月,做了一件事。他把过去半年所有被场景审核组打回的供应商交付件整理成一个表格,按照打回原因分类统计。统计结果出来后,他打印了一份交给沈明远。表格显示,打回原因排名前三的是:建筑构件比例错误,占比百分之四十一;材质贴图与历史参考不符,占比百分之二十七;细节装饰越制,占比百分之十八。

周恒在表格下方写了一行结论:“百分之八十六的返修源于供应商对历史规制的理解偏差,而非技术能力不足。建议建立标准化视觉组件库,将历史规制内化到组件参数中,供应商只需调用和适配,不需要自行判断规制。”这行结论,与林铮三个月前在茶水间里说的那番话,几乎完全一致。

视觉组件库的建设,从2023年5月正式启动。李想从场景组抽调了两名资深美术,加上新入职的两名场景编辑,组成了一个四人专项小组。他们的任务是把燕云十六声中所有需要反复使用的建筑构件,按照宋代建筑规制的逻辑,拆解为一套可调用、可组合、可适配的基础组件。这个任务的技术难度不在建模本身,而在于拆解的逻辑——拆得太粗,复用率上不去,供应商仍然需要大量手动调整;拆得太细,组件数量爆炸,维护成本会吃掉所有效率提升的红利。

林铮提出了一个方案:按照材等制度建立三级组件体系。第一级是基础几何体,对应不同材等的标准构件尺寸——柱径、梁高、斗拱出跳距离,这些参数直接从《营造法式》的八等材制度中提取,硬编码到组件的元数据里。第二级是风格变体,在同一材等下提供三到五种不同的装饰方案,分别对应不同等级的建筑——殿阁级、厅堂级、余屋级。第三级是地形适配方案,每个组件在交付时自带三个版本的底座模型,分别适配平地、缓坡和陡坡三种常见地形。供应商在调用组件时,只需要在引擎内选择材等、等级和地形三个参数,组件会自动匹配对应的模型和贴图,不需要手动修改比例。

这个方案在专项小组内部引起了激烈争论。争论的焦点不是技术可行性,而是第三级——地形适配方案。两名从场景组抽调的美术认为,地形适配不可能被简化为三种预设方案,因为实际场景中的地形变化远远超过平地、缓坡、陡坡这三个范畴。一块坡地的朝向、坡度变化、与周边建筑的关系,都会影响建筑底座的实际形态。如果强行套用预设方案,最终效果会很“假”——建筑像是被硬摆在场景里,而不是从场景中生长出来的。这个批评触到了组件库方案最敏感的神经:标准化与有机感之间的矛盾。

林铮没有直接回应这个批评。他在专项小组的第三次会议上,打开了自己的笔记本电脑,投屏了一个表格。表格里是过去一年中所有场景交付件的地形数据统计。数据显示,燕云十六声当前已完成的三座核心州城中,建筑底座的地形坡度分布呈现明显的聚集特征:百分之七十二的建筑位于坡度小于五度的平地上,百分之二十一位于五到十五度的缓坡上,只有百分之七位于超过十五度的陡坡上。林铮指着这组数据说:“三种预设方案覆盖了百分之九十三的场景。剩下百分之七的陡坡场景,可以保留手工调整。这不是妥协,这是资源配置。”

数据本身没有说服所有人,但它改变了争论的性质。从“能不能做”变成了“值不值得为了百分之七的场景保留百分之百的手工工作量”。李想最终在这个问题上做出了让步。他在专项小组的第四次会议结束时说了一句话:“组件库覆盖百分之九十三,剩下百分之七我来亲自盯。”这句话后来被周恒记在了自己的工作笔记里,旁边加了一个标注:品质底线的最后防线。

组件库的建设花了整整三个月。到2023年8月,第一版宋代建筑视觉组件库正式交付使用,包含基础组件一百七十六个,风格变体五百二十八种,地形适配方案覆盖了全部基础组件。周恒在交付邮件中附了一份测试报告,报告显示:使用组件库后,供应商完成一个标准民居场景物件的平均工时从十四小时下降到五点五小时,返修率从百分之三十四下降到百分之十一。沈明远把这份报告转发给了陈言,邮件正文只有一句话:“三个月前承诺的效率提升,数据在这里。”

但组件库的代价也在同一时间浮现。李想在八月底的一次场景评审中,连续打回了七个使用了组件库的交付件。打回原因集中在同一个问题上:组件之间的衔接生硬,缺乏手工拼接时的那种自然过渡感。一个由十二个组件拼成的村落广场,从技术规格上看没有任何问题——每个组件的材等、等级、地形适配都正确,但整体效果就是“不对”。李想在评审意见里写了一段话:“组件是对的,但组件之间的关系是死的。手工拼接时,美术会根据相邻建筑的高度差、朝向夹角、视觉重心分布来微调每个组件的位置和角度,这种微调产生的有机感,是参数无法预设的。”

这个问题被提交到了沈明远面前。沈明远读完李想的评审意见后,没有立即做决定。他让周恒统计了一组数据:在过去三个月使用组件库完成的场景中,有多少比例在最终评审中被认定为“缺乏有机感”?周恒统计出来的数字是百分之十九。沈明远又让林铮评估,如果为每个组件增加“相邻关系微调参数”,需要增加多少开发工作量?林铮评估的结果是:需要为每个组件额外增加四到六个可调参数,开发周期至少延长两个月。

沈明远在九月的第一个周一做出了裁决:组件库维持现有参数体系不变,不做相邻关系微调参数的开发。但他同时批准了一个补充方案——在场景最终拼装完成后,由李想的场景审核组进行一次“有机感巡检”,对百分之十九可能出问题的场景进行手工微调。这个方案相当于在工业化流水线的末端,重新插入了一个手工环节。它不是最优解,但它是在现有资源约束下,能同时守住效率和品质的唯一解。

叙事模板的建设几乎与组件库同步推进,但它的遭遇更加曲折。陆辰在2023年4月就开始着手设计第一版历史叙事模板。他的思路是把碎片化叙事拆解为五个标准模块:信息碎片类型(背景交代/情绪暗示/线索指引/世界观补全)、碎片长度(按字数分为短中长三档)、碎片触发条件(地点触发/任务进度触发/NPC交互触发)、碎片间关联逻辑(线性/网状/独立)、以及历史信息植入深度(浅层提及/中层引用/深层考据)。每个模块下面又细分出若干子项,最终形成了一套包含七十多个参数的模板体系。

陆辰把这套模板交给叙事组的两个初级策划试用,让他们按照模板填写蔚州城西市的十条支线任务碎片。结果令人沮丧。两个策划花了两天时间填出来的二十条碎片,在陆辰看来“格式完全正确,但读起来像是机器生成的”。碎片与碎片之间的情感流动消失了,每一段文本都严格符合模板的参数要求,但组合在一起之后,那种让玩家在无意中发现一个故事、拼凑一段历史的“偶然感”荡然无存。陆辰在试用总结里写了一句话:“模板保证了底线,但也压低了天花板。”

他把这个问题带到了沈明远面前。沈明远问他:“如果不追求天花板,只保证底线,这二十条碎片在游戏里能用吗?”陆辰想了想,说:“能用。玩家不会觉得这些碎片是错的,但也不会觉得它们是活的。”沈明远又问:“我们现在的手工产能,能支撑多少条‘活的’碎片?”陆辰沉默了。他知道答案——按照现有的手工打磨速度,叙事组每个月的碎片产出上限是大约八十条,而开放世界上线后需要的碎片总量是数千条量级。八十对数千,这不是差距,这是两个不同的数量级。

沈明远没有替陆辰做决定。他只是把那个数字——八十——写在了会议室的白板上,然后在旁边画了一条横线,横线上方写着“天花板”,下方写着“底线”。他放下笔,对陆辰说:“你决定在哪里划线。”

陆辰花了整整一周来做这个决定。他把自己关在工位上,反复阅读第一次外部封闭测试的玩家反馈数据。数据显示,玩家对碎片化叙事的正面评价集中在三个维度:发现感(在非任务场景中偶然触发)、拼图感(将分散碎片组合成完整故事)、和历史沉浸感(碎片中包含真实历史信息)。

陆辰在这三个维度上做了标记,然后重新打开模板文件,开始修改。他把七十多个参数砍到了三十七个,砍掉的部分主要集中在碎片间关联逻辑的预设规则上。原来的模板要求策划在填写时就预设好碎片之间的关联路径——A碎片触发后解锁B碎片,B碎片包含线索指向C碎片。这种预设虽然保证了结构的完整性,但也扼杀了偶然性。

陆辰修改后的模板取消了大部分关联预设,只保留了一个“历史信息一致性校验”规则——确保同一个历史事件在不同碎片中的描述不出现矛盾。至于碎片之间的关联路径,留给玩家自己去发现。

修改后的第二版模板在五月交付试用。这次的效果好了很多。两个初级策划用新模板完成的三十条碎片,在内部评审中通过了百分之七十。陆辰亲自修改了剩下的百分之三十,修改时间比从零开始写节省了大约一半。他在试用总结里更新了自己的判断:“模板不能替代创作,但它可以把创作精力集中在真正需要才华的部分——情感节奏、叙事留白、历史细节的文学转化——而不是消耗在格式和结构上。”

到2023年9月,叙事模板已经迭代到第三版,支持的碎片类型从最初的四种扩展到七种,覆盖了燕云十六声当前版本中百分之八十五的支线叙事需求。叙事组的月度碎片产出从八十条提升到了两百二十条,其中约百分之六十由模板生成后经人工修改,百分之四十仍由核心团队手工打磨。陆辰在九月的月度汇报中写道:“天花板没有被压低,但底座被抬高了。以前我们花百分之八十的时间做底座,现在底座由模板完成,我们可以把百分之八十的时间花在天花板上。”这句话后来被沈明远引用到了给陈言的季度汇报中。

但并不是所有人都接受了这套新体系。2023年6月,叙事组一名入职两年的策划提出了离职。她叫苏敏,是陆辰从一家独立游戏工作室挖来的,参与过蔚州城早期支线任务的创作。她在离职面谈中对陆辰说了一段话,这段话没有被记录在正式的离职文档里,但陆辰后来在内部复盘时转述过。苏敏说:“我来这个项目是因为它让我觉得每一段文本都是被认真对待的。现在我觉得我在填表。模板里的那些参数,每一个我都理解,但填完之后我不觉得自己写了一段故事,我只觉得我完成了一个工单。”陆辰没有挽留她。他在苏敏的离职审批表上签了字,然后在备注栏写了一行字:“体系变革必然伴随个体不适。尊重选择。”

苏敏的离开不是孤例。2023年7月到9月之间,Everstone工作室先后有四名核心成员离职,分布在场景、叙事和战斗策划三个组。离职原因各不相同,但有一个共同的情绪线索:他们加入这个项目时,认为自己参与的是一个“手工艺作坊”——每一件作品都带着创作者的个人印记;而现在,项目正在变成一条“生产线”——个人印记被系统稀释,创作者变成了系统的操作者。这种情绪在离职面谈中被反复提及,但从未出现在正式的离职原因栏里。正式的离职原因栏里填的是“个人职业规划调整”或“家庭原因”。

沈明远对这波离职潮的态度是克制的。他在八月的全员邮件中写了一段话,没有直接回应离职问题,但所有人都知道他是在回应。他写的是:“燕云十六声不是一个能让每个人按照自己的方式创作的项目。它的体量决定了它必须依赖系统,而不是个人。但我希望这个系统本身,是由这个项目里最有才华的人建立起来的。建立系统的人,比使用系统的人,对这个产品的影响更大。”这段话没有留住任何想走的人,但它让留下的人明确了一件事:沈明远知道代价是什么,他选择承受。

代价的具体数字在九月底被赵敏统计出来。四名离职核心成员的替代招聘成本、新员工入职培训周期、以及离职导致的部分模块进度延误,合计造成大约六周的项目进度损失。但同一份统计报告也显示,组件库和叙事模板上线后带来的效率提升,已经在三个月内弥补了这六周的损失,并额外释放了大约百分之十五的产能余量。赵敏在报告的结论部分写道:“短期阵痛已被长期收益覆盖,但人员流动对团队士气的隐性影响无法量化。”

无法量化的影响在十月初的一次全员评审会上显现出来。沈明远在评审会上展示了组件库和叙事模板的产能数据,数据曲线很漂亮——月度场景产出量从组件库上线前的四十七个单元提升到一百三十八个单元,月度支线任务碎片产出从八十条提升到两百二十条。但台下坐着的几十个团队成员,反应并不热烈。有人鼓掌,但掌声稀稀落落,像是完成一个仪式。沈明远注意到了这个反应。他在评审会结束后对林铮说了一句话:“数据说服了管理层,但没有说服做内容的人。”林铮的回答很简短:“做内容的人不看数据,他们看自己手里的东西。”

自己手里的东西到底变成了什么?这个问题在十月中旬有了一个意外的答案。周恒在例行审核一批供应商交付的场景物件时,发现了一个细节:一个由组件库拼装而成的村落广场,在引擎中的实际效果,与三个月前李想手工搭建的版本相比,在技术参数上的差距已经缩小到了几乎不可分辨的程度——建筑构件的比例正确、材质贴图准确、地形适配自然。但周恒在审核意见里写了一句话:“技术参数全部达标,但广场中心的古井位置偏了大约半米,导致井口与周边建筑的关系失去了手工版本中的那种向心感。”他把这句话标成了蓝色字体——蓝色在周恒的审核体系中代表“非致命但值得注意”。

李想看到了这条蓝色意见。他在周恒的审核报告上批了一行回复:“半米的偏移,在玩家视角里几乎看不出来。但一百个半米的偏移叠加在一起,整座城就会失去重心。”他批完之后,把这份报告转发给了沈明远,附了一句话:“组件库的效率我认可,但有机感的损耗是真实的。我们正在用一百个看不见的半米偏移,重新定义这款产品的视觉品质底线。”

沈明远读完这句话之后,做了一件他在整个项目周期中很少做的事——他没有回复邮件,而是直接走到李想的工位前,站了大约一分钟。然后他说:“一百个半米的偏移,和手工模式下根本做不完一百个场景,你选哪个?”李想没有回答。沈明远也没有等他的回答。他转身走回了自己的工位,在周恒的审核报告上批了两个字:“已知。”

这两个字后来被李想保存了下来。他把那封邮件打印出来,折成两折,夹进了那本浅灰色封面的《营造法式注释》里。书脊上已经积了一层薄灰。自从组件库上线以来,李想翻开这本书的频率从每周三四次降到了每月一两次。不是不需要了,而是大部分规制已经被写进了组件的元数据里,不再需要人工查证。这件事本身——不再需要翻开一本书——就是生产线重塑最具体的后果。

2023年11月,燕云十六声的单版本内容交付量首次突破开发中期的三倍。沈明远在月度汇报中把这个数字作为核心指标展示给陈言。陈言看完汇报后问了一个问题:“品质方差呢?”沈明远调出了周恒的品控数据:组件库上线后的场景交付件中,品质评级为A(优秀)的比例从手工模式下的百分之四十二下降到百分之三十一,但评级为B(合格)的比例从百分之三十八上升到百分之五十七,评级为C(需返修)的比例从百分之二十下降到百分之十二。品质的上限被压低了,但下限被大幅抬升。整体方差缩小了百分之四十。

陈言看完数据之后,在汇报上批了一行字:“上限的损失能否通过后续版本的手工打磨逐步回收?”沈明远在下面回复:“可以,但需要时间。当前优先级是保证上线版本的内容规模达标。上限的回收计划建议排入上线后第二个版本周期。”陈言批准了这个建议。

至此,生产线的重塑完成了它的第一次完整闭环。从2023年3月那份附件三开始,到11月的品质方差数据出炉,历时八个月。六个新增编制全部到岗,视觉组件库和叙事模板两套核心系统投入运转,外部供应商管理流程重新建立,产能数据达到预期目标。代价是四名核心成员离开,视觉品质的上限被暂时压低,以及团队内部对“手工艺精神”的集体怀念情绪在很长一段时间内没有消散。

2023年12月初,沈明远在Everstone的年终总结会上做了一次内部演讲。他没有用PPT,只是站在白板前,手里拿着一支没有拔开笔帽的马克笔。他说:“今年我们做了一件很难的事——把一部分自己交出去,交给系统,交给流程,交给新来的人。交出去的东西里,有一些是我们最珍惜的。但如果不交,这个项目可能根本走不到上线那天。”他停了一下,把笔帽拔开,在白板上写了四个字。不是“产能跃升”,不是“工业化转型”,不是“效率优先”。他写的是:“他们存在。”

这四个字与一年前陆辰在蔚州城文档里写下的那行批注完全一致。没有人知道沈明远是刻意引用,还是无意重合。但坐在台下的陆辰看到这四个字的时候,把视线从白板上移开,低头看了自己的手。他的手指在膝盖上无意识地敲了三下,像是在数一个只有他自己知道的节拍。

散会后,周恒在收拾会议室时发现白板上的字没有被擦掉。他犹豫了一下,拿出手机拍了一张照片。照片的右下角显示的时间是2023年12月8日下午五点四十七分。这张照片后来被他存进了一个文件夹,文件夹的名字叫“生产线重塑”。里面已经存了一百多份文件——岗位说明、组件库参数表、品控报告、产能对比图表、离职审批扫描件。这些文件加在一起,构成了燕云十六声从手工作坊走向工业化生产的全部证据。

但证据本身不能回答所有问题。2024年1月,距离游戏正式上线还有十一个月,沈明远收到了一封来自李想的邮件。邮件正文只有一行字:“组件库的百分之九十三覆盖率已经稳定运行了四个月,剩下百分之七的手工场景我也全部审核完毕。现在我想申请两周的假期,回蔚州看看那些老槐树还在不在。”

沈明远批准了假期。他在批准邮件里加了一句话,这句话后来被李想转发给了陆辰,陆辰又转发给了林铮,最后整个核心团队都看到了。沈明远写的是:“上线之后,玩家不会知道哪棵树是算法种的,哪棵树是你画的。但他们能感觉到,这座城里有没有人真的在乎那些树。”