Game Boy 模拟器!完美运行超级马里奥、口袋妖怪等游戏

【导语】:基于 Python 的 Game Boy 模拟器,超级马里奥、口袋妖怪等耳熟能详的游戏都可以在上面完美运行。

简介

PyBoy 是一个基于 Python 的 Game Boy 模拟器,超级马里奥、口袋妖怪等耳熟能详的游戏都可以在上面完美运行。这款模拟器的独特之处,在于你能用它来创建 AI 或机器人,让它基于强化学习实现自动打游戏通关等骚操作。

项目地址:

https://github.com/Baekalfen/PyBoy

下载安装

需要机器上先安装好 Python 的环境,目前支持 macOS、树莓派、Linux (Ubuntu) 和 Windows 10 系统。

Linux(Ubuntu)

> sudo apt update
> sudo apt install python3 python3-pip python3-dev libsdl2-dev build-essential
> python3 -m pip install --upgrade pip
> python3 -m pip install pyboy

树莓派

> sudo apt update
> sudo apt install libsdl2-dev libatlas-base-dev
> python3 -m pip install --upgrade pip
> python3 -m pip install pyboy

macOS

> brew update
> brew install python3 sdl2
> python3 -m pip install --upgrade pip
> python3 -m pip install pyboy

Windows 10

目前在 Windows 上仅支持 Python 3.6 和 3.7,在 Windows PowerShell 中执行以下命令:

> (New-Object Net.WebClient).DownloadFile('https://www.python.org/ftp/python/3.7.6/python-3.7.6-amd64.exe', 'python-3.7.6-amd64.exe')
> ./python-3.7.6-amd64.exe /passive InstallAllUsers=1 PrependPath=1
> (New-Object Net.WebClient).DownloadFile('https://www.libsdl.org/release/SDL2-devel-2.0.10-VC.zip', 'SDL2-devel-2.0.10-VC.zip')
> Expand-Archive -Force 'SDL2-devel-2.0.10-VC.zip' C:\SDL2\
> setx PYSDL2_DLL_PATH C:\SDL2\SDL2-2.0.10\lib\x64
> setx PATH "%PATH%;C:\SDL2\SDL2-2.0.10\lib\x64"
// 以下命令需关闭 Power Shell 后重新打开并执行
> python -m pip install --upgrade --user pip
> python -m pip install --user pyboy

使用

  1. 可以使用以下命令直接启动 PyBoy
pyboy file.rom

或者通过 Python 脚本引入使用:

from pyboy import PyBoy
pyboy = PyBoy('ROMs/gamerom.gb')
while not pyboy.tick():pass
  1. PyBoy 运行起来之后就可以调用它的 API:
from pyboy import WindowEventpyboy.send_input(WindowEvent.PRESS_ARROW_DOWN)
pyboy.tick() # Process one frame to let the game register the input
pyboy.send_input(WindowEvent.RELEASE_ARROW_DOWN)pil_image = pyboy.screen_image()
pil_image.save('screenshot.png')
  1. 以下是 PyBoy 的一些控制指令:

开源前哨 日常分享热门、有趣和实用的开源项目。参与维护 10万+ Star 的开源技术资源库,包括:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。

