一个模拟弯道:你总在150米牌开始重刹

先说明,本节和后文的赛道、圈数、距离、车速都是为了说明机制而设定的模拟示例,不是真实玩家数据。

虚构赛道“港湾环线”的第3弯是一个接近180度的发卡弯,入弯前的直道末端车速约220km/h。某位玩家过去20圈里,有17圈在150米标志牌附近开始重刹,2圈晚到120米,1圈早到170米。出弯时他习惯先向外侧放宽,再慢慢收回,全油门比理想时机晚约0.3秒。

对一个只按固定赛车线跑的AI来说,这些信息不存在:它按自己的理想刹车点刹车,和玩家相遇时套用通用超车逻辑。学会刹车习惯的AI多了一张表:在第3弯,这个玩家大概率会怎么做。

AI真正学到的不是一个数字,而是一份分弯道的行为分布

“他在150米刹车”这句话太粗。有用的玩家模型至少要记录下面几项,并且按情境切开:

字段 模拟值(第3弯) AI可以拿来做什么
刹车起点 均值150米,多数落在145到155米 估算自己能晚刹多少
刹车力度曲线 前段重刹、后段松得早 判断入弯速度与弯心位置
入弯线路偏外侧进弯 预测内线是否留有空档
出弯油门比理想时机晚约0.3秒估算下一段直道的尾流机会
被紧跟时的变化 刹车点提前约10米 识别他的防守型刹车

最后一行最容易被忽略。很多玩家在后视镜里看到车以后会下意识提前刹车,这是被压迫时的行为,和平时的习惯不是一回事。系统如果把两种状态混成一个平均值,得到的是一个谁也不像的模型。雨天、轮胎磨损、换了车型之后的数据同理,都应该单独分桶,或者至少降低权重。

学会以后,对手最先改变的是超车窗口

假设AI驾驶的车在自身性能范围内可以在135米刹车并稳住车身,它就知道自己有约15米的晚刹空间,可以从内线切入。但如果策略层只做这一件事,结果会很难看:每一圈的第3弯,玩家都被同一种方式超车,比赛变成背答案。

模拟示例:一场5圈比赛里AI什么时候出手

第2圈,AI跟在玩家身后0.6秒,差距不够,不尝试。

第4圈,差距缩到0.3秒。AI判断:在第3弯晚刹能成功切入,但玩家出弯偏外,AI出弯后反而可能被他借尾流反超,于是选择不出手,而是贴紧跟出弯,等后面那条长直道。

第5圈,AI在长直道借尾流并排,利用玩家出弯油门偏晚的习惯,在下一个弯前完成超车。

这段过程里,AI没有变快,它只是把“能超”和“值得超”分开了。评估一次超车,至少要看成功率、出弯后被反超的风险、碰撞风险和剩余圈数。这才是学习玩家习惯带来的真正变化:决策的时机更准,而不是速度更高。

防守时,它会提前占住你习惯的那条线

反过来,当AI在前面、玩家在后面时,它学到的是玩家喜欢在哪里发起进攻。如果模型显示这位玩家八成的超车尝试都在第3弯内线,AI可以在直道末端提前向内移动半个车身。

防守动作需要规则约束。常见的赛车礼仪要求在刹车区不能反复变线,只允许一次明确的防守动作。公开资料显示,Sony AI与Polyphony Digital的GT Sophy研究(2022年登上Nature封面)在训练中专门设计了奖励项,让AI在高速对抗中遵守赛车礼仪。放到产品里的意思是:“学会封你的线”必须和“不做危险动作”绑在一起,否则学习型对手会变成一辆专门在刹车区别你的车。

学习边界:哪些信息AI不该碰

乐鱼体育在设计体育游戏智能对手时,把输入分成两类:

  • 可以用:玩家车辆在赛道上的位置、速度、车身姿态、刹车灯亮起的时刻,以及历史圈里这些信息的统计。这些都是真人对手在赛道上能看到、能记住的东西。
  • 不能用:玩家手柄的实时输入流,也就是车还没开始减速、刹车键刚被按下那一帧的信号;玩家的按键设置、辅助选项等界面信息;为了克制玩家而临时调高的抓地力、刹车性能或极速。

第一类让AI更像一个有经验的车手,第二类让它变成读心术加改装车。竞速游戏里的橡皮筋AI,也就是领先时对手加速、落后时对手减速,长期被批评为“一眼可见且不公平”,原因就在这里:玩家能感觉到规则在为某一方服务。

还有一个参照点。公开资料显示,Forza系列从2005年的初代就引入Drivatar学习玩家驾驶行为来生成对手;据AI and Games的分析,2023年的Forza Motorsport改为用深度强化学习从零训练驾驶网络,难度主要靠车辆性能分级来区分。即便在最经典的玩家建模案例里,“学习怎么开”和“车有多快”也是两套分开处理的东西。

哪里最容易学歪

  • 样本太少:跑了3圈就断定玩家在150米刹车。一般至少需要同一弯道十几圈、而且情境相近的数据,才值得改变策略。
  • 情境混淆:一场雨战里刹车全部提前,被当成了长期习惯。
  • 过度拟合:AI算准了15米晚刹空间,玩家这一圈突然晚刹到130米,两车在弯心相撞。策略层需要在出手前做碰撞风险估计,预测偏差过大时退回通用超车逻辑。
  • 忘不掉:玩家在进步,三周前的数据还按原权重计算。长期模型需要衰减机制,这部分在玩家行为模型里讨论过。

被读懂以后,玩家可以这样检查和反制

一个健康的学习型对手,应该让玩家能看懂、也能反过来学它。赛后可以按这个顺序检查:

  1. 打开复盘,找出每次被超车的位置,看它是否集中在同一两个弯。
  2. 对照自己在这些弯的刹车起点,看是不是长期固定在同一个距离。
  3. 下一场在这些弯刻意把刹车点前后变化10米左右,并在直道末端提前占内线。
  4. 观察AI是否在接下来几圈调整了出手位置。如果它跟着变了,说明它在学你;如果无论你怎么开它都一样“突然变快”,就该怀疑它在改数值,而不是在做决策。

最后一条也是乐鱼体育给学习型对手定的自检标准:每一次AI超车,复盘都应该能写出一句“它利用了你在第几弯的哪个习惯”。写不出来的超车,不该出现在一个标榜会学习的对手身上。