绝杀之后的十分钟,论坛里发生了什么

河湾灯塔队这场2比1的绝杀,是一场很适合观察AI球迷的比赛。比赛前92分钟,灯塔队踢得并不好,头号前锋雷诺全场只有一次射正,主教练在第70分钟换下了青训出身的边锋。然后,一个平时很少进球的中卫,在角球里顶进了决定比赛的一球。

如果球迷系统只有一个统一情绪,这场比赛的处理很简单:赢了德比,情绪大幅上升。但在九游体育的AI球迷模拟里,终场后十分钟内的论坛是这样的:

  • 看台核心“灯塔南区”的成员连发庆祝帖,配图全是韩屹冲向角旗的瞬间;
  • 一批雷诺的支持者在讨论“前锋又被孤立了,这种赢法不可持续”;
  • 几个战术型球迷已经开始分析下周中的杯赛该不该轮换两名中卫;
  • 一位注册了九年的老球迷写道,五年前那个乌龙球他还记得,今天算是还上了一半;
  • 还有相当一部分球迷根本没有发帖,只是把观赛时长和门票预订量往上推了一点。

这五种反应都不是随机生成的文案,而是由每个AI球迷的性格属性算出来的。

五个性格属性:为什么是这五个

九游体育给每个AI球迷设置了五个核心性格属性。选这五个,是因为它们分别回答了一个问题:

属性 范围 回答的问题
球队忠诚度 0–100输球时会不会离开?赢球时有多投入?
明星偏好 0–100,并指向具体球员 他看比赛是在看球队,还是在看某个人?
情绪稳定性 0–100 一场比赛能把他的情绪推多远,回落得多快?
比赛关注度 0–100他关心的是结果,还是过程和下一场?
历史记忆 记忆节点列表 + 衰减系数他会把今天和哪些过去联系起来?

前四个是数值,第五个是结构。历史记忆不是一个分数,而是一串带时间戳、带情绪强度、指向具体球员或事件的记忆节点。后面会详细展开,因为它是让AI球迷像“人”而不像“计分器”的关键。

忠诚度和情绪稳定性:决定声音有多大

看台核心“灯塔南区”的典型成员,忠诚度在90以上,情绪稳定性只有30左右。这个组合意味着:输球时他们会骂得最凶,但不会退订季票;赢球时他们的情绪峰值最高,庆祝帖的数量和强度远超其他人。

情绪稳定性还控制回落速度。系统里有一个简单的衰减公式:每过一个游戏日,情绪偏离基线的部分按“1减去稳定性系数”的比例保留。稳定性30的球迷,绝杀带来的兴奋第二天还剩七成,整个一周都会在论坛里回味这个进球;稳定性80的球迷,第二天只剩两成,已经转向下一场。

这就解释了为什么绝杀后的第三天,论坛里仍然有一批人在发韩屹的动图,而另一批人已经在吵周中杯赛的首发名单。不是系统写好了两种文案,而是两类人的情绪曲线本来就不一样。

明星偏好:同一场胜利,有人觉得不完整

雷诺是灯塔队的头号前锋,也是社区里拥有最多“个人支持者”的球员。明星偏好高且指向雷诺的球迷,对这场比赛的评价由两部分组成:球队结果和雷诺个人表现,权重大约是四比六。

球队赢了,结果部分是加分;但雷诺全场一次射正、在第80分钟后几乎没有触球,个人部分是减分。算下来,这群球迷的情绪只是小幅上升,而且带着明显的附加话题:“战术是不是在浪费雷诺”。如果这个话题连续几周都被触发,它会演变成一个社区议题,甚至影响雷诺的续约舆论。

明星偏好还会带来另一种有趣的现象:球员转会时,球迷会分裂。如果雷诺在下个窗口离队,明星偏好高的一部分人可能会把关注转向雷诺的新球队,成为“球员的球迷”而不是“球队的球迷”。这部分内容在明星球员离队以后球迷应该记多久里有更完整的讨论。

比赛关注度:庆祝十分钟,然后看下一场

比赛关注度高的球迷,关心的是过程和趋势。他们的情绪不太受单场结果影响,更受“比赛表现和结果是否匹配”影响。这场绝杀,灯塔队的预期进球数其实低于对手,这类球迷的判断是:“赢得很运气,下一场不能指望角球。”

在社区里,这类球迷的作用很像一个冷却器。他们发的帖子不多,但往往被很多人引用。系统会给他们的帖子更高的“讨论权重”,因为这些内容更容易引出回复和争论。一个健康的AI球迷社区,需要有人庆祝,也需要有人在庆祝时泼一点冷水。

