AI/ML 可以在远大于人工测试规模的状态空间中寻找策略、发现异常组合并预测玩家风险,但它优化的永远是被定义出来的目标。错误的奖励、偏置的日志或无法解释的自动动作,会把局部统计规律放大为系统性伤害。本章把机器学习放回数值策划的决策链:明确任务、构造评估、限制自动化边界,并让模型在版本漂移和对抗环境中保持可审计。
游戏数值中的 ML 任务可分为:
| 任务 | 典型输出 | 主要评估 | 是否说明因果 |
|---|---|---|---|
| 描述 | 玩家群、行为嵌入 | 稳定性、可解释性 | 否 |
| 预测 | 流失概率、付费概率 | 校准、排序、时序外验证 | 否 |
| 检测 | 异常分数、作弊风险 | 精确率、召回率、处置代价 | 否 |
| 决策 | 推荐动作、动态难度 | 策略价值、护栏、实验 | 需要额外识别 |
如果明确规则已能可靠解决问题,就不必为了“智能”引入模型。模型适合边界模糊、特征众多、模式会从数据中重复出现的任务;账本守恒、概率上限和配置合法性更适合确定性规则。
准确率提高不一定产生业务价值。模型的价值取决于它改变了什么动作:
\[V=\sum_a P(a\mid \hat y)\cdot \left(B(a,y)-C(a,y)\right)-C_{\text{model}}\]例如流失模型即使 AUC 很高,若团队只能发送同一种无差别奖励,增量价值也可能很低。先明确可选动作、资源约束和错误代价,再选择目标函数。
随机打散所有对局会让同一玩家或同一版本同时出现在训练集和测试集,造成泄漏。更可靠的切分包括:
模型必须与一个朴素基线比较,例如最近均值、简单规则或线性模型。复杂度只有在提升决策价值时才值得。
马尔可夫决策过程由 $(\mathcal S,\mathcal A,P,R,\gamma)$ 构成:状态、动作、转移、奖励和折扣因子。策略 $\pi(a\mid s)$ 的目标是最大化期望回报:
\[J(\pi)=\mathbb E_\pi\left[\sum_{t=0}^{T}\gamma^t r_t\right]\]真实游戏往往是部分可观测的。玩家看不到对手手牌、隐藏冷却或服务器完整状态,应使用观测 $o_t$ 与历史记忆,而不能让训练 AI 偷看玩家不可见信息,否则得到的是不可比较的“全知策略”。
只给最终胜负奖励最接近目标,却稀疏且学习缓慢;加入击杀、资源或地图控制等塑形奖励能加速训练,却可能改变最优策略。一个常见形式是:
\[r_t=w_1\Delta \text{胜势}+w_2\Delta \text{资源}+w_3\Delta \text{地图控制}-w_4\text{无效行为}\]AI 会寻找公式漏洞,而不是理解设计意图。若奖励“造成伤害”,它可能反复攻击可回血目标;若奖励“存活”,它可能拒绝交战。塑形奖励应做消融实验,并以最终胜率、策略多样性和合法性作为外部评估。
自博弈让策略与自己的历史或当前版本竞争,适合缺少高质量标签的对抗游戏。但只与最新策略对战,可能发生遗忘和循环克制:
Rush 策略克制 Economy
Economy 克制 Turtle
Turtle 克制 Rush
因此需要维护多样化对手池,混合历史检查点、脚本策略、人类回放和专门的反制策略。评估不能只给单一 Elo;应报告策略对阵矩阵、最坏对手表现与元策略分布。
若零和对局的收益矩阵为 $A$,可寻找混合策略 $p$ 的最大最小解:
\[\max_p\min_q p^\top A q\]它比“找一个最强 Bot”更适合判断是否存在被忽视的克制角落。
复杂游戏可由局部任务逐步训练:移动、资源管理、小规模交战、完整对局。课程难度必须最终覆盖真实分布,否则 AI 只会解决教学题。
若 AI 用作玩家对手,还要约束反应时间、每分钟操作、视野和输入精度。最强策略并不等于最好体验。可把体验设计成约束优化:
\[\max_\pi J_{\text{challenge}}(\pi)\quad \text{s.t.}\quad E[APM]\le c_1,\ P(\text{不可读连招})\le c_2\]传统“增加血量和伤害”只改变数值,不改变决策水平。更自然的难度轴包括:
难度调节应保持可解释反馈。AI 可以偶尔失误,但失误要符合角色与情境,不能在玩家濒死时突然“放水”得过于明显。
自动平衡并非让所有角色胜率等于 50%。需要同时考虑强度、选择多样性、技能表达、角色身份和改动成本:
\[L(\theta)=\alpha\operatorname{Var}(W_h)+\beta D_{\text{meta}}(\theta) +\eta C_{\text{change}}(\theta)+\rho C_{\text{identity}}(\theta)\]$\theta$ 是数值参数,$W_h$ 是条件化胜率,$D_{\text{meta}}$ 衡量 Meta 过度集中。角色克制可能使单项胜率偏离 50% 仍然健康,因此目标需在不同技能段、地图和阵容上定义。
当战斗公式可微且行为固定时,可用梯度研究参数敏感度;真实模拟常含离散事件和策略适应,通常是黑箱。常见选择有贝叶斯优化、进化搜索和多臂老虎机。
代理模型 $\hat f(\theta)$ 近似昂贵模拟结果,并用采集函数决定下一组实验参数。它节省计算,却可能在未覆盖区域自信出错。参数搜索必须限制在设计可接受区间,并由独立模拟与人工评审复核。
比较补丁前后时,随机地图、暴击和掉落会产生方差。让两个版本使用相同的随机种子与场景,比较配对差值:
\[\hat\Delta=\frac{1}{n}\sum_{i=1}^{n}\left(Y_i^{new}-Y_i^{old}\right)\]若两版本结果正相关,配对设计能显著降低方差。但公共随机数不能掩盖结构变化;若新版本改变了随机事件数量,仍需检查耦合方式是否公平。
固定脚本会低估玩家对补丁的适应。某装备在旧策略下很弱,玩家发现新连招后可能超标。模拟应包含多种行为模型:新手启发式、专家策略、探索策略和历史回放策略。
自动平衡的可靠边界由覆盖率决定。需要维护覆盖矩阵:
新手策略 专家策略 探索策略 极端构筑
地图 A ✓ ✓ ✓ ✓
地图 B ✓ ✓ △ ×
新角色组合 ✓ △ × ✓
覆盖空白必须进入风险报告,不能被总体百万局模拟数掩盖。
推荐流程是“模型提案—模拟验证—设计评审—灰度—线上实验—长期监控”。模型可以批量筛选候选,但以下动作不应无审核自动执行:
聚类用于压缩行为差异,例如区分剧情探索、竞技冲榜、收集养成与社交协作。它不证明玩家具有固定人格,同一玩家会随赛季和生命周期迁移。
特征应与待解决决策相关,并统一观察窗口:
对偏斜计数可做对数或分位数变换,对总量与比例分别处理。否则鲸鱼玩家的总量会支配所有距离。
K-means 假设欧氏空间中的近球形群;高斯混合允许软归属;层次聚类展示多尺度结构;密度方法可识别噪声与非球形群。算法名称不重要,关键是距离是否表达业务相似。
聚类质量不能只看轮廓系数:
\[s(i)=\frac{b(i)-a(i)}{\max(a(i),b(i))}\]$a(i)$ 是样本到同簇的平均距离,$b(i)$ 是最近其他簇距离。还应检查重采样稳定性、跨周迁移、可解释性和“不同簇是否对应不同动作”。
聚合特征可能丢掉顺序:“失败—强化—重试”和“强化—失败—离开”总次数相同,意义不同。可用序列表示或状态转移矩阵描述行为:
\[P_{ij}=P(S_{t+1}=j\mid S_t=i)\]画像系统应记录不确定性。对边界玩家可用软归属概率,而非强迫贴唯一标签。
“低付费倾向”不应成为降低服务质量的依据,“高付费倾向”也不应自动触发更具压力的定价。画像应服务于体验适配,并受到公平性、隐私和可解释性审查。
作弊检测通常需要四层:
客户端信号容易被对手观察和模仿;最终裁决应尽可能基于服务端可验证事实。
若作弊率为 0.1%,一个永远预测正常的模型准确率也有 99.9%。更有用的指标是:
\[Precision=\frac{TP}{TP+FP},\qquad Recall=\frac{TP}{TP+FN}\]还要报告不同阈值下的处置成本、每千名被标记者中的误伤数,以及标签确认延迟。永久封禁要求很高精确率;用于人工审查的队列可以接受较低精确率换取召回。
账号是节点,交易、组队、设备或支付关联是边。异常团伙可能呈现星型汇集、闭环转移、同步行为和极端中心性。单个账号行为普通,并不代表网络普通。
图信号也有风险:网吧、家庭共享设备和大型公会天然密集。必须结合时间、价值流和多种边类型,并给正常高密度群体建立对照。
作弊者会针对已知阈值调整。防御需要保留部分不可见规则、监测特征漂移并进行红队测试。批量延迟处置可减少对手即时反推检测条件,但延迟期间要限制经济伤害。
任何模型都可能误伤。证据快照、版本化模型、人工复核、可理解的处罚类别和申诉渠道,是检测系统的一部分,而不是运营附属品。
一个可执行的流失任务必须明确:在时点 $t$ 使用当时可见数据,预测未来 $H$ 天是否无有效游玩,并在真正流失前留出干预时间。
特征窗口 预测时点 行动窗口 标签窗口
[t-28, t) t [t,t+3) [t,t+14)
使用标签窗口内的信息作为特征是泄漏。把“收到召回奖励”当特征预测流失也可能混入历史策略选择。
AUC 衡量随机正例排在随机负例之前的概率,不能说明预测概率准确。若模型给 1,000 人都预测 20% 流失,理想情况下约 200 人应实际流失,这称为校准。
当资源只能触达前 5% 高风险玩家时,应关注该区间的精确率、提升度和增量价值。基准率随赛季变化时,即使排序不变,概率校准也会漂移。
最可能流失的人未必最容易挽回。已经彻底离开的玩家风险高,但奖励无效;原本会自然回访的玩家不需要奖励。真正的目标是条件平均处理效应:
\[\tau(x)=E[Y(1)-Y(0)\mid X=x]\]应通过随机干预数据估计“谁会因动作而改变”,而不只是“谁会流失”。这也是 uplift 建模与普通风险模型的根本区别。
模型选择高风险玩家发奖励,奖励改变其行为,新数据再训练模型。久而久之,标签同时反映玩家和旧模型策略。必须记录决策概率、触达与否、奖励成本和实验组,并保留一定探索流量,否则无法评估新策略。
《星际争霸》类任务说明,实时、部分可观测、长时序和巨大动作空间可以通过模仿、强化学习、自博弈与对手池等方法逐层处理。对数值策划最重要的迁移不是复制模型规模,而是:不要用一个“最强代理”代表全部玩家;用策略群体和对阵矩阵暴露非传递克制,并对操作能力施加人类可比约束。
MOBA 团队任务凸显个体奖励与团队结果的张力。过强的局部塑形可能让代理追逐击杀或资源,而忽略最终胜利。数值测试应分别观察团队胜率、资源分配、角色分工和策略多样性,避免一个聚合回报掩盖退化协作。
类似《王者荣耀》的实时竞技产品中,研究级强度只是起点。正式工具还要面对版本快速变化、英雄池扩展、延迟预算、玩家可读性、内容保密和线上风险。因此更实用的架构往往是规则、搜索、学习模型与人工审核的组合。
小团队不需要先训练大型强化学习系统。一个高价值路径是:
每个模型应拥有一张“模型卡”:
上线门禁可表示为:
数据契约通过
↓
时序外评估优于朴素基线
↓
切片公平性与压力测试通过
↓
影子模式 → 小流量灰度 → 随机实验
↓
长期监控、版本回滚与审计
影子模式只产生建议而不采取动作,适合发现延迟、漂移和意外分布。任何自动决策都应有安全默认值:模型不可用时,系统退回规则或固定配置,而不是停止服务。
练习13.1 某战斗 Bot 的奖励为“每造成 1 点伤害得 1 分,获胜得 100 分”。测试发现 Bot 反复攻击会回血的敌人而不推进目标。解释原因并提出修改原则。
提示:比较可重复的局部奖励与一次性的最终奖励。
练习13.2 为什么不能只用一个最新自博弈 Bot 测试角色平衡?
提示:考虑遗忘、克制环与玩家能力差异。
练习13.3 某作弊模型在 100 万账号中标记 1,000 人,其中 800 人经确认作弊;系统另发现 200 名未被模型标记的作弊者。计算精确率和召回率。
提示:先写出 $TP$、$FP$、$FN$。
练习13.4 流失模型 AUC 为 0.85,但预测为 0.8 的玩家只有 30% 真正流失。模型有什么问题?它还能否用于行动?
提示:排序能力与概率准确性是两件事。
练习13.5 为一款三英雄组队竞技游戏设计自动平衡目标。至少列出四个目标/约束,并解释为什么“所有英雄 50% 胜率”不充分。
提示:区分边际胜率、条件胜率、身份和 Meta。
练习13.6 你有 500 万局旧版本回放,准备训练补丁影响预测模型。列出四种可能的数据泄漏或分布偏移,并设计切分方案。
提示:玩家、时间、配置和策略都会泄漏。
练习13.7 一个高风险流失模型会给前 5% 玩家发 100 钻石。三个月后模型显示效果越来越好。为什么可能是反馈循环假象?如何重建设计?
提示:训练标签已经受到旧策略影响。
练习13.8 设计一套从模型建议到数值补丁上线的门禁。要求覆盖模拟不足、不可逆经济影响与回滚。
提示:门禁应让每一步都能失败并安全停止。
极少数作弊、流失或付费事件下,准确率几乎没有意义。报告混淆矩阵、PR 曲线、目标阈值下的错误数量和真实处置代价。
全图视野、零延迟和精确冷却会制造不可实现策略。训练接口必须模拟真实观测、操作和网络约束,评估中单独审计信息使用。
Bot 的策略覆盖与玩家不同,补丁还会改变玩家策略。模拟结论应被视为风险筛选,必须经真实灰度和分层数据确认。
任何聚类都能被命名,但名字不等于稳定机制。检查重采样、跨周迁移和动作价值;若两个簇接受完全相同策略,就没有必要维持区别。
结算排名、最终付费等级、未来收到的召回奖励都可能让离线指标虚高。用预测时点逐字段审计可用性,并按时间做最终留出验证。
无法解释和复现的封禁会放大误伤与信任风险。保留证据、模型版本、阈值和复核链;高风险决定采用多证据和人工确认。
新英雄、新活动和作弊工具会改变 $P(X)$ 及 $P(Y\mid X)$。同时监控输入分布、校准、目标指标和人工确认率,并设定降级条件。
优化器只能优化被量化的部分,无法自动守住角色幻想、公平感和长期信任。把模型定位为反例搜索器和候选生成器,由设计者承担价值取舍。