第 23 章
最后的内部测试
测试总结简报的封面上印着一行宋体字:“《燕云十六声》上线前最终内部测试数据报告”。报告编号E24-1120,日期标注为2023年11月20日,密级标为“项目组核心成员及事业群管理层”。装订用的深蓝色封皮是行政部统一采购的标准款,和项目组过去三年里归档的所有测试报告一模一样。
孙桐在翻到第十七页的时候,光标停在了次日留存率曲线那条垂直的断崖上。首日留存58.3%,越过了55%的及格线。二十四小时后,23.1%。他在截图右下角打了一行注释:流失节点集中发生在完成开封引导任务后的四十分钟内。字体用的是小五号宋体,和整份报告的数据标注保持了一致的格式规范,但这句话在后续两周的内部讨论里被引用了不下二十次,每一次被引用时,措辞都在不同人的转述中变得比原文更尖锐。

用户研究组在测试开始前把样本池分成了两组。A组是“纯净用户”——从未接触过《燕云十六声》任何版本的测试者,招募渠道包括高校游戏社团、历史爱好者社区和部分竞品游戏的活跃玩家,他们将作为这个开放世界武侠历史奇幻动作角色扮演游戏的第一批陌生评判者。
B组是老玩家对照组,平均参与过两次以上此前的封闭测试。两组样本各一千二百人,测试周期七天,数据采集维度覆盖了从首次登录的点击热区到卸载客户端的精确秒数。
这个分组设计在测试方案评审阶段就引发过争论。运营侧的人认为把纯净用户的比例拉到50%太冒险——“他们没有任何情感缓冲,第一印象就是最终印象。”沈明远在评审会上没有回应这句话,但他在方案扉页的空白处写了一条批注:我们要的就不是缓冲过的数据。
测试在11月7日上午十点正式开启。孙桐在后台看着实时数据涌入,前两个小时的行为热力图呈现出一种让他暂时安心的形状:开封城区的色块迅速从灰色过渡到橙红,玩家密度最高的区域集中在朱雀门、大相国寺和汴河沿岸的商业街区。NPC交互频次曲线在第一个小时内攀升到了预期值的1.3倍,拍照模式的触发次数在第二个小时达到了峰值。新用户在开封城里的平均停留时间是两小时四十分钟,行为密度覆盖了对话、探索、奇遇触发和服饰试穿。断裂发生在第四个小时。
热力图上,大量新用户的坐标开始从开封城门向外移动,进入城外的第一个野外区域——“陈桥驿”。这片区域在策划文档里被定义为“新手过渡区”,设计意图是让玩家在离开城市后通过一系列轻度战斗任务熟悉操作。测试数据显示,玩家在进入陈桥驿后的前十分钟内,操作频率从城市区域的平均每分钟十二次点击骤降到四次。二十分钟后,第一批用户的登录状态变成了灰色。
孙桐把这个时间轴投到部门复盘会的屏幕上时,会议室里沉默了将近半分钟。他用的是一张双轴对比图:左轴是玩家在开封城内的行为密度曲线,右轴是进入陈桥驿后的行为密度曲线。两条曲线在“城门”这个坐标点上形成了一个接近九十度的夹角。
“他们不是不喜欢游戏。”孙桐用光标在开封城区的红色色块上画了一个圈,“问题出在离开城市之后。”游戏的世界观,如同工作室负责人所言,本应融入“江湖”的概念,PvP玩法旨在重现那种“腥风血雨”的肃杀体验,但在新手野外,这种江湖的沉浸感未能无缝衔接。
战斗策划赵铮坐在会议桌的另一侧,面前摊着一份打印出来的玩家操作日志。他跟踪了十二个样本用户在离开开封后的前三次战斗遭遇,数据呈现出一种从尝试到放弃的快速衰减。第一个遭遇山贼的玩家用了十二秒结束战斗,操作记录显示他尝试了三种不同的招式组合,对应着游戏中剑、“无名剑法”或“积矩九剑”等不同武器流派的技能。第二个遭遇山贼的玩家用了九秒,只用了基础攻击。第三个玩家在山贼的警戒范围外绕了过去,之后再也没有进入过战斗状态。
“战斗难度没有问题。”赵铮把日志推到桌子中间,“问题在于,玩家在开封城里被历史氛围包裹了将近三个小时之后,突然被扔进一个刷怪区。城里的NPC有日常作息、有随机对话、有对玩家行为的条件反射。野外的山贼只是站在固定位置等待触发战斗。这不是战斗系统的问题,是世界的真实性在城门那个位置裂了一道缝。”
叙事负责人陆辰在会议的后半段才开口。他面前摆着一份用户研究组转过来的老玩家反馈全文,编号U-0147的问卷被单独抽出来钉在第一页。这份问卷在“对新版本内容的总体感受”一栏里写了将近八百字,措辞在两百份样本中并不是最激烈的,但它的具体性让它在此后的内部讨论中被反复引用。
U-0147在开头写了一段对雁门关版本的回忆。那个版本里有一个寻找失踪商队的支线任务,线索散落在三个不同的城镇和一段野长城上。他花了整整一个下午拼出完整路线,找到商队遗物时触发了一段关于宋辽边境贸易的剧情。“那天晚上我在帮会频道里聊这个任务聊到凌晨一点,因为剧情里有一个细节——商队里有个伙计是辽人,但他死的时候怀里揣着一封用汉文写的家书。”
然后他对比了当前版本的一个汴京奇遇。半小时做完三个。第一个是帮酒楼老板娘找丢失的菜谱,在隔壁巷子里点一下发光体就完成了。第二个是替书生送情诗,对话选项选哪个都不影响结局。第三个他记不清内容了,只记得奖励了三十个铜钱和一件绿色品质的护腕。他在这一段末尾加了一句话,用户研究组在报告里用粗体标了出来:“以前在雁门关找一个线索要半天,但找到后能聊一周。现在汴京的奇遇半小时做完三个,转头就忘了。”他提到的“一片叶子,一条命”这类遗失章节任务,在最终版本里被更轻量的探索任务所取代。
陆辰在测试结束后的第三天看到了这份反馈。他当时刚从录音棚出来,周鹤鸣的音频团队在做最后一批环境音效的混音调整。他在项目组的内部通讯群里回复了一条:“他说得对。我们解决了‘有没有’的问题,但‘好不好’的标准在工业化流程里被稀释了。”
视觉组件库和叙事模板系统的上线时间是十个月前。在那之前,一个支线任务从策划草案到最终验收的平均周期是七天。编剧们为一个NPC的对话文本打磨三天是常态,任务流程的分支选项通常包含三到四个不同的结局走向。
模板系统上线后,周期被压缩到了三天。编剧从模板库里调出“市井纠纷”“情缘往来”“奇物收集”三个大类,在标准化的叙事框架里填入不同的NPC名字和物品名称。出来的东西能跑通,质量评估表上的各项指标都能打到及格线。
但陆辰在翻看了团队过去六个月产出的全部支线任务脚本之后,按照U-0147的标准重新评估了一遍。大约四成的任务脚本在“情感重量”这个维度上达不到雁门关版本的平均水平。
“不是编剧的能力问题。”他在核心团队例会上说,“是流程把打磨时间挤掉了。模板系统预设了一个任务从立项到验收的标准周期是三天,但一个好故事需要的发酵时间,没办法压缩到三天。”
商业化团队的付费测试数据专项复盘会在测试结束后的第三天上午召开。负责商业化的产品经理何宇准备了四十五页的PPT,但会议只进行了二十分钟就卡在了第九页。
第九页上显示了两组对比数据。第一组是外观付费:限量版宋代服饰外观“建隆遗风”上架后两小时内售罄,购买者中72%是新用户,平均购买决策时间不到三分钟。第二组是数值付费:“强化材料礼包”和“经验加成道具”的购买率只有预期值的31%,而且在购买后四十八小时内,这批用户的流失率比未购买用户高出将近一倍。何宇用光标圈住了第二组数据。“愿意为历史沉浸感付费的用户,对传统MMO的付费逻辑极度敏感。他们可以毫不犹豫地花两百块买一件还原度高的宋制服饰,但看到‘限时强化材料礼包’的时候,第一反应不是‘划算’,是‘这游戏要开始逼氪了’。”
数值策划方旭坐在角落里,面前摊着三个月前通过评审的付费点设计清单。那份清单在评审阶段就有过争论。方旭当时主张把付费重心完全移到外观和体验型消费上,但运营侧的反馈是“没有数值付费兜底,ARPU值达不到KPI基准线”。最终上线的版本是一个折中方案:外观付费占七成,数值付费占三成。现在数据表明,那三成不仅没有贡献预期的收入,反而在驱赶核心用户。“我们低估了一件事。”何宇翻到下一页,上面是用户付费行为的时间轴分析,“为沉浸感付费的用户,他们的消费决策逻辑不是‘变强’,是‘成为’。他们买那件‘建隆遗风’,不是因为外观属性加成,是因为穿上之后在开封城里走路的时候,NPC对他们的称呼变了。”
这个细节在付费说明里根本没有标注。陆辰在三个月前把“服饰触发型对话”写进了NPC的条件判定系统——当玩家穿着特定外观进入酒楼时,NPC的对话文本从默认的“客官请坐”变成“官人里面请”。他没有在任何公开文档里提过这个设计,但玩家在社区里自己发现了,然后自发传播。一个标题为“穿上建隆遗风之后,酒楼老板娘叫我‘官人’”的帖子在四十八小时内盖了将近三百楼,带动了第二波外观购买。
但方旭在复盘会上指出了一个被所有人忽略的数据死角。外观付费的用户,他们的内容消耗速度比数值付费用户快得多。购买外观的用户在接下来一周内完成了平均十二个支线任务,而数值付费用户只完成了四个。
问题在于,完成十二个任务之后,这批用户中的相当一部分会在社区里发帖说“内容不够玩”。何宇接过了话头:“所以我们的付费设计实际上在加速内容消耗。卖得越好的外观,越会推动用户更快地撞上内容边界。而我们的内容产能,即使是工业化提速之后,也跟不上这种消耗速度。”
这个悖论在测试数据里形成了一个完整的闭环。历史沉浸感吸引了高质量用户,高质量用户愿意为沉浸感付费,付费行为加速了内容消耗,内容消耗触达边界后用户开始流失,而流失的用户恰恰是项目组最想留住的那批人。何宇在会后找到沈明远,提出了一个激进的方案:在上线版本中彻底砍掉数值付费,把所有付费点集中在外观、身份和体验型消费上。“数据已经告诉我们方向了。愿意花钱的用户要的不是变强,是成为这个世界的一部分。我们如果还在付费设计上留着一截传统MMO的尾巴,这截尾巴会绊倒所有人。”
沈明远没有当场表态。他在三天后的管理层沟通会上把这个方案提了出来,会议室里的反应比他预想的更分裂。运营侧的负责人直接亮出了底线:没有数值付费,拿什么跟市场部交代?外观付费的ARPU值天花板是看得见的,一件外观卖两百块,用户买三件就到头了。但数值付费的ARPU值上限是开放的。何宇在会上回应了这句话:“数值付费的ARPU值上限确实是开放的,但用户流失率的上限也是开放的。我们现在讨论的不是要不要赚钱,是怎么赚钱才能不让产品在三个月后变成空服。”
这场争论没有在当天得出结论。测试数据的解读本身就成了一个新的战场,不同立场的人从同一组数据里看出了不同的未来。乐观者看到了外观付费的爆发力和用户对沉浸感的付费意愿,悲观者看到了内容消耗速度和系统接缝处的流失风险。而沈明远看到的,是这两者之间的张力正在把产品拉向两个相反的方向。
测试结束后的第二周,用户研究组提交了一份补充报告。这份报告追踪了测试期间流失用户在离开游戏后的行为轨迹。发现让项目组陷入了更深的沉默:流失用户中的相当一部分并没有直接离开,而是在社区里持续关注着《燕云十六声》的相关内容。他们在论坛和社交平台上仍然活跃,讨论的话题从历史考据到服饰还原,从战斗手感到剧情走向。但他们不再登录游戏。
U-0147在测试结束后的第三天发了一个帖子,标题是“我等这个游戏等了三年,玩了三天,现在我在等它变好”。这个帖子被沈明远收藏了。他在一次内部沟通会上把这句话念了出来,然后说:“我们最大的风险不是用户不喜欢这个产品,是用户喜欢它,但喜欢到一半发现它撑不住自己的承诺。”
赵铮在测试期间跟踪的十二个样本用户日志,在复盘会后被整理成了一份独立的分析报告。他发现在那些离开开封后流失的新用户中,遭遇的第一批野外敌人是三个普通的山贼。战斗本身在数值设计上没有任何问题——山贼的血量、攻击力和AI行为模式都经过了反复调校。
问题出在另一个维度:山贼的AI行为模式与开封城里的NPC存在明显的风格断裂。城里的NPC有日常作息、有随机对话、有对玩家行为的条件反射。野外的山贼只是站在固定位置等待触发战斗,没有巡逻路线,没有阵营背景,没有可以被玩家读取到的任何“存在理由”。
“玩家在开封城里待了将近三个小时之后,已经默认了这个世界的NPC是有生命的。”赵铮在报告里写道,“然后他们走出城门,遇到的第一批敌人是三个没有前因后果、没有行为逻辑、纯粹作为经验值容器存在的山贼。这不是战斗难度的问题,是世界的真实性在城门那个位置裂了一道缝。”
这道裂缝在测试数据里表现为次日留存率的断崖,在玩家反馈里表现为“吃完就忘”的失落感,在付费数据里表现为沉浸感消费与数值付费的互相排斥。三条线索在复盘会上被并置在一起之后,拼出的图景比任何单一维度的分析都要清晰:产品在每一个独立的系统上都达到了及格线,但系统之间的接缝处正在开裂。孙桐在测试总结简报的最后一页写了一行字:“本次测试未出现系统性失败,但暴露出的问题均指向同一个核心矛盾——产品在‘吸引用户’和‘留住用户’之间,缺少一个可持续的中间层。”
简报的结论部分使用了克制的措辞。“首日留存达到预期指标。”“用户对历史沉浸感的付费意愿显著高于行业平均水平。”“版本内容产能在工业化流程支撑下实现了规模增长。”每一个判断句后面都跟着一个“但”字开头的补充说明。“但次日留存出现超预期下跌。”“但付费设计中的数值模块与核心用户价值感知存在冲突。”“但内容的情感重量在模板化生产中出现稀释。”
这份报告被分发到了项目组各系统负责人的邮箱里,同时抄送给了网易互娱事业群的管理层。沈明远在收到报告后的那个周末,在办公室里待到很晚。他没有反复看数据图表,而是在读用户研究组转过来的老玩家反馈全文。U-0147的那份问卷他读了三遍,读到第三遍的时候,在“转头就忘了”那句话旁边用铅笔写了四个字:内容债务。这个词汇在软件工程里指的是为了赶进度而牺牲代码质量所累积的长期成本。沈明远在周一早上的核心团队例会上把这个概念抛了出来。“我们现在还的内容债务,是过去一年工业化提速时欠下的。模板系统让我们跑得快了,但每一步踩得浅了。浅到留不住脚印。”
测试结束后的第三周,各系统负责人提交了各自的整改清单,加起来有将近两百项。这些整改项被分成了三个优先级:上线前必须解决的、上线后第一个版本更新的、可以在后续版本中逐步优化的。
沈明远在审阅这份清单时,在“付费设计调整”这一项旁边打了个星号。这一项被标记为“上线前必须解决”,但负责这一项的何宇和运营侧至今没有达成共识。星号旁边,沈明远写了一行小字:这不是付费设计的问题,是产品价值锚的问题。用户为什么留在这里,我们得先回答这个,才能回答怎么让他们花钱。
这句话后来被写进了测试总结简报的补充说明里,但在向上汇报的版本中被删掉了。删掉它的人认为这句话“过于哲学化,不适合出现在数据报告里”。留下的是数据、曲线、百分比,以及那些被精确标注的流失节点。
2023年11月的最后一个工作日,孙桐最后一次更新了测试数据看板。次日留存率的断崖曲线仍然挂在屏幕中央,旁边是外观付费的售罄记录,再旁边是U-0147的那句“转头就忘了”。
孙桐在那张截图里还留了一个他自己都没意识到的细节。三个窗口的排列顺序——次日留存断崖在左,外观售罄记录在中,玩家反馈在右——恰好对应了测试数据流的时间顺序:用户来了,用户买了,用户走了。
他在截完图之后关掉了数据看板,打开了另一个文件夹,里面是他从测试第一天开始记录的“异常行为日志”。这份日志不在任何正式报告的引用范围内,因为它记录的不是统计显著性,而是那些在数据清洗时被剔除的离群值。
其中一个离群值他反复看了三遍:一名纯净用户组的测试者,在进入陈桥驿后没有触发任何战斗,也没有绕开山贼,而是在山贼的警戒范围外站了将近四分钟,然后打开拍照模式,对着远处的汴京城墙拍了一张截图,随后下线。这名用户在此后七天的测试周期内再也没有登录过。孙桐在日志里给这条记录标注了一个问号,但这个问号没有出现在任何一份正式报告里,因为单一样本的行为不具备统计意义。他在复盘会结束后的那个晚上重新翻出了这条记录,在问号旁边补了一行字:他拍的不是城墙,是他在这个世界里最后一眼看到的东西。
用户研究组在补充报告里追踪的那批“离开后仍在社区活跃”的流失用户,其行为模式在后续两周内呈现出一种让运营侧无法归类的特征。他们在论坛上讨论历史考据的帖子,平均回复长度是四百字,远高于社区平均水平。他们参与“你最希望在下个版本看到哪个历史事件”投票的活跃度,甚至超过了仍在游戏内的活跃玩家。
但他们不再登录。用户研究组在报告附录里列了一张表格,统计了这批用户在社区中讨论的话题分布:历史考据占37%,服饰还原占28%,剧情走向占19%,战斗系统占6%,其他占10%。何宇在翻到这张表格的时候,用荧光笔标出了“服饰还原”那一栏,在旁边写了一条批注:这批人不是走了,是在外面等我们追上自己画的饼。这条批注后来在商业化团队的内部讨论中被改写成了一句更直白的话:“我们的核心用户正在变成我们的外部监督者。他们不玩了,但他们也不走。他们就站在门口,看着我们怎么收拾这个摊子。”
方旭在付费方案拉锯的第三轮会议上,把何宇的那句批注投影到了屏幕上。他用的是用户研究组补充报告里的另一组数据:购买“建隆遗风”外观的用户中,有41%在购买后四十八小时内至少发过一条社区帖子,内容涉及服饰的历史还原度、NPC的称呼变化、或者对更多历史外观的期待。而购买“强化材料礼包”的用户中,发帖率是6%,帖子内容集中在性价比计算和数值提升效果上。
“这两批人不是同一批人。”方旭把光标在两列数据之间来回移动,“买外观的人在帮我们做口碑传播,买材料的人在帮我们做成本核算。口碑传播带来的是新用户,成本核算带来的是比价帖。我们如果继续把这两类付费点放在同一个商城界面上,等于让口碑传播的用户一抬头就看到比价帖。”
运营侧的负责人在会议桌对面沉默了一会儿,然后问了一个问题:“如果我们砍掉数值付费,ARPU值缺口怎么补?”何宇翻出了第九页PPT的下一页,上面是他提前准备好的数据推演:如果外观付费的品类从当前的十二种扩展到服饰、武器外观、坐骑装饰、住宅家具四个大类,配合限时返场和主题季票机制,ARPU值上限可以提升到当前数值付费模式的1.7倍。
“前提是,”何宇在翻到这一页的时候停了一下,“我们的内容产能跟得上外观消耗的速度。卖一件外观等于向用户承诺了‘穿上它之后这个世界会给你新的反馈’。如果用户买了第二件外观,发现NPC的反应和第一件一样,这个模型就会塌。”
陆辰在听到这句话的时候,正在会议桌的另一侧翻看自己团队提交的支线任务整改清单。他在何宇说完“新的反馈”四个字之后抬起头,说了一句让会议室安静了将近十秒钟的话:“NPC的服饰触发型对话,目前只覆盖了开封城内的十七个NPC。如果外观品类扩展到四个大类,我需要至少把覆盖范围扩大到八十个NPC,而且每个NPC至少需要三套不同的条件判定文本。按照现在的编剧产能,这个工作量需要四个月。
但我们只有不到十三个月,这十三个月里还要同时完成主线剧情的收尾、支线任务的情感重量回填、以及至少两个新区域的全部叙事内容。”他停了一下,然后补了一句:“我说的还只是文本。周鹤鸣那边,每一种新外观对应的环境音效触发条件,也需要重新调。”
赵铮在陆辰说完之后没有立刻接话。他面前摊着那份“重构野外NPC行为逻辑系统”的整改方案,第一页上列着需要修改的敌人类型清单:山贼、流寇、野兽、巡逻兵、江湖散人,共计五类,分布在七个野外区域。每一个类型的修改都涉及到AI行为树的重构——从“定点触发战斗”改为“区域巡逻+阵营判定+条件对话”。他在方案的第二页写了一个预估工期:六周。但这个预估只包括了程序实现,还没有算上陆辰那边需要为每一类敌人补写的背景文本和条件对话。如果算上叙事层的配合,工期至少翻倍。
他把这三个窗口并排放在同一个桌面上,截了一张图,存进了个人文件夹。文件夹的名字叫“上线前”。同一天下午,项目组开了测试后的最后一次全员复盘会。沈明远没有做总结发言,他把时间留给了各系统的负责人,让他们各自陈述整改计划。陆辰在发言中提到,他的团队已经开始重新梳理过去六个月产出的支线任务脚本,按照雁门关版本的标准逐条评估“情感重量”这个维度。
赵铮的整改清单上,第一条就是“重构野外NPC的行为逻辑系统”,让城外的敌人不再是站在固定位置的经验值容器。何宇的付费方案仍然在和运营侧拉锯,但他在会上明确说了一句话:“如果上线版本的付费设计还留着那三成的数值尾巴,我会在正式上线前再提一次异议。”
会议结束时,窗外已经是杭州的冬夜。未来科技城的写字楼群亮着密密麻麻的灯光,文一西路的车流拉成一条橘红色的光带。有人收拾电脑准备下班,有人重新打开测试数据继续翻看,有人站在茶水间里低声讨论着那份还没达成共识的付费方案。简报被归档在共享文档库里,封面上“最终测试”四个字印得很清楚。
但在那天晚上离开办公室的人里,没有几个人真的觉得这是“最终”。产品必须上线了。日程表上写的日期是2024年12月,只剩不到十三个月。所有系统性的整改必须在这个时间窗口里完成,而那些在测试中被识别出来的深层矛盾——内容债务、价值锚撕裂、系统接缝处的断裂——每一个都需要比十三个月更长的时间来消化。测试结束了,但测试所揭示的问题被压缩进了整改清单,分配给了具体的负责人,设定了截止日期。在截止日期和问题的真正解决之间,隔着一整个产品上线后的真实市场。