比赛关注度低的球迷则正好相反,他们只看结果。赢了就是好,输了就是坏,中间的过程不太进入他们的判断。这类球迷通常数量最多,声音最小,但他们的门票和观赛行为是俱乐部收入最直接的信号。

历史记忆:五年前的乌龙球为什么还在

现在回到那条格格不入的回复。五年前,还是替补中卫的韩屹在杯赛半决赛第88分钟打进一个乌龙球,灯塔队因此出局。那是球队近十年离决赛最近的一次。

在九游体育的球迷模型里,这个乌龙球被写成了一个记忆节点:

  • 对象:球员韩屹;
  • 事件类型:关键失误;
  • 初始情绪强度:-85;
  • 重要性:杯赛半决赛,权重1.6;
  • 衰减系数:因人而异。

历史记忆属性高的老球迷,衰减系数很低,五年过去这个节点仍保留了四成左右的强度。更重要的是,节点会被相关事件重新激活:只要韩屹在关键时刻出现,这段记忆就会被拉回前台。所以老球迷看到韩屹绝杀时,情绪不是单纯的+80,而是“+80,同时想起了-85”。他会庆祝,但他的庆祝里带着一点复杂的东西。

这个复杂感才是有价值的。系统会根据这类球迷的历史记忆生成一个特殊的记忆更新:新的绝杀节点被写入,同时旧的乌龙节点被标记为“部分补偿”。如果韩屹在未来的某场杯赛半决赛里再进一个关键球,旧节点可能被彻底改写成“他终于还清了”。这是一个跨越好几个赛季的故事,而它完全来自AI球迷自己的记忆,而不是编剧提前写好的剧情。

反过来,入坑不到一年的新球迷根本没有这个节点。对他们来说,韩屹就是一个刚刚绝杀德比的英雄。同一个球员在社区里有两种形象,这正是真实球迷社区的样子。

记忆也需要衰减和上限

长期记忆如果只增不减,社区很快会变成一个充满怨气的地方:每个球员身上都挂着几条旧账,每场比赛都会被翻出十年前的事情。所以九游体育给记忆设置了三条规则。第一,普通事件会自然衰减,一场联赛常规失利通常两三个赛季后就基本不会被提起;第二,每个球迷对同一名球员最多保留少量高强度节点,新的重大事件会挤掉旧的次要节点;第三,只有权重足够高的事件,比如决赛、德比、降级战、关键失误,才可能留存五年以上。

这些规则让社区的记忆像人的记忆一样有选择性。老球迷未必记得韩屹三年前某场联赛的一次解围失误,但一定记得那个杯赛半决赛的乌龙球。玩家在球员详情页里也能看到一个“球迷记忆”栏,列出社区对这名球员印象最深的两三个时刻,以及哪些群体仍然在意它们。对韩屹来说,那一栏现在同时写着“杯赛半决赛乌龙”和“德比第93分钟绝杀”,两条记录挨在一起,本身就是一段故事。

性格组合成原型,原型组成社区

五个属性组合起来,会形成一些常见的球迷原型。九游体育不是先定原型再分配属性,而是先生成属性,再让原型自然出现:

  • 看台核心:高忠诚、低稳定、中等关注、高记忆;
  • 球星追随者:中等忠诚、高明星偏好、低记忆;
  • 战术观察者:中等忠诚、高稳定、高关注;
  • 老派球迷:高忠诚、高稳定、极高记忆;
  • 结果型球迷:低忠诚、低关注、低记忆,数量最多。

这样做的好处是,社区里总有一些“不太典型”的人:一个历史记忆很强但情绪稳定性极低的球迷,会在每次球队失利时翻出十年前的旧账;一个明星偏好很高却忠诚度也很高的球迷,会在球星离队时经历最激烈的内心冲突。这些人往往是社区里最有故事的那部分。

当玩家在九游体育球迷社区里浏览一场比赛后的讨论时,看到的不应该是同一种情绪的不同措辞,而是不同性格的人对同一件事的不同理解。有人在庆祝,有人在担心,有人在算账,有人在沉默。

为什么这件事值得做

给AI球迷不同性格,会增加系统的复杂度,也会让某些时候的社区反应显得“不合时宜”——绝杀之夜有人翻旧账,大胜之后有人唱衰。但正是这些不合时宜,让玩家相信这些球迷是真的在看球。

对玩家来说,性格差异还有一个实际用处:它让经营决策有了对象。想续约雷诺,就要考虑球星追随者的声音;想让韩屹继续首发,就要知道老派球迷心里还有一笔没算完的账;想在杯赛轮换,就要准备好看台核心的不满。一场绝杀之后,谁在庆祝、谁在关心下一场、谁还记得五年前,这些答案比“球迷情绪+20”有用得多。