补位机器人解决了什么,又毁掉了什么

补位机器人的逻辑非常清楚:玩家要打一场五人制,差两个人,系统就生成两个。他们随叫随到,水平根据玩家自动调整,比赛结束后没有任何后续。从“让比赛开得起来”这个目标看,这套逻辑几乎完美。

问题在于,它把“队友”这个词里最重要的东西拿掉了。现实中的业余体育,约球本身就是社交的一部分:谁总是能来,谁最近很忙,谁跟谁一上场就吵,谁带来了一个新朋友,谁因为伤病半年没露面。一支周末野球队能坚持好几年,靠的不是每次都凑齐人,而是这些人之间慢慢形成的关系。

补位机器人没有过去,也没有明天。玩家和它踢了一百场,它不会记得你喜欢打左路;它被换下场,也不会有任何情绪。当一个体育社交游戏里所有的AI队友都是这样的机器人时,玩家很快会意识到:这里没有社区,只有匹配系统。

九游体育在AI体育社交里给出的答案是:AI队友是社区成员,不是工具。他们会答应,也会拒绝;会主动约你,也会忘记回复;会因为一场比赛和你走近,也会因为一次冲突暂时疏远。

Player:先让每个AI队友成为一个完整的人

一个AI队友在系统里至少有五组数据:

数据 示例:程野作用
日程 工作日晚上有空,周六上午固定打羽毛球 决定能不能来
项目偏好羽毛球 > 五人制足球 > 篮球 决定更想去哪
水平 五人制足球中等偏上,羽毛球业余高水平 决定比赛质量和匹配
打法风格 喜欢打右路,爱回撤拿球,不喜欢防守 决定场上配合和冲突
性格 守约度高,好胜心中等,社交主动性高 决定回复方式和关系变化

这五组数据共同回答一个问题:当邀请到来时,他会怎么想?程野守约度高,所以他不会为了足球爽羽毛球队的约;他社交主动性高,所以他不会简单拒绝,而是提出改到下午。换一个守约度低、好胜心强的AI队友,面对一场强度更高的比赛邀请,可能会临时放掉原本的安排——然后在羽毛球群里被人抱怨。

水平也不是一个固定数字。AI队友的项目水平会随着参与频率缓慢变化,一个连续两个月没碰篮球的AI队友,下次上场时状态会明显生疏。这让“谁最近常来”本身就变成一个有意义的信息。

可用性:他不是永远在线等你

AI队友的可用性由三层决定。第一层是硬日程:工作、出差、固定的其他比赛,这些时间段基本不可用。第二层是软日程:可能有安排,也可能没有,比如“周五晚上通常会去健身房”,这类时间段有一定概率可用。第三层是状态:受伤、疲劳、最近情绪低落,会进一步降低参与意愿。

苏晚那条“出差中,周日回来”的状态就来自硬日程。系统不会因为玩家需要人就把她拉回来。这听起来是在给玩家制造麻烦,但它带来的效果是:当苏晚周日晚上主动在群里说“回来了,下周谁约球”,这句话才有分量。

可用性的设计细节在AI队友为什么不能永远在线等玩家邀请里有更多讨论,包括如何避免“永远约不到人”的挫败感:比如系统会在玩家发起邀请时提示“这个时段通常有6到8人有空”,让玩家可以调整时间,而不是硬凑。

Team:一支球队不是五个空位

当玩家和AI队友组成固定球队后,队伍本身也会形成一些属性。比如“周六野狼队”经过二十场比赛后,系统会记录它的常规阵容、常用打法、谁和谁配合最好、谁总是迟到。

这些记录会反过来影响AI队友的决策。程野在野狼队踢了二十场,和玩家的右路配合成功率很高,他对这支队伍的归属感也在上升。下次如果同一时间有两个邀请,一个来自野狼队,一个来自一支陌生队伍,他会明显倾向前者,哪怕后者的对手更强。

球队里也会出现“自然角色”。有的AI队友会逐渐成为组织者,负责提醒大家带装备、确认场地;有的会成为情绪调节者,输球后在群里发“下周再来”;有的则是典型的“只踢不聊”型。这些角色不是系统指派的,而是由性格和参与历史一起算出来的。

球队层还会处理一个很现实的问题:位置冲突。野狼队有两个AI队友都喜欢打右路,程野和另一位老队员。如果玩家连续几场都让程野打右路,另一位队员的出场满意度会下降,他可能在群里半开玩笑地说“右边是不是被承包了”,再过几周就开始更频繁地接受别的队伍邀请。玩家可以选择轮换,也可以找他聊一聊、让他尝试中路。这样的小摩擦不需要复杂剧情,只需要每个AI队友记得自己最近踢了什么位置、踢得开不开心。

Relationship:五种关系,各有各的规则

