【本文内容速览】
- 简介
- 模型类型
- 训练(数据收集及参数设置)
- 查看概率:AI Inspector
- 对战
- 备忘单
一、简介
AI Arena 是首款融合人类与人工智能协作的游戏。
AI 通过“模仿学习”学会你的技能。
官方资料
-
观看文档中的 2 分钟视频,你将迅速了解游戏的基本流程。
-
官方 Discord(必进): https://discord.gg/aiarenaplaytest 获取最新公告或寻求帮助
-
官方 Youtube: https://www.youtube.com/@aiarena 因为游戏有内置教程,可选择观看视频。
游戏具体是在做什么的
- 尽管这游戏被归类于平台格斗游戏,但核心基于概率的策略游戏,
- 战士通过 AI Inspector 仪表盘上的概率来行动,与对手对战。
- 游戏不允许直接手动输入每个区域的概率,而是通过收集数据的方式输入信息,并通过参数调整,来建立模型。
- 数据收集仿效格斗游戏。但使用 Dummy(木桩) 即可完成训练。只要能完成游戏内的入门教程,就可以掌握游戏操作。
二、模型类型
在训练之前,有三种模型可以供我们选择:简单(Simple)模型类型、原始(Original)模型类型、高级(Advanced)模型类型。
建议在完成至少一次简单模型类型的模型训练后,对游戏有一定了解后,再尝试进阶使用高级模型类型。

简单模型类型 Simple Model Type
简单模型类似于填表格,训练过程就像是将所有表格填满。
这个模型有 30 个 bucket(篮子)。每个 bucket 可以看作是:在特定情境下,告诉战士该采取什么行动。30 个 bucket,即 30 种情况。在同一个 bucket 内,方向或动作的概率都相同。
举例:我在舞台外,我应该怎么办 —— 参考“Recovery (you off-stage)”这个 bucket
全部 bucket 参见官方文档:
视频(无声音):所有 bucket 的训练全流程
游戏版本 2024.1.10。存档方式已过时。请参见游戏更新。
高级模型类型 Advanced Model Type
“原始模型类型”和“高级模型类型”是基于机器学习,也就是所谓的与人工智能相结合。
原始模型类型仅由一个 bucket 组成,即一整张地图。
如果需要让 AI 结合不同的场景学习,则需要选择 Focus Area(关注区域),让战士知道要关注的地方。
一个 bucket ,就意味着牵一发而动全身,一处的修改常常会影响到整个模型。所以有了高级模型类型。
如果需要让 AI 结合不同的场景学习,则需要选择 Focus Area(关注区域),让战士知道要关注的地方。
一个 bucket ,就意味着牵一发而动全身,一处的修改常常会影响到整个模型。所以有了高级模型类型。
高级模型类型可以视为是“原始模型类型”和“简单模型类型”的结合。
高级模型类型将地图分为了 8 个 bucket 。每个 bucket 里都可以使用 “Focus Area”
8 个 bucket 以及不同 Focus Area 的详细解释。
请参见教程页面(教程进入方式:在高级模型类型,完成训练后,Advanced Config 左上角的 “Tutorial” )
高级模型类型将地图分为了 8 个 bucket 。每个 bucket 里都可以使用 “Focus Area”
8 个 bucket 以及不同 Focus Area 的详细解释。
请参见教程页面(教程进入方式:在高级模型类型,完成训练后,Advanced Config 左上角的 “Tutorial” )

三、训练(数据收集及参数设置)
训练流程:
- 收集数据
- 设置参数,进行训练并保存
- 重复第一步,直到完成模型。
简单模型类型的训练是最容易上手的,详细过程请参考上方的视频。
“Focus Area”参数的相互组合提供更多可能性,拥有更高的上限。原始模型类型潜力巨大,但难以控制, 因此本部分只介绍“高级模型类型”。
1. 收集什么样的数据
- 高质量:有目的性的收集数据。垃圾进,垃圾出。只收集需要的数据,不要胡乱收集。所以推荐只使用 Dummy 来收集数据。但也不必追求完美主义,通过参数调节,人工智能具有一定的容错性。
- 平衡:平衡数据集。简单理解为,在左边完成多少个,在右侧也完成相似的数量。虽然可以通过参数调节来解决数据集不平衡的问题(见下文),但建议在收集时,就不要留有这个问题。
- 适量:一场训练将包含很多单个动作。单个动作一般收集 1 - 10 次,个人倾向于将单个数据收集 2 - 3 次。如果一场训练效果不明显,会进行第二场(甚至第三场)相同内容的训练,但参数设置会不一样。
2. 收集什么(以及 Focus Area 的选择)
游戏动作仿效格斗游戏。由 4 方向 + 6 状态(Idle,Jump,Attack,Grab,Special,Shield)组成。其中,方向可以组合为↗、↘等。而这些方向和状态又可以组合成不同的动作。
要让“Focus Area”生效,你需要在训练中收集符合该参数的不同情况。比如 Distance to opponent,你需要收集离对手近的,也要收集离对手远的。
* 注:虽然可以分成多场训练,但在一场训练中就完成不同情况的训练,效果最好。
* 注:虽然可以分成多场训练,但在一场训练中就完成不同情况的训练,效果最好。
参考 Simple Config,将要收集的动作分类,可以根据游戏场景分为两类:“基于位置(Movement)”和“基于攻击(Combat)”