Game Boy 模拟器!完美运行超级马里奥、口袋妖怪等游戏相关推荐

  1. 用java做一个超级马里奥的小游戏

    好的,首先你需要准备一些基本的知识和工具: 了解 Java 语言的基本语法和编程概念. 安装好 Java 开发环境,比如 Eclipse 或者 IntelliJ IDEA. 准备好一些图像和音频资源, ...

  2. java画出马里奥_基于JAVA实现的超级马里奥(Super Mario)游戏

    一.项目简介 刚进入的时候会有一个界面,为地图编辑器.可以使用此编辑器进行地图编辑,地图编辑器的内容包括:关卡.向左箭头.带有金币的砖块.带有花朵的砖块带有蘑菇的砖块.带有星星的砖块.普通砖块.向左运 ...

  3. 基于JAVA实现的超级马里奥(Super Mario)游戏

    一.项目简介 刚进入的时候会有一个界面,为地图编辑器.可以使用此编辑器进行地图编辑,地图编辑器的内容包括:关卡.向左箭头.带有金币的砖块.带有花朵的砖块带有蘑菇的砖块.带有星星的砖块.普通砖块.向左运 ...

  4. AI自动设计了“超级马里奥”新关卡,成功晋升游戏设计师(GECCO 2018最佳论文提名)...

    作者 | Vanessa Volz.Jacob Schrum.Jialin Liu. Simon M. Lucas.Adam Smith.Sebastian Risi 译者 |林椿眄 编辑 | Jan ...

  5. AI为超级马里奥兄弟创造了游戏新级别——GECCO 2018最佳论文提名

    作者 | Vanessa Volz.Jacob Schrum.Jialin Liu. Simon M. Lucas.Adam Smith.Sebastian Risi 译者 |林椿眄 编辑 | Jan ...

  6. linux+tux游戏,Linux吉祥物游戏SuperTux 0.5.0版发布 类《超级马里奥兄弟》

    Supertux是一款跨平台的类似Super Mario Bros(超级马里奥兄弟)的游戏,其比较大的特点是使用了Tux(即Linux系统的的吉祥物)替代马里奥做主角,控制方式非常类似超级马里奥,不过 ...

  7. 基于 Paddle2.0 的强化学习新玩法 —— 通关超级马里奥兄弟

    基于 Paddle2.0 的强化学习新玩法 -- 通关超级马里奥兄弟 本文目录 基于 Paddle2.0 的强化学习新玩法 -- 通关超级马里奥兄弟 前言 马里奥游戏环境简介 PPO 算法简介 基于 ...

  8. AI又对游戏下手了,用强化学习通关超级马里奥兄弟

    [飞桨开发者说]王子瑞,四川大学电气工程学院2018级自动化专业本科生,飞桨开发者技术专家PPDE,RoboMaster川大火锅战队成员,强化学习爱好者 超级马里奥兄弟作为几代人的童年回忆,陪伴了我们 ...

  9. 马里奥制造2正在维护服务器,超级马里奥制造

    <超级马里奥制造2手机版>是一款复古像素风马里奥闯关类游戏,游戏延续了前作<超级马里奥制造>搞怪的玩法模式,玩家在这里将操控主角马里奥完成一段全新的冒险之旅,除此之外,游戏中加 ...

最新文章

  1. 树链剖分 + 后缀数组 - E. Misha and LCP on Tree
  2. 深入了解这些Java框架,看看哪个更适合你?
  3. 字符串_字符串数组_字符_字符数组
  4. SpingMVC框架:fileUpload组件原理和实现
  5. MySQL的常见命令
  6. Asp.net三层结构原理与用意学习入门教程(一)
  7. 快速搭建react项目骨架(按需加载、redux、axios、项目级目录等等)
  8. clickhouse 复杂查询时嵌套连接join可能存在的异常解决(xjl456852原创)
  9. 防止开源的加拉帕戈斯综合症,系统软件和开源都是手段不是目的
  10. Jasperreports TextField自动换行
  11. 为什么人和人的差距这么大?
  12. 时不变线性系统和时变线性系统方程的对角化
  13. 社会化媒体驱动营销转型
  14. struct termios结构体详解
  15. apk改之理简单教程
  16. 培训班出身的程序员,未来何去何从?
  17. 植物大战僵尸修改金币以及关卡
  18. keep T 不是 KG等级_Lifestyle | 做Keep没有动力?一周的健身计划都在这里了!
  19. 手机号 MD5加密解密工具类
  20. STM32烧写程序:ST-link V2调试下载器实物和连接方式

热门文章

  1. [架构设计] 创建型模型
  2. MacOS通过移动硬盘来安装Win TO GO
  3. 关于linux下/srv、/var和/tmp的职责区分
  4. LBP+SVM 活体识别
  5. 上海养老保险(社保)缴费记录查询
  6. 实现HMTL网页的全屏幕显示或模态显示 (JS代码)
  7. 随机生成手机号 JS
  8. SEO常用MATE整理
  9. JVM5-class文件结构
  10. 联想靠什么?|看完DCG的“硬指标”,我总觉得有哪点儿不对