0
点赞
收藏
分享

微信扫一扫

openAI的仿真环境Gym Retro的Game Integration——新游戏融合(2)( 示例 demo )

内容接前文:

​​openAI的仿真环境Gym Retro的Game Integration——新游戏融合(将retro中没有融合的ROM游戏加入其中)​​


前文大致简单的介绍了gym retro 库对新游戏融合的一些基础知识,本博文以例子作为示范。

将gym retro库中的Airstriker-Genesis游戏的rom文件和sha文件拷贝出来放在新建文件夹中,使用UI Integration工具load game 加载该游戏的rom文件。

 openAI的仿真环境Gym Retro的Game Integration——新游戏融合(2)( 示例 demo )_加载


openAI的仿真环境Gym Retro的Game Integration——新游戏融合(2)( 示例 demo )_搜索_02

手动跳过开始画面,进入游戏的正式画面:

openAI的仿真环境Gym Retro的Game Integration——新游戏融合(2)( 示例 demo )_文件拷贝_03

根据上图可以发现在游戏中有4个变量是显示在屏幕上的:

lives=0

score=0

hi=0

level=0


首先,我们为lives设定变量:

在变量搜索中设置lives=3,搜索:

openAI的仿真环境Gym Retro的Game Integration——新游戏融合(2)( 示例 demo )_搜索_04

得到搜索结果:

openAI的仿真环境Gym Retro的Game Integration——新游戏融合(2)( 示例 demo )_搜索_05


运行游戏,使屏幕上的lives变量变化为2,暂停后修改lives的条件,使搜索条件为lives=2:

openAI的仿真环境Gym Retro的Game Integration——新游戏融合(2)( 示例 demo )_搜索_06

然后再次搜索:

openAI的仿真环境Gym Retro的Game Integration——新游戏融合(2)( 示例 demo )_Python_07

我们获得了唯一的 lives 变量。

根据这个方法我们同理可以得到其他变量的内存地址等消息:

 openAI的仿真环境Gym Retro的Game Integration——新游戏融合(2)( 示例 demo )_搜索_08

使用这个工具我们较为方便的寻找到内存中指定的变量的地址和类型等消息。


举报

相关推荐

0 条评论