OnmyojiAutoScript项目中的百鬼夜行自动化技术解析
项目概述
OnmyojiAutoScript是一个针对阴阳师游戏的自动化脚本项目,其中"百鬼夜行"功能模块通过计算机视觉和机器学习技术实现了游戏内撒豆子玩法的智能自动化。该模块由多个技术组件协同工作,包括游戏控制接口、目标检测模型、决策系统和可视化调试工具等。
技术架构
1. 游戏控制层(Slave)
游戏控制层负责与游戏客户端的实时交互,主要实现了以下功能:
- 高性能截屏:采用Windows原生API实现10ms以内的截图速度
- 低延迟输入:控制点击延迟控制在50ms以内
- 游戏状态检测:快速识别BUFF状态(冰冻、好友概率、减速等)
- 基础流程控制:自动完成邀请好友、开始/结束游戏等操作
2. 目标检测与跟踪系统
系统采用YOLOv10模型进行式神识别,并进行了多项优化:
- 使用Cython加速预处理和后处理流程
- 实现卡尔曼滤波进行目标跟踪
- 输出包含位置、速度、ID和置信度的完整目标信息
- 计划支持ONNX量化和TensorRT部署以进一步提升性能
3. 决策模型(Agent)
决策系统采用基于规则的算法,主要特点包括:
- 记忆系统记录游戏状态变化
- 优先级策略处理不同式神和BUFF
- 实时调整撒豆策略应对游戏动态
4. 辅助功能
为支持开发和调试,项目实现了:
- 实时可视化检测结果
- 自动保存关键帧用于模型训练
- 丰富的调试信息输出
关键技术点
目标识别优化
项目收集了完整的式神图像数据集,涵盖SP、SSR、SR、R、N等多种稀有度的式神,并使用YOLOv10进行训练。为提高识别效果,建议:
- 游戏画质设置为"极致"以减少特效干扰
- 使用神乐作为式神可提升识别准确率
性能优化策略
针对实时性要求高的场景,项目采用多种优化手段:
- 轻量级模型设计
- 关键路径使用Cython加速
- 多线程处理框架
- 计划中的模型量化(INT8)和TensorRT部署
决策算法
决策系统采用规则引擎,核心策略包括:
- 优先处理高稀有度式神(SP/SSR)
- 智能BUFF使用时机判断
- 动态调整撒豆节奏
- 特殊状态(如冰冻)处理机制
使用指南
- 切换到hya分支获取最新功能
- 手动安装所需依赖项
- 首次运行时会进行模型缓存
- 目前支持Onnxruntime和FP32模式
- 建议使用CPU运行,对配置有一定要求
- 不要最小化模拟器窗口以确保截屏正常
未来展望
项目团队计划进一步完善以下功能:
- 冰冻等特殊状态的智能处理
- 邀请好友流程的稳定性优化
- 决策算法的智能化升级
- 更完善的性能监控和调试工具
OnmyojiAutoScript的百鬼夜行模块展示了游戏自动化领域的前沿技术实践,通过计算机视觉和机器学习技术的结合,实现了超越人类操作的精准度和效率,为游戏自动化开发提供了有价值的参考案例。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考