基于深度强化学习的游戏训练框架
QMobaAgent 是一个基于深度强化学习的游戏训练框架,以王者荣耀为示例,支持从视频学习和在线对战。 本项目通过兼容层设计实现游戏逻辑与训练框架的解耦,可作为模板用于开发其他游戏的强化学习AI。
项目采用DQN(Deep Q-Network)算法,实现了完整的数据收集、标记、训练、对战流程, 特别适合离线视频学习和模型快速迭代。
通过兼容层(compatibility.py)作为唯一变体,实现游戏逻辑与训练框架的完全解耦。切换游戏时只需重写兼容层,其他模块保持不变。
各模块通过依赖注入方式连接,而非硬编码依赖。模块之间通过接口通信,实现松耦合,便于测试、扩展和替换。
支持从视频文件采集数据进行训练,无需连接真实设备。配合自动标记功能,可快速构建训练数据集。
mini模式仅88K参数,支持混合精度训练(AMP)和Target Network稳定训练,在低端设备也能快速训练。
git clone https://github.com/cndaqiang/autowzry-agent.git
cd autowzry-agent
pip install -e .
mkdir -p workspace/videos
# 将游戏录像放入 workspace/videos/ 目录,例如 1.mp4
从视频文件采集游戏画面,每秒采样1帧,收集400帧数据
python scripts/collect_from_video.py --video workspace/videos/1.mp4 --interval 1.0 --max-frames 400 --output workspace/episodes/data1.hdf5
自动检测游戏状态(生存、死亡、击杀等)和动作(移动方向),添加训练标签
python scripts/label_data.py --file workspace/episodes/data1.hdf5
使用DQN算法训练模型,支持Target Network、混合精度训练、训练历史可视化
python scripts/train.py --files workspace/episodes/data1.hdf5
使用视频测试训练好的模型效果,或连接设备进行在线对战
python scripts/battle.py --model workspace/checkpoints/model_mini.pth --video workspace/videos/1.mp4 --interval 1.0
感谢 Claude Code 提供的强大AI编程助手。
感谢 linux.do 论坛各位赛博善人提供的Claude Code公益站。
本项目学习了以下优秀的强化学习王者荣耀项目: myBoris/wzry_ai、 FengQuanLi/WZCQ、 cndaqiang/learning_myBoris_wzry_ai