很多资料上都有使用游戏仿真器(openai推出的)retro库运行游戏"刺猬索尼克"  (SonicTheHedgehog-Genesis),但是均没有给出详细的安装该款游戏的步骤,经过自己的探索终于成功安装上。

首先,本文假设你已经安装好了Python接口的仿真器 retro ,同时你也有steam账号。

特别说明的一点是游戏"刺猬索尼克"  (SonicTheHedgehog-Genesis) 是有商业版权的,要下载该游戏需要在steam上付费的,我今天购买时使用阿里支付将人民币兑换成美元支付的,花了21元多些。

=================================================

登录你的steam账号,购买游戏:

游戏购买地址:

https://store.steampowered.com/app/71113/Sonic_The_Hedgehog/

使用淘宝或微信支付购买。

在已经安装好 retro  库的Python环境下执行命令:

python -m retro.import.sega_classics

执行命令后显示结果如下:

其中,输入用户名和密码自然不用多说,但是这个 Guard code 这个地方是要注意的,我一开始没有care这个地方直接回车了发现不好用,然后不到5分钟邮箱收到了这个Guard Code的邮件,然后再次执行这个命令,输入用户名和密码,然后再输入刚收到的邮件中的这个Guard Code于是才成功继续执行。

安装结束后,我们可以使用下面命令来测试是否安装成功:

循环回合使用随机动作运行游戏:

python -m retro.examples.random_agent --game SonicTheHedgehog-Genesis

使用交互模式运行游戏:

python -m retro.examples.interactive --game SonicTheHedgehog-Genesis

使用Brute算法的游戏策略运行游戏:

python -m retro.examples.brute --game SonicTheHedgehog-Genesis

Brute

There is a simple but effective reinforcement learning algorithm called “the Brute” from “Revisiting the Arcade Learning Environment” by Machado et al. which works on deterministic environments like Gym Retro games and is easy to implement.

====================================================

成功运行的截图:

注意的一点是本文使用retro运行游戏选择有界面的方式时是在windows10系统下的,在Ubuntu系统是提示显卡驱动过高不支持OpenGL2.0,换句话说不管是你在哪个系统下复现本文的安装方法都是需要注意显卡驱动的版本问题,如果驱动版本过高是不支持OpenGL2.0的,这样的话运行这个游戏"刺猬索尼克"  (SonicTheHedgehog-Genesis)  是不会出现图像的只会是一片黑色的屏幕。

还有一点需要注意的是并不是所有steam上的游戏都可以像本文这种方法下载运行的,这里有一个要求就是你的游戏需要是  classic Sega roms  才行,这里我也是只知道这一款游戏是该类型。

另附:

NES  游戏公司的游戏rom ( .nes 格式)

https://archive.org/download/No-Intro-Collection_2016-01-03_Fixed/Nintendo%20-%20Nintendo%20Entertainment%20System.zip

该链接中的 .nes 游戏可以导入到  retro 中。

