Kautenja/gym-super-mario-bros
Gymnasium environments for NES Mario games, with task metadata, reward instrumentation, and reproducible evaluation interfaces.
解决的问题
gym-super-mario-bros 为在经典 Nintendo Entertainment System (NES) Super Mario Bros. 游戏中训练和测试 AI 代理提供了一个标准化接口。它将游戏环境转换为与 Gymnasium (前身为 OpenAI Gym) API 兼容的格式,让研究人员和开发者能够使用强化学习 (RL) 算法来训练代理玩游戏。
运作方式
该项目使用 nes-py 模拟器来执行 NES 游戏。它将游戏状态和控制封装成一个 Gymnasium 环境,代理可以在其中发送动作(例如向右移动或跳跃),并接收状态(屏幕像素)以及基于游戏内部 RAM 数值的奖励。
为了简化训练,该项目提供了预定义的动作集(例如 SIMPLE_MOVEMENT 和 COMPLEX_MOVEMENT),将 256 种可能的 NES 动作空间限制为更易于管理的控制集。
适用对象
- AI 研究人员: 研究强化学习以及在复杂视觉环境中代理行为的人员。
- ML 工程师: 为复古游戏构建和测试 RL 代理的开发者。
- 学生: 学习如何将 AI 应用于游戏代理的人员。
特色亮点
- 多游戏支持: 支持 Super Mario Bros.、Super Mario Bros. 2 (Lost Levels)、Super Mario Bros. 2 (USA) 以及 Super Mario Bros. 3。
- 详细的奖励函数: 包含一个塑形奖励函数,奖励进度、金币收集和关卡完成,同时惩罚死亡。
- 详细的游戏状态:
info字典提供了对基于 RAM 的数据(如 x/y 位置、金币、分数和强化状态)的深入访问。 - 灵活的任务设定: 允许进行完整游戏运行以及针对个别关卡(例如 World 1-1)的目标训练。
- CLI 工具: 包含一个命令行接口,用于通过键盘或随机移动来游玩游戏,以便进行快速测试。
相关
- 项目
- 项目
- 项目
- 项目