🎮 QMobaAgent

基于深度强化学习的游戏训练框架

🧠 深度强化学习 🎯 离线训练 ⚡ 轻量级DQN 🔧 可扩展架构

📖 项目简介

QMobaAgent 是一个基于深度强化学习的游戏训练框架,以王者荣耀为示例,支持从视频学习和在线对战。 本项目通过兼容层设计实现游戏逻辑与训练框架的解耦,可作为模板用于开发其他游戏的强化学习AI。

项目采用DQN(Deep Q-Network)算法,实现了完整的数据收集、标记、训练、对战流程, 特别适合离线视频学习模型快速迭代

✨ 核心特性

🎯

兼容层设计

通过兼容层(compatibility.py)作为唯一变体,实现游戏逻辑与训练框架的完全解耦。切换游戏时只需重写兼容层,其他模块保持不变。

🔧

依赖注入架构

各模块通过依赖注入方式连接,而非硬编码依赖。模块之间通过接口通信,实现松耦合,便于测试、扩展和替换。

📹

离线视频训练

支持从视频文件采集数据进行训练,无需连接真实设备。配合自动标记功能,可快速构建训练数据集。

轻量高效

mini模式仅88K参数,支持混合精度训练(AMP)和Target Network稳定训练,在低端设备也能快速训练。

🚀 快速开始

📦 安装配置

  1. 克隆项目并安装依赖 git clone https://github.com/cndaqiang/autowzry-agent.git
    cd autowzry-agent
    pip install -e .
  2. 准备视频素材(离线训练模式) mkdir -p workspace/videos
    # 将游戏录像放入 workspace/videos/ 目录,例如 1.mp4
01

数据收集

从视频文件采集游戏画面,每秒采样1帧,收集400帧数据

python scripts/collect_from_video.py --video workspace/videos/1.mp4 --interval 1.0 --max-frames 400 --output workspace/episodes/data1.hdf5
02

数据标记

自动检测游戏状态(生存、死亡、击杀等)和动作(移动方向),添加训练标签

python scripts/label_data.py --file workspace/episodes/data1.hdf5
03

模型训练

使用DQN算法训练模型,支持Target Network、混合精度训练、训练历史可视化

python scripts/train.py --files workspace/episodes/data1.hdf5
04

模型测试

使用视频测试训练好的模型效果,或连接设备进行在线对战

python scripts/battle.py --model workspace/checkpoints/model_mini.pth --video workspace/videos/1.mp4 --interval 1.0

📚 文档资源

📖

快速开始指南

完整的安装、训练、测试教程

→ docs/guides/quickstart
🏗️

架构文档

项目结构、模块说明和接口定义

→ docs/design/ARCHITECTURE
👨‍💻

开发指南

AI协作流程、技巧和最佳实践

→ docs/guides/COLLABORATE_WITH_AGENT
📝

开发日志

开发历史、版本和重要决策记录

→ docs/logs/development_log

🙏 致谢

感谢 Claude Code 提供的强大AI编程助手。

感谢 linux.do 论坛各位赛博善人提供的Claude Code公益站。

本项目学习了以下优秀的强化学习王者荣耀项目: myBoris/wzry_aiFengQuanLi/WZCQcndaqiang/learning_myBoris_wzry_ai