名称: /linyiLYi/street-fighter-ai
地址: https://github.com/linyiLYi/street-fighter-ai
fork: 994 star: 4.9k 开发语言: Python
简介: This is an AI agent for Street Fighter II Champion Edition
街霸 2 是卡普空的一款老牌格斗游戏,依靠出色的游戏性和市场表现,它被誉为游戏史上最伟大的电子游戏之一、格斗游戏的先驱。
本项目基于深度强化学习训练了一个用于通关《街头霸王·二:冠军特别版》(Street Fighter II Special Champion Edition)关底 BOSS 的智能 AI 代理。该智能代理完全基于游戏画面(RGB 像素值)进行决策,在该项目给定存档中最后一关的第一轮对局可以取得 100% 胜率。

游戏配置文件存储在 data/ 文件夹下;项目的主要代码文件夹为 main/。其中,logs/ 中包含了记录训练过程的终端文本和数据曲线(使用 Tensorboard 查看);
trained_models/ 中包含了不同阶段的模型权重文件,可以用于在 test.py 中运行测试,观看智能代理在不同训练阶段学习到的对战策略的效果。
本项目基于 Python 编程语言,主要使用了 OpenAI Gym Retro、Stable-Baselines3 等标准代码库。程序运行使用的 Python 版本为 3.8.10,建议使用 Anaconda 配置 Python 环境。以下配置过程已在 Windows 11 系统上测试通过。以下为控制台/终端(Console/Terminal/Shell)指令。
环境配置
# 创建 conda 环境,将其命名为 StreetFighterAI,Python 版本 3.8.10
conda create -n StreetFighterAI python=3.8.10
conda activate StreetFighterAI
# 安装 Python 代码库
cd [项目上级文件夹]/street-fighter-ai/main
pip install -r requirements.txt
# 运行程序脚本定位 gym-retro 游戏文件夹位置
cd ..
python .utilsprint_game_lib_folder.py
通过合法途径自行获得游戏 ROM 文件后,将其复制到前述 gym-retro 的游戏数据文件夹下,并重命名为 rom.md。至此,环境配置准备工作完成。
如果想要录制智能代理的对战视频,还需要安装 ffmpeg
conda install ffmpeg
环境配置完成后,可以在 main/ 文件夹下运行 test.py 进行测试,实际体验智能代理在不同训练阶段的表现。
cd [项目上级文件夹]/street-fighter-ai/main
python test.py
更多内容,请参见下面的链接:
https://github.com/linyiLYi/street-fighter-ai