九游体育的关系网络里有五种基本关系,一个AI队友和另一个角色之间可以同时存在多种:

  • Friend(朋友):私下关系好,更容易答应对方的邀请,即使是自己不擅长的项目;
  • Teammate(队友):在同一支队伍里长期配合,场上默契度会随比赛场次上升;
  • Rival(对手):经常在对面碰到的人,遇到对方时好胜心上升,报名意愿反而更高;
  • Club Member(俱乐部成员):同一个俱乐部的人,会参加俱乐部活动,在俱乐部事务上有共同立场;
  • Coach(教练):带过或正在带某人的角色,对被指导者的成长有持续关注。

关系会改变决策。举个例子:玩家约周六上午的足球,程野因为羽毛球双打拒绝了。但如果玩家在邀请里写明“对面是东岸联队”,而程野和东岸联队的前锋是多年对手关系,系统会重新计算他的意愿——Rival关系带来的动机,可能足以让他去和羽毛球队友商量换时间。这时候他的回复可能变成:“东岸那帮人?我去问问能不能把双打挪到下午。”

关系本身也会变化。一起赢下一场硬仗,Teammate关系的默契度上升;一次激烈的场上冲突,两个队友之间的关系可能暂时降温,下周约球时其中一人会找理由不来;一个长期对手在某次赛后主动约喝东西,Rival关系可能慢慢长出一条Friend关系。

Event:一场比赛如何改写关系网

来看一场具体的比赛。周六下午,野狼队最终凑齐了人:玩家、程野(改到下午后答应了)、老队友邓一鸣、俱乐部新成员阿杰,以及程野带来的羽毛球队友许朗——他并不擅长足球,但和程野是Friend关系,愿意来凑人。

比赛里发生了几件事:

  1. 阿杰和邓一鸣在一次防守失误后互相指责,两人的关系值下降;
  2. 许朗虽然水平一般,但第二个进球是他的助攻,他对五人制足球的兴趣明显上升;
  3. 野狼队赢了东岸联队,程野和对方前锋赛后握手,Rival关系强度不变,但多了一条“相互尊重”的标记;
  4. 玩家全场在右路和程野配合了七次,Teammate默契值继续累积。

这四件事都会写进关系网。下周再约球时,许朗可能主动报名;阿杰可能会看一眼名单,发现邓一鸣也在,就回复“这周有点忙”;程野会在群里转发一条“东岸说下个月想再约一场”。一场比赛结束,社区的形状已经变了。

这是补位机器人永远做不到的:它不会因为一次助攻爱上一个新项目,不会因为一次争吵下周不来,也不会把一个对手慢慢变成朋友。

Community:细小变化积累成俱乐部文化

当这些关系变化积累到一定程度,社区层面会出现更大的结构。野狼队所在的俱乐部里,有一群人经常一起踢球、一起参加周年活动,他们会形成俱乐部的核心圈;有一些人只在缺人时出现,处于边缘;还有一些人因为和核心圈的人有矛盾,逐渐转向了别的俱乐部。

俱乐部因此会有自己的性格:有的俱乐部以竞技为主,约球门槛高,新人很难融入;有的俱乐部氛围松散,什么水平都欢迎,但很难组织高强度比赛。玩家加入哪个俱乐部、在其中扮演什么角色,都会影响他能约到什么样的队友。

九游体育的AI队友系统里还有一条不太显眼的规则:AI队友之间也会自己约球。玩家不在线的时候,程野和邓一鸣可能组了一场篮球,许朗可能被拉进了另一个羽毛球群。玩家下次上线时,会在动态里看到这些事情,发现社区在自己不在的时候也在运转。这让玩家感觉自己是在加入一个已经存在的社区,而不是在启动一个只为自己服务的系统。

拒绝和缺席,是可信社区的一部分

设计AI队友时最常被质疑的一点是:让AI拒绝玩家,会不会降低体验?玩家只是想打一场球,为什么要被一个AI告知“我周六上午有羽毛球”?

九游体育的判断是,拒绝本身不是问题,没有意义的拒绝才是问题。如果AI队友随机拒绝,玩家只会觉得烦;但如果拒绝有明确的理由、有可预期的规律、并且能通过关系和沟通改变,拒绝就变成了社区的一部分。玩家会慢慢知道程野周六上午不行,会知道许朗现在对足球有了兴趣,会知道阿杰和邓一鸣最好别排在同一场。

当然,系统也要照顾玩家的基本需求。九游体育会保证在常规时段有足够多的AI队友可约,会在邀请时提示可用人数,也会在确实凑不齐时提供“俱乐部公开局”作为兜底——参与公开局的依然是有名字、有记忆的AI队友,只是和玩家还不熟。

一个体育社区是否可信,不在于每次都能凑齐人,而在于每个人来或不来,都有他自己的理由。能让玩家在周四晚上认真想一想“这周该约谁”,AI队友才真正成为了队友。