如何使用Python环境下的2D经典游戏仿真器(openai推出的)retro库运行游戏"刺猬索尼克" (SonicTheHedgehog-Genesis)的更多相关文章

  1. 图像处理基本工具——Python 环境下的 Pillow( PIL )

    由于笔者近期的研究课题与图像后处理有关,需要通过图像处理工具对图像进行变换和处理,进而生成合适的训练图像数据.该系列文章即主要记录笔者在不同的环境下进行图像处理时常用的工具和库.在 Python 环境 ...

  2. Python环境下NIPIR(ICTCLAS2014)中文分词系统使用攻略

    一.安装 官方链接:http://pynlpir.readthedocs.org/en/latest/installation.html 官方网页中介绍了几种安装方法,大家根据个人需要,自行参考!我采 ...

  3. python环境下实现OrangePi Zero寄存器访问及GPIO控制

    最近入手OrangePi Zero一块,程序上需要使用板子上自带的LED灯,在网上一查,不得不说OPi的支持跟树莓派无法相比.自己摸索了一下,实现简单的GPIO控制方法,作者的Zero安装的是Armb ...

  4. Azure REST API (4) 在Python环境下,使用Azure REST API

    <Windows Azure Platform 系列文章目录> 之前遇到的项目中,客户需要在Python环境下,监控Azure VM的CPU利用率,在这里简单记录一下. 笔者的环境是Win ...

  5. 关于python环境下的opencv安装

    吐槽: 这一天我终于记起了这个博客.今天搞python环境下的opencv,又弄了一天,很烦躁.之前配置VS的opencv也是花了好久的时间,然后突然发现之前记录在电脑上的文档都找不到了,于是决定还是 ...

  6. windows下多Python环境指定pip安装模块到对应Python环境下

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿在windows下装了2套Python,一套是直接安装的Pytho ...

  7. python环境下安装virtualenv,virtualenvwrapper

    在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同的工程使用 ...

  8. Python环境下如何安装爬虫需求的一些库

    是在CMD环境下的: request库pip install request 回车 pandas库 同理,pip install pandas :这里需要声明下,这个是不一定成功的,刚入门稍微看了一点 ...

  9. Windows10系统python环境下安装Dlib库(转载,蔡军帅亲测可用)

    Dlib是一个很优秀的机器学习库,最近做人脸识别要用到这个库,简要记录一下配置过程,准备工作: 1.python环境 2.安装好pip(这里有个简单的安装教程) 3.Dlib包,贴一个我安装的版本,链 ...

  10. [转]LIBSVM-3.18在python环境下的使用

    http://blog.csdn.net/lj695242104/article/details/39500039 1)安装Python,直接去官方网站 2)运行“cmd”,直接输入python,查看 ...

随机推荐

  1. k8s节点状态Init:0/1

    k8s节点状态Init:0/1 在节点机器上打印日志: journalctl -f -u kubelet 出现以下内容: 5月 29 15:27:34 k8snode2 kubelet[2249]: ...

  2. Mybatis 动态 sql 是做什么的?都有哪些动态 sql?能简述一下动态 sql 的执行原理不?

    a.Mybatis 动态 sql 可以让我们在 Xml 映射文件内,以标签的形式编写动态 sql,完成逻辑判断和动态拼接 sql 的功能. b.Mybatis 提 供 了 9 种 动 态 sql 标 ...

  3. 使用shell脚本在Linux中管理Java应用程序

    目录 前言 一.目录结构 二.脚本实现 1. 脚本内容 2. 使用说明 2.1 配置脚本 2.2 脚本部署 2.3 操作你的Java应用 总结 前言 在日常开发和运维工作中,管理基于Java的应用程序 ...

  4. Java服务发起HTTPS请求报错:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException

    Java服务发起HTTPS请求报错:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderExcept ...

  5. python 日志写入文件

    import logging fmt = "%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s: %(message)s" ...

  6. 链表中,LNode和* LinkList的理解

    typedef struct LNode { int data; struct LNode* next; }LNode, * LinkList; 这是标准链表创建法. 简单的说,其中LNode和 * ...

  7. 『vulnhub系列』EVILBOX-ONE

    『vulnhub系列』EVILBOX-ONE 下载地址: https://www.vulnhub.com/entry/evilbox-one,736/ 信息搜集: 使用nmap探测内网存活主机,发现开 ...

  8. Docker部署php运行环境

    编写docker-compose.yml配置文件,使用nginx作为web服务器,转发php的请求. version: "3" services: web: image: ngin ...

  9. C#计算两个日期的天数

    private int DateDiff(DateTime dateStart, DateTime dateEnd) { DateTime start = Convert.ToDateTime(dat ...

  10. 基于FileZilla上传、下载服务器数据的方法

      本文介绍FileZilla软件的下载.配置与使用方法.   在之前的博客中,我们提到了下载高分遥感影像数据需要用到FTP(文件传输协议,File Transfer Protocol)软件FileZ ...