FootsiesGym:面向双人零和不完全信息博弈的格斗游戏基准
摘要
FootsiesGym是一个开源环境,用于研究非平凡的双人零和不完全信息博弈。它基于极简格斗游戏Footsies构建,提供向量化模拟器以支持高效训练,并对多种强化学习算法进行了基准测试。
arXiv:2607.06514v1 公告类型:新
摘要:我们提出了FootsiesGym,这是一个用于在非平凡双人零和不完全信息博弈中学习的开源环境。它基于HiFight的极简2D格斗游戏Footsies构建,隔离了格斗游戏中立对局中的循环、非传递性战略交互,同时保持足够简单以实现高效分析。我们提供了一个向量化模拟器,可以在标准硬件上进行高吞吐量训练,使环境易于访问和复现。我们描述了环境的设计,对多种强化学习算法进行了基准测试,并讨论了它所支持的开放研究方向。代码可在 https://github.com/como-research/FootsiesGym 获取。
查看缓存全文
缓存时间: 2026/07/08 04:40
# FootsiesGym:一个用于双人零和不完美信息格斗游戏的基准测试环境
来源:https://arxiv.org/html/2607.06514
###### 摘要
我们提出 **FootsiesGym**,一个开源的、用于在非平凡的双人零和不完美信息游戏中学习的环境。它基于 HiFight 的极简主义 2D 格斗游戏 *Footsies*,隔离了格斗游戏中“中立博弈”的循环、非传递性策略交互,同时保持足够简单以便高效分析。我们提供了一个向量化模拟器,能够在标准硬件上实现高通量训练,使该环境易于访问和复现。我们描述了环境的设计,对多种强化学习算法进行了基准测试,并讨论了其开启的开放研究方向。代码可在 https://github.com/como-research/FootsiesGym 获取。
## 1. 引言
多智能体与博弈论强化学习的进展依赖于能够以可承受的成本捕捉正确结构的基准测试。现有环境往往走向两个极端。一端是像矩阵游戏和扑克变体这样简洁的博弈论基准,它们展现了循环、混合策略的结构,但通常回合较短、动态简单且探索要求有限。另一端是大型实时环境(如《星际争霸 II》和《Dota 2》),它们深度复杂且时间跨度长,但需要大量资源进行训练。
格斗游戏可以占据一个富有成效的中间地带:它们既是实时又是空间性的,同时将策略结构置于核心。它们依赖于基于两个对立玩家交互的根本性非传递性动态。格斗游戏的基本策略常被描述为“石头-剪刀-布”游戏,因为玩家必须学习关于移动和不同类型攻击的混合策略,这些攻击相互克制并形成策略循环。由于没有单一选项占主导地位,承诺采用纯策略的玩家很容易被利用。
参见图注
图 1:Footsies 游戏截图,来自 hifight2018footsies。两个角色通过移动、快速攻击和特殊攻击的组合进行战斗。当一方将另一方击倒(K.O.)时,玩家获胜。在这项工作中,我们提供了一个基准环境来研究 Footsies(hifight2018footsies)中的这些交互。Footsies 是由 HiFight 开发的一款开源 2D 格斗游戏,如图 1(https://arxiv.org/html/2607.06514#S1.F1)所示。Footsies 是围绕 *中立博弈* 构建的:即双方均无明显优势的阶段,双方玩家通过移动、调整距离和时机,试图创造攻击机会。这正是上述循环、混合策略结构出现的地方。
## 2. 相关工作
#### 基准环境。
多智能体与博弈论强化学习研究涵盖了广泛的环境复杂度。一端是允许精确可剥削性计算(lanctot2019openspiel;rudolph2025reevaluating)的小规模环境,例如 Kuhn Poker、Goofspiel、Leduc Poker、Phantom Tic-Tac-Toe 和 Dark Hex。虽然这些环境对于精确可剥削性计算和均衡分析很有价值,但它们几乎不包含更丰富游戏的复杂性。另一端是实时策略和 MOBA 环境,例如《星际争霸 II》(vinyals2019grandmaster)和《王者荣耀》(ye2020mastering),它们具有丰富、长时域的动态,但需要大量的计算资源和时间进行训练。在这两极之间,像 Slime Volleyball(evojax2022)和简化版 Stratego 变体(例如 mcaleer2020pipeline)这样的环境以适中的成本提供了中等复杂度。FootsiesGym 同样占据了这个中间地带:它是实时、空间性、不完美信息且非传递性的,但仍然足够廉价,可以在单台工作站上在合理时间内进行训练。
#### 作为强化学习环境的格斗游戏。
有几个使用格斗游戏作为强化学习环境的实例。FightingICE 平台(lu2013fighting;khan2022darefightingice)举办了一个长期运行的格斗游戏 AI 竞赛,而 DIAMBRA Arena(palmas2022diambra)和 Stable-Retro(farama2023stableretro)通过模拟器暴露了经典的街机和主机格斗游戏。这些现有平台通常封装了需要用户提供 ROM 或闭源引擎的专有游戏,增加了许可和可复现性的摩擦。相反,FootsiesGym 构建在一个完全开源的游戏之上,并配备了专门构建的向量化模拟器,优先考虑在标准硬件上的可访问性和训练速度。
## 3. FootsiesGym 环境
与现有的格斗游戏环境相比,Footsies 有意追求极简主义,以便于分析并关注该类型的非传递性结构。典型的格斗游戏具有更复杂的动作和机制,最显著的是连击(combo):一长串连锁攻击。这些机制将格斗游戏分为两个策略领域:中立博弈期间出现的循环、混合策略交互,以及一旦玩家打开局面并开始连击时开始的、很大程度上是传递性的执行较量。通过放弃后者,Footsies 在保留其循环策略交互的同时隔离了中立博弈。关键机制(根据 Footsies 文档重述)¹¹ 包括:
- 没有生命值条;当玩家被特殊攻击击中时,该回合即告失败。
- 对手的攻击最多可以格挡三次,由屏幕左上和右上方的防御条指示。三次格挡后,每次攻击都会导致防御崩坏,使玩家暴露在后续攻击之下。
- 玩家可以通过快速连续按两次方向键进行前冲和后撤。
- 特殊攻击通过按住攻击键 60 帧然后释放来执行,可以在中立位置或带有前进/后退方向时执行。
#### 动作。
默认情况下,每个智能体每个时间步的动作来自一个大小为 |A|=6 的离散空间,包括:无、后退、前进、攻击、后退+攻击和前进+攻击。在 Footsies 中,特殊攻击通过按住攻击键一段时间然后释放来执行。由于通过随机探索发现何时开始蓄力以及按住攻击键多长时间可能很困难,FootsiesGym 可选地提供一种特殊蓄力动作模式。启用后,动作空间通过添加三个蓄力动作扩展到 |A|=9:后退蓄力、中立蓄力和前进蓄力。每个蓄力动作切换用于发射特殊技的“按住攻击”状态:第一次调用开始按住攻击键,而第二次调用释放它并执行相应的特殊技(后退、中立或前进)。附录 E(https://arxiv.org/html/2607.06514#A5)提供了进一步细节并说明了启用此选项的效果。
#### 观察。
每个智能体接收到一个 85 维的特征化观察(启用特殊蓄力选项后为 88 维),包含完全描述双方玩家状态所需的所有特征。每个智能体还观察一小块特权的自身特征,包括其自身的冲刺可用性、特殊攻击蓄力进度和上一个动作。这些特征不会在对对手的观察中暴露,反映了人类玩家中存在的非对称信息。完整的逐特征分解见附录 B(https://arxiv.org/html/2607.06514#A2)。
#### 奖励。
奖励在智能体之间是零和的(\(r^i = -r^{-i}\)),其中 \(i\) 表示自身,\(-i\) 表示对手。当任一智能体被击败时,会给予终局胜负奖励 \(\pm w\)(默认 \(w=10\))。在超时(默认为 4,000 步)的情况下,双方智能体都获得 0 奖励。可以在环境配置中设置可选的密集奖励来引导学习(参见附录 A(https://arxiv.org/html/2607.06514#A1))。
### 3.1 动作延迟
动作延迟是指在动作选择与游戏内执行之间的游戏帧数。它必须是帧跳过的整数倍,使得在时间步 \(t\) 选择的动作在时间步 \(t + \frac{\text{动作延迟}}{\text{帧跳过}}\) 执行。延迟决定了哪些攻击是“可反应的”(reactable)以及哪些必须被“预测”(predicted)。在动作延迟为 0 时,策略具有帧完美的反应。在这种情况下,我们观察到游戏玩法坍缩为退化的、纯粹被动的策略。随着延迟增加,动作变得愈发难以反应,将中立博弈简化为对对手意图的纯粹预测,并在高动作延迟值时产生近乎随机的游戏表现。我们在附录 D(https://arxiv.org/html/2607.06514#A4)中提供了关于操控动作延迟效果的额外结果。
### 3.2 实现
Footsies 构建在 Unity 游戏引擎中,所有游戏逻辑用 C# 编写。为了训练,我们将模拟器从 Unity 的渲染循环中解耦并以无头模式运行。向量化完全在 C# 端处理:一个无头进程并行地逐步执行 \(K\) 个独立的游戏实例,并通过一个 gRPC 端口将其暴露出来。Python 客户端按照 PettingZoo(terry2021pettingzoo)API 实例化环境。进程内环境数量 \(K\) 在配置中传递。标准的无头模式优化(例如,取消帧率上限、禁用音频、无渲染)会自动应用,每个向量化实例在结束时自动重置。
参见图注
图 2:在 24 核/48 线程的工作站上,作为进程内并行环境数量 \(K\) 的函数的聚合环境每秒步数。每条曲线对应从 Python 线程同时步进的独立游戏服务器进程数量 \(P\)。阴影带为 95% 置信区间。图 2(https://arxiv.org/html/2607.06514#S3.F2)描述了两个互补级别的并行性。在单个游戏进程内(\(P=1\)),聚合吞吐量在大约 19,000 个环境步/秒处达到平台期。运行 \(P\) 个独立的游戏进程(每个进程有自己的 gRPC 端口和 \(K\) 个进程内实例)在并发线程中,提高了这个上限。在 \(P=4\) 且 \(K=128\) 时,聚合吞吐量达到大约 52,500 个环境步/秒,约为单进程峰值的 2.7 倍。
除了无头训练服务器,同一 Unity 项目还可以编译为带有完整渲染的窗口化构建,用于对训练好的智能体进行可视化检查以及通过键盘进行本地游戏。
## 4. 实验基线
我们训练了一组基线算法来说明 Footsies 中的学习动态,并突出未来研究的机会。重要的是,所报告的算法仅通过几次试错迭代进行了粗略调优;它们并非这些算法的完全调优实现,我们也不对其相对质量做任何明确声明。
#### 算法。
我们使用两种 Proximal Policy Optimization(PPO;schulman2017proximal)变体:一种带有大的熵系数并在训练过程中退火,另一种使用固定系数。我们分别称它们为 PPO(退火)和 PPO。选择这些算法是受 rudolph2025reevaluating 结果的启发,他们展示了在循环双人零和不完美信息游戏中,适当调整的标准策略梯度方法中的熵调度可以表现与专门的博弈论训练算法相当或更好。
参见图注
(a)vs. 随机对手。
(b)vs. 无操作对手。
图 3:针对两种启发式对手评估的 PPO、PPO(退火)、EMAgnet 和 PFSP 基线曲线 a) 均匀随机策略 b) 无操作策略。曲线汇总自 5 个种子;阴影区域代表 95% 置信区间。此外,我们展示了使用 EMAgnet(maidment2026emagnet)和基于优先虚构自我对弈(PFSP;vinyals2019grandmaster)采样规则的群体方法进行训练的结果。前者是一种针对策略梯度算法的正则化方法,将策略向其自身权重的指数移动平均正则化,并已被证明在标准基准测试中优于熵正则化。后者维护一个过去检查点的池子,并优先采样当前策略会输给的对手。两种算法的完整细节在附录 C(https://arxiv.org/html/2607.06514#A3)中提供。
对于所有算法,我们使用相同的网络结构和训练方案:一个 2 层 MLP,输入为 85 维观察空间。每个算法在 \(2.5 \times 10^7\) 个环境步上进行训练,使用五个随机种子。完整的参数和环境配置设置在附录 C(https://arxiv.org/html/2607.06514#A3)中提供。
#### 针对启发式对手的性能。
在图 3(https://arxiv.org/html/2607.06514#S4.F3)中,我们展示了在训练过程中针对均匀随机和无操作对手的胜率。所有策略在针对这两个对手时都达到了可比的性能:针对均匀随机对手,它们的胜率增加到大约 85-95%。由于无操作对手从不攻击,所有非获胜的比赛都会超时结束,因此平局率就是 \(1 - p_{\mathrm{win}}\)。这些结果说明了在这个环境中可以研究的众多领域之一。随着策略的改进,它们变得越来越被动,并且不太可能对一个站着不动的对手发起进攻。尽管这种行为可能不易被利用,但它可能是不受欢迎的。例如,如果游戏中的 AI 无法与玩家互动,这可能违背游戏设计师的期望。
参见图注
(a)PPO
(b)PPO(退火)
(c)EMAgnet
(d)PFSP
图 4:针对所有 a) PPO、b) PPO(退火)、c) EMAgnet 和 d) PFSP 策略训练近似最佳响应的结果。结果从训练好的策略的角度呈现(即,损失率是最佳响应策略获胜的频率)。PPO 和 PPO(退火)表现大致相当。EMAgnet 表现最差,损失率最高,平局数最少。PFSP 的平局率相对较高。所有算法的胜率均普遍较低。每个最佳响应使用三个随机种子,因此每个算法总共有 15 个结果(3 个最佳响应种子 × 5 个算法种子)。
#### 近似可剥削性。
虽然启发式对手提供了粗略的技能视角,但它们对于每个策略在面对专用对手时有多鲁棒几乎没有说明。因此,我们还通过为每个策略训练近似最佳响应来报告每组策略的近似可剥削性。我们使用 PPO 针对每个策略的固定最终检查点训练最佳响应。这种方法已成为在无法计算精确可剥削性的游戏中的常见近似(例如,lanctot2019openspiel;timbers2020approximate;sokota2022unified)。使用的参数与固定熵 PPO 策略相同(在附录 C(https://arxiv.org/html/2607.06514#A3)中描述)。每个算法的结果(以游戏结果率表示)如图 4(https://arxiv.org/html/2607.06514#S4.F4)所示。我们观察到 r相似文章
双人零和不完美信息博弈中的策略表示学习探索
本文研究了在双人零和不完美信息博弈中学习有用的策略表示(嵌入)的方法,介绍了创建策略数据集、学习嵌入以及使用Kuhn和Leduc扑克在下游任务中评估这些方法的技术。
OpenFinGym:一个可验证的多任务Gym环境,用于评估量化交易Agent
本文介绍了OpenFinGym,这是一个统一的多任务Gym环境,用于评估量化金融中的大语言模型Agent,涵盖预测、市场生成、实时交易和欺诈检测,具备可验证执行和自动化任务构建功能。
G-Zero:从零数据开始的无界生成自博弈方法
本文介绍了 G-Zero,这是一个无需验证器的框架,通过基于内在奖励和提示引导的协同进化训练,实现大型语言模型的自主自我改进。旨在通过从内部分布动态中推导监督信号,克服代理 LLM 评判者在无界任务中的局限性。
Gym Retro
OpenAI 发布 Gym Retro,这是一个强化学习研究环境,汇集了来自经典游戏主机(世嘉创世纪、NES、SNES、Game Boy 等)的游戏,用于研究智能体在不同游戏和关卡中的泛化能力。
OpenAI Gym Beta
OpenAI 发布了 OpenAI Gym 公开测试版,这是一个用于开发和比较强化学习算法的工具包,包含不断增长的环境套件和可复现研究的平台。该工具包旨在标准化强化学习基准,并为研究社区提供多样化、易于使用的环境。