基于位置(Movement)
动作收集
当战士在舞台外,这时无论对手在那里,我们只要求战士回到舞台上以防止自杀。
此处涉及 3 个空中 bucket:5(接近爆炸区 Near Blast Zone)、7(舞台下 Under Stage)、8(舞台侧边 Side Of Stage)

* 注:背景来自前文提到的 Tutorial。图片中的箭头为动作方向,仅供参考。
* 注意:动作收集要干净,不要收集到离场的动作。
* 注意:动作收集要干净,不要收集到离场的动作。
参数设置
在 Simple Config,可以直接选择 Simple Config 的“Movement"
但为了更好定制化,建议直接使用 Advanced Config。
但为了更好定制化,建议直接使用 Advanced Config。
- Intensity: 将在后文单独介绍 Intensity 设置方法。
- Buckets: 如上图,你训练的是哪个 Buckets,就选择哪个 Bucket。
- Focus Area:基于位置的参数:
- Your position(必选)
- Raycast Platform Distance,Raycast Platform Type (可选。一般在 bucket 7 要选这些)
基于攻击(Combat)
目标是使攻击迅速而有效地朝向对手,这部分是游戏策略的核心。
此处涉及 5 个 bucket:
- 2 个普通状况
- 在空中:6(安全区 Safe Zone)
- 在地上:4(对手激活状态 Opponent Active)
- 3 个在地上的特殊状态:
- 1 特殊技激活状态 Projectile Active
- 2 对手被击飞 Opponent Knockback
- 3 对手晕倒 Opponent Stunned
2 个普通状况

在入门教程中,我们学习了如何进行横向攻击。然而,在实际游戏中,方向扩展到 8 个维度。想象有 8 个相对位置可以用来对对手发起攻击,我们的任务是设计每个相对位置应该使用什么动作进行攻击或防守。
Focus Area
-
基本(一般全选)
- Distance to opponent
- Discrete Distance:选择该项能更好地区分与对手的远近关系。如上图所示,红色表示相对较近的距离,绿色表示相对较远的距离
- Angle to opponent
-
进阶:其他常用参数
- Direction:与对手的 4 个面向
- Your Elemental Gauge 和 Discrete Elementals:考虑到技能的蓄力
- Opponent action:对手的动作。战士会根据对手不同的动作做出反应。
- Your action:你的上一个动作。如果教连招要选这个。
3 个在地上的特殊状态
Projectile Active,Opponent Stunned,Opponent Knockback
这三个 Bucket 可以参考简单模型类型的视频。参数设置的思路和 Opponent Active / Safe Zone 的相同
这三个 Bucket 可以参考简单模型类型的视频。参数设置的思路和 Opponent Active / Safe Zone 的相同
其中 Projectile Active 除了“基于攻击”的参数,为了跟踪 Projectile ,还要选择“Raycast Projectile Distance”和
“Raycast Projectile On Target”
“Raycast Projectile On Target”
3. Intensity 的设置
资料
- 前文提到的“Tutorial”有解释这些参数。
- 官方参数文档(2022.12.24): https://docs.google.com/document/d/1adXwvDHEnrVZ5bUClWQoBQ8ETrSSKgG5q48YrogaFJs/edit
- 中文翻译:https://discord.com/channels/848599369879388170/1052714114239189062/1106111350494740541
- 拓展:关于 AI 黑话的中文讲解:https://www.bilibili.com/video/BV1A8411775m/
太长不看版:
Epochs
Epochs 小,经常就没学会,让它少学一点,就把这个调小。想让它学多一点,调大。
Batch Size
- 如果你觉得你收集的数据,精准,不够平衡,就把他调小(拉到最小,用 16)。或者想让它学得快,也是调小。
- 如果收集的数据有一点点不精准,但平衡,就调大(比如 64)
- 如果不精准、也不平衡,就重新训练。
Learning Rate 学习率:
- 让它学得多一点,但可能把之前学的忘了,拉到最大,用 0.01。
- 让它学得准确一点,可能没学会,但对之前学的影响会小一些,把数值调小。
Lambda
要学新东西,让它把过去学的忘掉一些,数值调小。
Data Cleaning 数据清理
Remove Sparsity 开启。
除非希望 AI 学会闲置。
除非希望 AI 学会闲置。
* 进阶:如果需要闲置的特例,让战士学会发特殊技:英文讲解视频:
个人经验
第一次最重要的训练我用 125 16 0.01 0 0,Remove Sparsity 开启。 优先选择 Multistream,有时选择 Oversampling。
同一个 bucket,之后的几次训练会依据以上理论来微调。
同一个 bucket,之后的几次训练会依据以上理论来微调。
四、查看概率:AI Inspector
仪表盘由“方向+动作”组成
仪表盘上方查看“下一个动作(Next Action)”——在处于地图状态下所做出的动作。
概率越高,做出该动作的可能性越大,也意味着越快做出反应。
值得注意的是,查看方向(Direction)时,图片上占比最高的未必是数值最高的,应当将鼠标移至图形上,如下图,此时最大方向是闲置(Idle)。
仪表盘上方查看“下一个动作(Next Action)”——在处于地图状态下所做出的动作。
概率越高,做出该动作的可能性越大,也意味着越快做出反应。
值得注意的是,查看方向(Direction)时,图片上占比最高的未必是数值最高的,应当将鼠标移至图形上,如下图,此时最大方向是闲置(Idle)。

