存档进入第七个赛季,门将骆川已经三十四岁。德比前一晚的加练结束后,玩家扮演的中后卫走过去想和他聊几句。上周两人在更衣室里随口聊过哪家面馆的牛肉面好吃,骆川一个字也没提;他提的是五年前那场杯赛决赛:点球大战第五轮玩家罚丢了,是他扑出对方最后一球,把比赛拖进了突然死亡。“那天你走回中圈的样子,我到现在还记得。明天别想太多。”

这段对话好在取舍。假如骆川把面馆和决赛记得一样清楚,他就成了一台回放机;假如两件事他都忘了,七个赛季的并肩就只剩存档里的一个数字。体育NPC需要记住多少年前的事,答案不取决于年数,而取决于事情的分量,以及这件事和角色此刻想做的事之间有没有关系。

骆川的七个赛季被分成四层,保存期限各不相同

在乐鱼体育对体育NPC大模型的设计里,一个角色的记忆至少可以拆成四层,每层的保存方式不同。

记忆层级 骆川的例子 保存方式(模拟设定)
Short-term Memory 上周聊面馆、某次训练里的一句玩笑 几天到几周内可直接引用,之后压缩或淡出
Relationship Memory七个赛季里与玩家的大量互动累积出的信任 不保留原话,只保留“他靠得住”这类结论和它的变化趋势
Career Event 第三赛季丢掉主力、第五赛季续约两年 跟随整个职业生涯,影响他对俱乐部和前途的判断
Important Event 杯赛决赛点球大战、与前任主帅的公开冲突长期保存并保留细节,多年后仍可被相似场景唤起

一件事落在哪一层,由事件本身决定:比赛的重要程度、最终结果、是否牵涉合同和位置、有没有公开冲突、当事人的情绪强度。季前热身赛里的一次扑救进不了第四层,一场决赛的点球大战几乎一定会进。

模拟场景本文中的骆川、齐远、纪澄等人物,以及赛季编号和保存期限,均为说明设计思路的示例,不代表任何已上线功能的具体参数。

淡忘其实是压缩:三百次训练对话最后剩下什么

“不能什么都永久保存”常被理解为节省存储,更要紧的原因其实是人物可信度。真实的队友不会记得五年前某个周二你传偏了几脚球,但会记得“这小子那几年加练从来不缺席”。Short-term Memory 淡出之前,应该先把可复用的信息提炼进 Relationship Memory:原话消失,结论留下,而且结论带着方向——信任在上升、持平还是下滑。

压缩还能防止角色变得病态记仇。如果系统把每一次小摩擦都原样保存,某个NPC可能在第七个赛季突然翻出第二赛季训练对抗里的一次犯规,玩家只会觉得莫名其妙。反过来,一件事如果被人物反复提起、在更衣室里被议论过,它的权重应该上升。记忆因为被使用而加固,这一点和人很像。

同一场决赛,在齐远那里是另一段记忆

骆川性格偏 Reserved,他提起决赛,是为了让玩家在德比前放松,话说一句就收住。同一场决赛,在前锋齐远的记忆里完全是另一副样子。齐远当年是替补,点球名单上原本有他,赛前被主帅换成了玩家。他性格偏 Emotional,这件事在他那里被标记成“被拿走的机会”,并没有被记成一段并肩作战。

所以记忆分层只回答“记不记得”,性格回答的是“怎么记、什么时候说”。系统需要让每个NPC保存自己视角下的事件版本,不能全队共用一条客观日志。比分、罚球顺序、谁扑出了哪一球,这些事实可以共享;每个人附加在事实上的评价、情绪和结论,只属于他自己。多年后玩家和齐远在另一家俱乐部重逢时,决赛会以一种略带怨气的方式被提起,这恰好说明关系是双向的。

骆川此刻想要什么,决定他会想起什么

第七个赛季的骆川目标很清楚:合同只剩最后一年,俱乐部刚买来二十一岁的门将纪澄,他希望退役后留队当门将教练。这个目标会改变他从记忆里调取什么。

一个想转型做教练的老将,更可能调取那些能体现经验和稳定性的往事,也更愿意照顾年轻球员和状态起伏的队友。如果他的目标是再拿一份高薪合同,他可能更常提起自己的扑救数据和决赛表现,而且更愿意说给主帅和记者听。

因此检索排序不能只看时间远近和话题相似,还要看这段记忆对角色眼下的目标有没有用。五年前的决赛在德比前被想起,一是情境相似:高压比赛,玩家最近两场都有失误;二是它能帮骆川完成他此刻想做的事——稳住一名队友。

从回忆到决定:骆川为什么只说了一句话

在那个夜晚,骆川面前有几种可选的做法:提起决赛鼓励玩家;什么都不说;去找主帅建议让玩家打得保守一点;讲自己第一次踢德比时的紧张。系统在做选择时,同时参考了四样东西:长期信任度很高,近期记忆里玩家有两次失误,性格偏克制,个人目标指向“带人”。

检索决赛记忆叠加近期失误与长期信任按克制性格选择简短鼓励德比中观察玩家表现

换一个存档:如果玩家和骆川在第四赛季因为一次公开指责闹翻,同一段决赛记忆依然存在,他却不会主动提起。记忆还在,决定不同。遗忘和沉默是两回事,一个好的记忆系统必须能区分它们,否则玩家会误以为角色“失忆”了。

德比踢完以后,新记忆怎样写回存档

行动会产生新的记忆。假如玩家在德比里完成一次门线解围,骆川对玩家的 Relationship Memory 会增加一条正向结论,而且这条结论和五年前的决赛挂上钩:“大场面里他长大了。”假如玩家失误导致丢球,新记忆同样会和旧决赛关联,只是解读取决于信任度:信任高时是“他还需要时间”,信任低时可能变成“他一到大场面就不行”。

这次谈话也不只存进骆川和玩家两个人的记忆。年轻门将纪澄在旁边看到骆川照顾队友,他对骆川的评价会往“值得学”的方向移动;主帅对骆川转型教练的判断也多了一条依据。玩家不在场时,这些NPC之间的关系同样在变化,这正是乐鱼体育想让体育世界“自己运转”的部分。

多少年算太久:几条可以落地的保存规则

  • 普通对话:以周为单位淡出,淡出前先提炼成关系结论。
  • 关系变化:保留趋势和转折点,不保留每一次互动。
  • 职业事件:转会、续约、失去主力、重伤,跟随角色整个职业生涯;退役后转为教练或解说,这些记忆随身份一起继承。
  • 重大事件:冠军、决赛、公开冲突、关键失误长期保存,情绪强度随时间衰减,被再次提起时加固。
  • 允许重新解释:两人多年后和解,冲突记忆仍在,但附着在上面的结论可以改变。

关于强度衰减,NPC长期记忆一文用记者采访做过另一个角度的讨论;更多角色设计可以在体育NPC大模型栏目里找到。回到德比前夜:骆川不记得面馆,却记得那个走回中圈的背影。对一个体育NPC来说,这种记忆方式比“全部记住”更接近一个真实的老队友。