一次被拒绝的邀请,说明了什么
在不少体育游戏里,“队友”其实是一个隐藏的匹配池:玩家点下开始,系统从池子里捞出几个空闲角色填满位置。这套逻辑高效,但它把队友变成了消耗品——没有谁是不可替代的,也没有谁需要被记住。九游体育在做AI队友系统时,第一个改动就是让AI队友拥有“不在线”的时刻。
周屿,29岁,程序员,周二和周四晚上常加班,周六上午固定踢球,周日陪父母。这些信息不会直接写在资料卡上,玩家只能通过多次邀请慢慢摸清楚。第一次被拒会有点意外,第三次就会下意识地把约球时间挪到周六。玩家开始为一个AI角色调整自己的安排,这正是关系开始出现的信号。
Player:每名AI队友都有一张看不见的日程表
AI队友的可用性由几层因素叠加而成:
- 固定日程:工作、学业、俱乐部训练日,比如大学生队友周三下午有课,业余联赛球员每周二、周五要去球队合练。
- 状态事件:轻伤恢复、赛后疲劳、出差一周,这些会在一段时间内降低响应概率。
- 生活事件:搬家、换工作、孩子出生,会让一名原本高频出现的队友在几周内明显减少上线。
- 随机扰动:临时有事,只占很小比例,用来避免日程完全可预测。
系统并不是抽一个“在线率”就结束,而是先判断这个时间段角色在做什么,再决定他能否回复、多久回复、能不能来。这样玩家看到的每一次拒绝都有原因可循。
Personality:同样没空,拒绝方式完全不同
可用性决定能不能来,性格决定怎么说。九游体育把拒绝方式交给性格模块处理:
| 性格类型 | 没空时的典型反应 |
|---|---|
| 外向社交型 | 立刻回复并主动提出替代时间,甚至拉来另一个朋友补位 |
| 慢热稳定型 | 几小时后简短回复“这次不行”,但下次邀请会优先答应 |
| 竞技专注型 | 联赛备战期直接推掉休闲局,只接受强度匹配的比赛 |
| 随性型 | 经常临时答应又临时变卦,出场率高但不稳定 |
这些差异让玩家在组队时开始“看人下菜”:重要的周末赛事找慢热但靠谱的老队友,临时凑局就喊外向型的朋友。选择本身变成了策略。
Team:固定班底是在时间里磨出来的
如果所有队友随叫随到,玩家永远不需要组建固定班底。可用性让“谁在什么时候能来”成为球队的一部分。一支业余球队可能自然形成“周六上午组”和“周三夜场组”,两组成员重叠不多,风格也不同。
更有意思的是缺席带来的连锁反应。主力中卫出差两周,玩家只能让平时坐板凳的年轻队友顶上;如果他踢得不错,关系值上升,回来的老中卫可能要面对位置竞争。这类故事不需要剧本,它由日程冲突自然推出来。
Schedule:回复速度本身也是信息
可用性并不只有“来”和“不来”两个结果。九游体育把一次邀请拆成三个环节:看到消息的时间、做出回复的时间、最终是否到场。上班族队友白天通常要到午休或下班后才回复,夜班护士队友可能凌晨两点回一句“明早下班后可以”,高中生队友在考试周几乎不看消息。
玩家不需要看到这些规则,但会在反复互动中感受到它们。当一名平时十分钟内必回的队友连续两天没有动静,玩家自然会猜他遇到了什么事;几天后收到一条“上周脚踝扭了,刚好一点”,前面的沉默就有了解释。回复节奏让角色的生活有了厚度,也给后续事件埋下伏笔。
同样,到场也不是百分之百。答应了却临时来不了的情况会发生,但频率与性格挂钩:稳定型队友一个赛季可能只失约一两次,随性型队友则需要玩家准备替补。失约之后的补偿行为也不同,有人会发来道歉并请下次的场地费,有人只是若无其事地出现在下一场。
Relationship:可用性会随关系改变
AI队友的日程不是铁板一块。关系越好的队友,越可能为玩家挪时间:周屿会在玩家连续约了他三次都被拒之后,主动说“这周四我请了假,来踢一场吧”。反过来,如果玩家长期只在需要补位时才找某个队友,对方的响应速度会逐渐变慢,最终可能只回一句“最近比较忙”。
这种变化是缓慢的,通常要跨越几周游戏时间,不会因为一次失约就翻脸。系统记住的是模式,而不是单次事件。
Event:有空和没空本身就是事件来源
一些值得被记录的社交事件,恰恰来自可用性的变化:长期缺席的队友伤愈复出、换工作后终于能参加周末局、准备出国前的最后一次约球。九游体育会把这些节点标记为可触发事件,而不是在日程表里悄悄改一个数字。
Community:避免“没人可约”的挫败感
可用性设计最大的风险,是玩家想玩时凑不齐人。为此九游体育做了几层保护:
- 每名玩家的关系网络中,总有一部分队友在任意时段有较高可用性。
- 邀请界面会提示“这个时间段通常更容易约到人”,但不直接显示每个人的日程。
- 俱乐部公开局作为兜底,玩家可以加入陌生AI球员组成的比赛,顺便认识新队友。
目标不是让组队变难,而是让组队变得有记忆点。当玩家在周六早上八点看到五个熟悉的名字都点了“来”,那种感觉和系统自动匹配出的五个角色完全不同。更多关于俱乐部与社区关系的设计,可以在AI体育社交栏目中继续了解。