今天给大家介绍一个在街机游戏《街头霸王3》中,进行模拟来训练强化学习算法的工具包。
不仅在 MAME 游戏模拟器中可以使用,这个 Python 库可以在绝大多数的街机游戏中都可以训练你的算法。
下面小七从安装、设置到测试分步为大家介绍一下!
目前这个工具包支持在 Linux 系统,作为 MAME 的包装器来使用。
通过这个工具包,你可以定制算法逐步完成游戏过程,同时接收每一帧的数据和内部存储器的地址值来跟踪游戏状态,以及发送与游戏交互的动作。
首先你需要准备的是:
操作系统:Linux
Python 版本:3.6+
01
安装
你可以使用 pip 来安装该库,运行下面的代码:
《街头霸王3》示例:
这个工具包目前已用于游戏《街头霸王3》(Street Fighter Ill Third Strike: Fight for the Future)还可以用于MAME上的任何游戏。
下面的代码演示了如何在街头霸王的环境下编写一个随机智能体。
此外,这个工具包还支持 hogwild 训练:
02
游戏环境设置
在创建一个模拟环境之前,大家需要先加载游戏的ROM,并获取MAME所使用的游戏ID。
比如,这个版本街头霸王的游戏ID是“sfiii3n”
你可以通过运行以下代码来查看游戏ID:
该命令会打开 MAME 模拟器,你可以从游戏列表中选择你所要的那款游戏。
游戏的 ID 通常位于标题后面的括号中。
内存地址:
实际上该工具包与模拟器本身不需要太多的交互,只需要查找和内部状态相关联的内存地址,同时用所选取的环境对状态进行跟踪。
你可以使用MAME Cheat Debugger来观家随看时间的变化,内存地址值发生了怎样的改变。
可以使用以下命令运行 Debugger:
领取专属 10元无门槛券
私享最新 技术干货