QMobaAgent (autowzry-agent)
🎮 项目简介
QMobaAgent是一个基于深度强化学习的MOBA游戏AI训练框架,以王者荣耀为示例,支持从视频学习和在线对战。本项目通过兼容层设计实现游戏逻辑与训练框架的解耦,可作为模板用于开发其他游戏的强化学习AI。
📚 文档导航
使用指南
开发指南
- 给开发者的开发指南 - 与AI代码助手协作的完整流程与技巧 ⭐
- 给代码助手的项目指南 - 让AI代码助手快速了解本项目
- 开发历史 - 开发记录和版本历史
📁 项目结构
autowzry-agent/
├── qmoba_agent/ # 主包目录
│ ├── config/ # 配置管理
│ ├── core/ # 核心模块(DQN模型、训练器)
│ ├── environment/ # 环境交互(兼容层、动作空间、游戏状态)
│ ├── data/ # 数据处理(数据管理、训练缓冲)
│ ├── utils/ # 工具函数(图像处理、视频读取)
│ └── autowzry_lite/ # autowzry精简版
├── scripts/ # 执行脚本(收集、标记、训练、对战)
├── config/ # 配置文件(YAML)
├── docs/ # 文档
├── workspace/ # 运行时数据(episodes、checkpoints等)
└── pyproject.toml # 项目配置
✨ 核心特性与架构
本项目支持完整训练流程:数据收集 → 标记 → 训练 → 在线对战。
设计特色
1. 兼容层作为唯一变体
- 🎯 兼容层(
environment/compatibility.py)负责所有游戏/设备相关的特殊逻辑 - 🔧 通用模块(core、data、utils)与具体游戏完全解耦
- 🔄 切换游戏时只需重写兼容层,其他模块保持不变
2. 依赖注入连接模块
- 各模块通过依赖注入方式连接,而非硬编码依赖
- 模块之间通过接口通信,实现松耦合
- 便于测试、扩展和替换
3. 模型接口标准化
- 模型只需满足固定的输入输出接口
- 可以随意替换不同的模型实现
- 本项目提供了一个轻量级DQN实现(支持mini/full/high三种规模)
🙏 致谢
感谢 Claude Code 提供的强大AI编程助手。
感谢 linux.do 论坛各位赛博善人提供的Claude Code公益站。
本项目学习了以下优秀的强化学习王者荣耀项目:
🔗 相关项目
- autowzry - 王者荣耀自动化框架(图像识别和设备控制)
- autowzry_lite - autowzry的精简版本(包含在本项目中)
- airtest_mobileauto - 移动端自动化工具
🤝 贡献
欢迎提交Issue和Pull Request!
📄 许可证
本项目仅供学习研究使用。
Metadata
Release files for qmoba-agent 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qmoba_agent-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / qmoba_agent-0.1.0-py3-none-any.whl
| Download URL | qmoba_agent-0.1.0-py3-none-any.whl |
|---|---|
| Size | 583.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ad9de7dd143afa36436e5184ee89080cc51b1b2bb0f287d251ae36355b62500
|
|
BLAKE2b-256 checksum How to use checksums |
e80361408ec0b78d587ac05784cb88722c226903c60743a7e0c26db25fe86cb1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|