在地图中,拖动战士可以查看战士在不同位置上的概率。
鼠标右键战士,更改战士的朝向。
下方状态盘可以更改战士在地图上所处的状态。
鼠标右键战士,更改战士的朝向。
下方状态盘可以更改战士在地图上所处的状态。

如训练“Opponent Stunned、Opponent Knockback” bucket, 需要选择对手状态盘下方的状态。
如果在 Focus Zone 有关注“对手动作(Opponent action)”,选择对手状态盘的动作
如果在 Focus Zone 有关注“你的动作(Your action)”,选择你自己状态盘的动作
训练 “Projectile Active” Bucket 要将仪表盘右侧的弹丸拖入,来检查状态
如果在 Focus Zone 有关注“对手动作(Opponent action)”,选择对手状态盘的动作
如果在 Focus Zone 有关注“你的动作(Your action)”,选择你自己状态盘的动作
训练 “Projectile Active” Bucket 要将仪表盘右侧的弹丸拖入,来检查状态
更进一步
概率越大,反应越快。但是也要小心动作概率达到 100% 。这可能会导致战士处于“State Transition”的特殊情况,导致战士出现不必要的“闲置”。
解释:
在战士所处的每种状态下,都有不同的“可能转变”状态。例如,在跌倒状态下,你无法进行低扫,因为低扫要求您位于地面上。对于盾牌状态,我们不允许你直接过渡到头撞(Headbutt)。因此,如果要进行头撞,你必须先退出到另一个允许你进行头撞的状态。
资料来源
五、从对战中学习
完成所有训练后,你的模型初步完成,恭喜!战士将独自登上竞技场,开启首秀!
下一步,我们将从对战中了解战士的优劣之处,以便继续完善战士的模型。
在比赛中,除了欣赏战绩之外,关注以下几点:
-
基于位置,即场外: 观察战士是如何被击杀的。是由于某个位置的动作设置问题,还是因为百分比太高导致的正常死亡。前者是我们需要避免的,需要进行优化。
-
基于攻击: 根据战斗回放,仔细分析双方的动作。观察在某个状态下自己使用了什么动作,对手又使用了什么动作。检查自己的哪些攻击效果较差?对手是如何处理不同的动作的?等等。
对战分析思路与“训练”阶段的思路相同,有助于更全面地理解战士的表现并进行有针对性的改进。
六、备忘单
训练
- 需要点击“Collect”来收集动作。
- “地图 - 数据限制”更加友好。大多数玩家会在“竞技场”地图进行初始训练。
- 在战士和木桩(Dummy)之间切换:Tab键(键盘)/Home键(手柄)。
- 使用“Collect”让对手循环某套动作。
- 让战士瞬移到某个地点:点击“设置” - SPAWN - 在地图选择要瞬移的位置 - On。在训练期间按下 Enter 键(键盘)/Start键(手柄)。
检查器
- 右键点击战斗者以改变他们的方向。拖动战斗者并查看战斗者在不同位置和方向的变化。
- 对训练满意时,要点击“Save”。
- 在“Sparring”和“Simulation”中,使用“Current Working Model”。
- 如果对某个模型满意,然后需要点击“compete”。在排名中使用的模型是“competing”。
Sparring 切磋 / Ranked 排名
- Throneroom 地图仅用于前2或前10名的排名。
- 比赛之间有 30 秒的冷却时间。任何比赛播放的都是回放。一旦战斗开始,您可以在排行榜或“右键点击页面 - 检查 - 控制台”中查看获胜者。另外,如果遇到任何错误或漏洞,请发送控制台的截图到 Discord 服务器。
祝你好运!竞技场上见!