Game Boy 模拟器!完美运行超级马里奥、口袋妖怪等游戏
Game Boy 模拟器!完美运行超级马里奥、口袋妖怪等游戏
【导语】:基于 Python 的 Game Boy 模拟器,超级马里奥、口袋妖怪等耳熟能详的游戏都可以在上面完美运行。
简介
PyBoy 是一个基于 Python 的 Game Boy 模拟器,超级马里奥、口袋妖怪等耳熟能详的游戏都可以在上面完美运行。这款模拟器的独特之处,在于你能用它来创建 AI 或机器人,让它基于强化学习实现自动打游戏通关等骚操作。
文章图片
文章图片
文章图片
文章图片
项目地址:
https://github.com/Baekalfen/...
下载安装
需要机器上先安装好 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
使用
- 可以使用以下命令直接启动 PyBoy
pyboy file.rom
或者通过 Python 脚本引入使用:
from pyboy import PyBoy
pyboy = PyBoy('ROMs/gamerom.gb')
while not pyboy.tick():
pass
- 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')
- 以下是 PyBoy 的一些控制指令:
文章图片
【Game Boy 模拟器!完美运行超级马里奥、口袋妖怪等游戏】
文章图片
开源前哨
日常分享热门、有趣和实用的开源项目。参与维护 10万+ Star 的开源技术资源库,包括:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。
推荐阅读
- 白色情人节小众提案!有求生欲的boy都进来了
- 游戏开发|pygame小游戏开发 - 冰雪英雄会
- Arduboy|Arduboy 游戏机制作参考教程
- 大牌杂志偏爱流量(李易峰、王俊凯谁才是顶流boy)
- Injection|Injection For Xcode11 macOS 10.15 Catalina 亲测可用iOS模拟器UI界面调试实时刷新工具
- PyGame每日一练——五子棋小游戏
- hdu|2016 Multi-University Training Contest 1 C Game(hdu 5725)
- POJ 1027 The Same Game 模拟题
- 比赛题解|2020 杭电多校9 1007 Game (平衡树)
- ZOJ-3447---Doraemon's Number Game (贪心+大数)