FootsiesGym:一种面向双人零和不完美信息博弈的格斗游戏基准
FootsiesGym: A Fighting Game Benchmark for Two-Player Zero-Sum Imperfect-Information Games
📝 TLDR
格斗游戏的中立博弈(neutral play)天然具有循环、非传递的不完美信息策略交互特性,但缺乏轻量、可复现的基准环境。本文基于简约2D格斗游戏Footsies构建开源强化学习环境FootsiesGym,提供矢量化仿真器支持高吞吐量训练。研究者评测了多种强化学习算法,并探讨了由此启发的开放研究方向,为不完美信息博弈策略学习提供了可控的分析平台。
🧭 速览
现有不完美信息博弈基准缺乏针对格斗中立博弈中循环、非传递策略交互的轻量级、可复现实验环境。
基于开源Footsies游戏封装为Gym环境,提取状态与动作特征,并提供矢量化仿真器以支持高吞吐量并行训练。
在FootsiesGym上对多种强化学习算法进行基准测试,验证了环境在标准硬件上的高效性与可复现性。
FootsiesGym为不完美信息零和博弈中的策略学习提供简洁可控的实验平台,并指明多个值得探索的开放方向。
📊 论文图表(共 2 张)
展开查看 2 张图
TL;DR
FootsiesGym 是一个基于极简格斗游戏 Footsies 构建的开源强化学习基准环境,专门用于研究双人零和[[不完美信息博弈]]中的循环非传递策略交互。该平台通过矢量化仿真器在标准硬件上实现每秒数万步的高吞吐训练,系统评测了 PPO、EMAgnet、PFSP 等多种强化学习算法。实验揭示了一个有趣现象:现有方法普遍难以发现并保持特殊攻击这类低概率但有价值的策略,同时环境提供的动作延迟机制可以有效调节博弈从"纯反应"到"需要预测"的性质变化。
研究背景与动机
[[博弈论]]与[[强化学习]]的交汇处,一个核心问题始终悬而未决:如何在不完全信息下训练出既强大又富有策略多样性的智能体?扑克类游戏(如 [[Leduc Poker]])提供了可控的理论分析环境,但状态空间过于简单;而《星际争霸》《Dota 2》等商业大作虽然足够复杂,却因训练成本高昂而难以广泛复现。格斗游戏本可以填补这一空白——其"中立博弈"阶段天然呈现循环非传递的策略结构,玩家必须在攻击、防御、位移之间做出混合决策,不存在任何全局占优的纯策略。
然而,现有的格斗 AI 平台大多依赖商业游戏或闭源引擎,存在授权不清、复现困难的共性障碍。FightingICE、DIAMBRA Arena 等框架虽然功能丰富,却将研究者置于高昂的工程门槛之前。更重要的是,这些平台往往追求对真实格斗游戏的完整还原,而完整往往意味着复杂——过多的机制设计会掩盖核心的博弈论问题本身。
FootsiesGym 的切入角度恰好回答了这一矛盾。HiFight 于 2018 年开源的 Footsies 是一款刻意做减法的格斗游戏:没有血条,没有连招,被特殊攻击命中即判定失败。游戏机制被极度精简,策略空间却完整保留了中立博弈的核心特征——循环、非传递、不可约简的不完美信息。作者在此基础上构建标准化的强化学习接口,将这个"最简格斗游戏"转变为一个可复现、可扩展的基准环境。
方法
FootsiesGym 的核心设计哲学可以概括为"极简但不失本质"。游戏层面保留了四项关键机制:胜负通过一次命中判定,消除血条设计带来的血量管理复杂度;格挡设置了三层上限(guard bar),超过后强制破防,形成攻击与防御的资源博弈;冲刺通过连续两次方向键实现,为位移提供离散化控制;特殊攻击需要持续按住攻击键约 60 帧后释放,创造了"蓄力"这一时间维度的策略选择。
动作空间被设计为默认 6 个离散动作的集合:NONE、BACK、FORWARD、ATTACK、BACK+ATTACK、FORWARD+ATTACK。当启用特殊充能选项时,动作空间扩展为 9 维,新增的三个 charge 动作用于简化特殊攻击的探索难度。观测空间为 85 维特征向量,包含玩家间距这一公共信息、位置速度等共享状态,以及仅自身可见的冲刺可用性、特殊攻击充能进度等特权特征——这种不对称的观测设计模拟了真实对局中"我知我见,你见我未见"的信息格局。
奖励函数采用零和形式 ,终局胜负奖励设定为 ,超时则双方均得零分。作者还提供了可选的密集奖励作为辅助信号。在技术实现上,游戏原本运行于 Unity/C# 引擎,作者通过解耦渲染循环、无头模式运行的方式将游戏逻辑独立出来。矢量化仿真器允许单个进程并行步进 个独立游戏实例,通过 gRPC 端口对外暴露 Python API,完全兼容 [[PettingZoo]] 的多智能体环境标准。
一个特别值得关注的机制是动作延迟(Action Delay)。在真实的格斗游戏中,从玩家输入指令到角色实际执行动作之间必然存在延迟。作者将这一机制参数化,使得研究者可以精确控制"反应"与"预测"之间的平衡。当动作延迟为零时,策略可以在帧级别精确响应对手动作;但当延迟增大到一定程度后,攻击变得完全不可反应,此时必须依赖对对手意图的预判。数学上,动作执行帧数可以表示为:
这个设计将动作延迟从游戏系统的被动约束转变为一个可控的实验变量,为研究不完美信息博弈中"预测 vs 反应"的策略权衡提供了天然的操作手段。
实验与结果
作者在 FootsiesGym 上系统评测了四种强化学习算法:标准 PPO、带熵系数线性退火的 PPO (Sched.)、EMAgnet(一种基于参数空间指数移动平均的正则化方法)以及 PFSP(优先虚拟自博弈,对手按当前策略弱点加权采样)。所有算法使用统一的网络架构(256 隐单元的两层 MLP)和相同的训练预算( 环境步),仅在各自特有的超参数上做朴素设置。
实验揭示了几个值得深思的发现。首先是对启发式对手的胜率表现:所有算法都能将对随机对手的胜率提升至 85–95%,但面对 no-op(什么都不做)对手时胜率反而较低。这一反直觉的结果表明,训练所得的策略存在"过度反应化"倾向——它们学会了精准反击随机动作,却不愿主动出击创造优势。
其次是近似可利用度分析。作者对每个最终策略训练最佳响应作为 exploitability 的下界估计。结果显示,所有算法的策略都存在显著的可利用空间,其中 PFSP 在与最佳响应直接对抗时胜率最高、平局率也最高;而 EMAgnet 尽管在头部对战中回报为正,却是最容易被最佳响应利用的算法。这一发现对 EMA 正则化方法在不完美信息博弈中的效果提出了质疑。
最具洞察力的发现或许是特殊攻击难以发现这一现象。在标准配置下,B_SPECIAL(需要连续按住攻击键 15 帧后释放的强力招式)在训练过程中几乎从未被有效使用,仅 PPO 在极短时间内短暂发现后很快丢失。强化学习算法倾向于维护高熵以保持探索,但高熵同时也意味着低概率策略会被逐渐挤出策略空间——即使这些策略可能具有重要的博弈论价值。这个问题呼应了"Winning is not everything"的研究关切:追求胜率的算法优化是否会牺牲策略的丰富性和观赏性?
动作延迟的消融实验进一步验证了其作为实验工具的价值。delay=0 时策略对随机对手表现出色,但对 no-op 完全失效——因为它们变成了纯粹的条件反射;delay=12 时对随机胜率下降,但对 no-op 接近 100%——因为此时攻击变得不可反应,策略被迫发展出主动创造机会的能力。启用特殊充能动作扩展后,B_SPECIAL 的使用率显著上升,验证了这是一种有效的工程性补救手段。
在资源消耗方面,FootsiesGym 展现出极高的效率。单进程峰值吞吐量约为 19,000 步/秒,当并行 4 个服务器进程、各自步进 128 个游戏实例时,聚合吞吐量达到约 52,500 步/秒。这一数字意味着在标准 24 核 CPU 工作站上,每天可以完成数十亿步的环境交互,完全满足学术研究的算力需求。
讨论与可借鉴点
FootsiesGym 的贡献不仅在于提供了一个基准环境,更在于它揭示了当前强化学习方法在处理非传递循环博弈时面临的深层挑战。特殊攻击难以发现这一现象暗示着,标准强化学习的目标函数(期望累积回报最大化)与博弈论所追求的策略多样性之间存在张力。算法会自然地收敛到"够用"的策略子集,而那些需要长期规划或跨模态探索才能发现的高价值策略,往往在早期就被遗忘。这一问题值得在[[多智能体强化学习]]的框架下进一步系统研究。
从工程角度看,该工作展示了"极简设计"的威力。FootsiesGym 的成功不在于功能的堆砌,而在于对问题本质的精准提取:将中立博弈的策略循环从格斗游戏的其他复杂机制中隔离出来。这种思路对于基准环境设计具有普遍参考价值——与其追求与真实系统的像素级还原,不如先在理论上可分析的简化环境中建立理解。
当然,这项工作也存在局限性。作者明确承认所有基线仅为朴素调参,跨算法比较的公平性有待商榷;近似可利用度仅提供下界,无法对纳什收敛性做严格判定;环境本身虽然有效简化了格斗游戏,但与真实商业格斗游戏在角色多样性、连招系统等方面仍有差距。此外,缺乏人类玩家的对照实验也是一个遗憾——环境提到了 WebGL 导出的可能性,但论文中并未实际执行人类研究或模仿学习。
展望未来,FootsiesGym 为多个方向提供了可控的实验床。探索机制的改进首当其冲:如何让强化学习算法发现并保持低概率但有价值的策略?动作延迟机制作为一个自然的实验变量,值得系统研究其对策略收敛性的影响。[[自我博弈]]方法的改进也是重要方向,PFSP 展现出对抗最佳响应时的优势,但其对手选择策略仍有优化空间。最后,该环境可以作为博弈论直觉的教学工具——通过可视化策略演化,学生可以直观理解循环支配、纳什均衡等抽象概念如何体现在具体的游戏交互中。
摘要
我们提出了 FootsiesGym,一个用于非平凡双人零和不完美信息博弈学习的开源环境。该环境基于 HiFight 的极简 2D 格斗游戏 Footsies 构建,在保持简洁以便于高效分析的同时,抽取了格斗游戏中立局面下循环且非传递性的策略交互。我们提供了一个矢量化模拟器,可在标准硬件上实现高通量训练,使该环境易于使用且具备可复现性。我们描述了该环境的设计,对若干强化学习算法进行了基准测试,并讨论了其所支持的前沿研究方向。代码可在 https://github.com/como-research/FootsiesGym 获取。
速览
TLDR:不完全信息下的双人零和博弈策略学习是AI博弈论研究中的核心难题,但现有基准往往复杂且难以复现。本文基于HiFight极简2D格斗游戏Footsies构建开源基准平台FootsiesGym,专注于隔离游戏中循环非传递策略交互的中立博弈阶段,提供向量化仿真器在标准硬件上实现高吞吐训练。作者在其中系统评测了多种主流强化学习算法,并讨论了该环境所支持的多项开放研究方向。该工作为不完全信息博弈学习提供了简洁、可控且易复现的实验平台,有望推动博弈论与游戏AI领域的相关研究。 \
Motivation:格斗游戏中立博弈阶段呈现循环非传递策略交互,是研究不完全信息零和博弈的理想场景,但缺乏轻量级、可复现的专用基准环境。 \
Method:基于极简2D格斗游戏Footsies构建开源环境FootsiesGym,提供向量化仿真器支持并行高吞吐训练,并集成多种强化学习算法评测接口。 \
Result:在FootsiesGym上对多种强化学习算法进行基准评测,分析不同算法在该不完全信息博弈环境下的性能表现、训练效率与策略行为差异。 \
Conclusion:FootsiesGym为不完全信息博弈研究提供了简洁、可控且易复现的实验平台,并拓展出多个值得进一步探索的开放研究方向。
Context:该工作属于博弈论与游戏AI交叉领域的基准平台建设,承接扑克等复杂不完全信息博弈研究脉络,针对格斗游戏非传递策略循环的轻量场景进行扩展,为算法迭代与对比提供低门槛工具。
Abstract
We present FootsiesGym, an open-source environment for learning in a non-trivial two-player, zero-sum, imperfect-information game. Built on HiFight's minimalist 2D fighting game Footsies, it isolates the cyclic, non-transitive strategic interactions of fighting game neutral play while remaining simple enough for efficient analysis. We provide a vectorized simulator that enables high-throughput training on standard hardware, making the environment accessible and reproducible. We describe the design of the environment, benchmark several reinforcement learning algorithms, and discuss open research directions it enables. The code is available at https://github.com/como-research/FootsiesGym.
论文详细总结(自动生成)
FootsiesGym 论文总结
1. 核心问题与研究动机
格斗游戏的"中立博弈(neutral game)"阶段天然具有循环、非传递的策略交互结构(类似于石头剪刀布),玩家必须在攻击、移动、防御之间选择混合策略,不存在全局占优的纯策略。然而,现有的多智能体/博弈论强化学习基准存在明显的两极分化:
- 一端是小型博弈论基准(Kuhn Poker、Leduc Poker、Phantom Tic-Tac-Toe 等):支持精确的可利用度(exploitability)计算,但状态空间和时序结构过于简单。
- 另一端是大型实时环境(StarCraft II、Dota 2、Honor of Kings 等):复杂度高但训练成本巨大。
格斗游戏本可填补这一中间地带,但现有格斗 AI 平台(FightingICE、DIAMBRA Arena、Stable-Retro)多依赖商业游戏、闭源引擎或 ROM 文件,存在授权和复现障碍。论文旨在填补这一空白,提供一个轻量、开源、可复现、聚焦中立博弈非传递策略结构的基准环境。
2. 方法论
2.1 环境设计思想
基于 HiFight 2018 年开源的极简 2D 格斗游戏 Footsies 构建。Footsies 故意舍弃了格斗游戏中常见的连招(combo)机制,将策略空间聚焦于"中立博弈"的循环交互,同时保留真实格斗游戏的核心要素——非传递性、实时性、空间性和不完美信息。
2.2 关键机制
- 胜负判定:无血条;被特殊攻击命中即败。
- 防御系统:格挡上限为 3 次(guard bar),超过后强制破防(guard break)。
- 冲刺:通过连续两次方向键输入实现。
- 特殊攻击:需要持续按住攻击键约 60 帧后再释放,并可叠加方向(前/后/无)形成不同招式。
2.3 动作与观测
- 动作空间:默认离散 ,包括
NONE、BACK、FORWARD、ATTACK、BACK+ATTACK、FORWARD+ATTACK。 - 可选扩展:启用
use_special_charge_action后扩展为 ,新增三个 charge 动作以简化特殊攻击的探索。 - 观测:85 维特征向量(启用 charge 选项后 88 维),包含公共特征(玩家间距)、共享特征(位置、速度、动作状态、命中状态等)以及仅自身可见的特权特征(冲刺可用性、特殊攻击充能进度、上一步动作),模拟真实人类对局中的信息不对称。
2.4 奖励
零和奖励 ;终局胜负奖励为 (默认 );超时(默认 4000 步)双方均得 0;可选密集奖励以辅助学习。
2.5 动作延迟(Action Delay)机制
动作延迟定义为从选择动作到实际执行之间插入的帧数,必须为 frame_skip 的整数倍:
- delay=0 时,策略具备帧级精确反应能力,游戏退化为纯反应策略。
- delay 增大时,攻击变得不可反应,必须预测对手意图。
- delay 极高时趋于随机。
2.6 工程实现
- Footsies 原本使用 Unity/C#,通过解耦渲染循环、无头(headless)模式运行。
- 矢量化仿真器:单个 C# 无头进程并行步进 个独立游戏实例,通过单一 gRPC 端口暴露。
- Python 客户端遵循 PettingZoo API。
- 多进程并行 个独立游戏服务器线程进一步提升吞吐量。
3. 实验设计
3.1 基准算法
对四种算法进行评测(均仅做了朴素调参,未声明为精调结果):
- PPO(固定熵系数 0.025)
- PPO (Sched.)(熵系数从 0.1 线性退火至 0)
- EMAgnet(Maidment et al., 2026)——基于参数空间 EMA 的正则化方法,其损失函数为:
其中磁极(magnet)参数以 更新。
- PFSP(Prioritized Fictitious Self-Play)——基于优先虚拟自博弈的对手采样规则,对手 按权重 采样,优先针对当前策略的弱点。
3.2 评测方式
- 启发式对手评测:分别针对均匀随机策略与 no-op 策略,记录胜率。
- 近似可利用度:对每个最终策略用 PPO 训练最佳响应(best response),作为 exploitability 的下界估计。
- 直接对抗回报:5×5 交叉对战,每格 2400 局。
- 特殊攻击使用率分析:监测 B_SPECIAL(需连续 15 步 ATTACK 后释放)在训练过程中的使用频率。
- 消融实验:动作延迟(0 vs 12)、是否启用特殊充能动作。
3.3 网络结构与训练设置
- 网络:2 层 MLP,256 隐单元 + ReLU。
- 总训练步数: 环境步。
- 并行环境数:48。
- Rollout 长度 64,每 epoch 8 个 minibatch,共 8 个更新 epoch。
- ,,,Adam 优化器,学习率线性衰减。
4. 资源与算力
- 硬件:24 核 / 48 线程工作站(未指明 GPU)。
- 仿真吞吐量:
- 单进程()峰值约 19,000 步/秒。
- 时聚合吞吐约 52,500 步/秒(约为单进程的 2.7×)。
- 训练规模:每算法 步、48 并行实例。论文未明确报告总训练时长与 GPU 使用情况,重点强调仿真在标准 CPU 工作站上的高效性而非 GPU 加速。
5. 实验数量与充分性
- 每算法 5 个随机种子;最佳响应训练 3 个种子。
- 评测组合:4 算法 × 2 启发式对手 + 4 算法两两交叉 + 4 算法的最佳响应 = 较系统的覆盖。
- 消融实验:动作延迟 {0, 12}、是否启用 special charge action 各一组对比。
- 充分性评价:
- 在算法覆盖、对手多样性与多 seed 统计方面较为充分;
- 但作者明确声明基线仅为朴素调参,未做超参数搜索;
- 近似 exploitability 仅给出下界,无法反映真实可利用度;
- 实验主要集中在标准配置下,对环境配置空间的探索有限。
6. 主要结论与发现
1. 对抗启发式对手:所有算法对均匀随机对手的胜率均提升至约 85–95%,但所有策略都呈现过度反应化倾向,对 no-op 对手胜率较低——策略"不愿主动出击"。
2. 近似可利用度:所有算法的最终策略均存在显著可利用空间;PPO 与 PPO (Sched.) 表现相近;PFSP 在对抗最佳响应时胜率最高、平局率也最高;EMAgnet 在头部对战中回报为正,但最容易被最佳响应利用。
3. 特殊攻击难以发现:在标准配置下,B_SPECIAL 在训练中几乎从未被有效使用(仅 PPO 在极短时间内发现后很快丢失),表明现有方法的正则化/熵项会将有价值但难以探索的策略挤出策略空间。
4. 动作延迟的影响:delay=0 策略对随机对手胜率高,但对 no-op 完全退化(变成纯反应策略);delay=12 时对随机胜率下降但对 no-op 接近 100%——延迟是控制博弈"反应 vs 预测"性质的关键杠杆。
5. 特殊充能动作扩展:启用 charge 选项后 B_SPECIAL 使用率显著上升,对随机对手胜率保持相当水平。
7. 优点
- 填补基准空白:定位精准,填补了小型博弈论基准与大型实时策略游戏之间的中间地带。
- 完全开源:游戏本身、仿真器、Python 客户端均开源,避免了商业游戏授权问题。
- 高性能矢量化实现:单工作站即可达到 5 万步/秒级别的吞吐,对 RL 研究非常友好。
- API 兼容性:遵循 PettingZoo 标准,便于与主流 RL 库集成。
- 问题意识强:除技能/可利用度外,关注"策略是否引人入胜"以及"正则化是否会丢失有价值的低概率策略"等深层问题,与 Zhao et al. (2020) "Winning is not everything" 的设计哲学相呼应。
- 多维评测:启发式对手、近似可利用度、头部对战、动作分析综合使用。
8. 不足与局限
- 基线调参不充分:作者明确说明所有算法仅为朴素调参,不同算法间的优劣比较具有局限性。
- 可利用度仅为下界:采用最佳响应训练近似,缺乏精确 exploitability,无法对策略的纳什收敛性做严格判定。
- 环境复杂度仍有限:相比现代商业格斗游戏,Footsies 在动作、连招、角色多样性等方面差距明显,对超复杂不完美信息博弈研究的代表性有限。
- 探索困难未被解决:实验揭示特殊攻击难以发现这一现象,但论文未给出系统解决方案,仅提供了 charge action 的工程性补丁。
- 缺乏人类评价:虽然提到了可导出 WebGL 进行人类对照实验的可能性,但本文并未实际执行人类研究或模仿学习实验。
- 评测对手有限:仅使用随机、no-op 与最佳响应三种对手,缺少对"中间水平"人类玩家或其他多样化智能体的评测。
- 公平性顾虑:不同算法共享相同的网络结构与训练步数,但熵系数、磁极更新率等关键超参数取值差异较大,跨算法比较未必完全公平。
(完)
✨ 编译论文
点「✨ 编译」开始,LLM 会按 Polaris 风格翻译并把图片/表格嵌到对应位置。结果存到浏览器 localStorage,下次访问自动加载。

