FGA智能战斗引擎:基于图像识别的FGO自动化架构解析

张开发
2026/4/7 16:16:45 15 分钟阅读

分享文章

FGA智能战斗引擎:基于图像识别的FGO自动化架构解析
FGA智能战斗引擎基于图像识别的FGO自动化架构解析【免费下载链接】FGAAuto-battle app for F/GO Android项目地址: https://gitcode.com/gh_mirrors/fg/FGAFate/Grand AutomataFGA是一款专为Fate/Grand Order设计的Android自动化工具通过图像识别与脚本引擎实现战斗流程的智能化执行。该工具采用非侵入式设计不修改游戏数据仅通过屏幕识别与模拟点击完成操作为玩家提供高效的重复任务自动化解决方案。问题场景FGO重复操作的技术挑战FGO作为一款回合制RPG游戏其核心玩法包含大量重复性操作日常素材刷取、活动关卡重复挑战、好友点召唤等。传统手动操作不仅耗时耗力还容易因疲劳导致操作失误。技术层面面临三大挑战界面识别复杂性游戏UI元素多样不同服务器日服、美服、国服存在界面差异战斗策略多样性技能释放顺序、卡牌选择、目标优先级需要动态调整设备兼容性不同分辨率、屏幕比例、设备性能影响识别准确性技术架构模块化图像识别引擎核心识别模块设计FGA采用分层架构设计核心识别引擎位于libautomata模块提供统一的图像匹配接口interface ImageMatcher { fun exists(region: Region, image: Pattern, timeout: Duration, similarity: Double?): Boolean fun waitVanish(region: Region, image: Pattern, timeout: Duration, similarity: Double?): Boolean fun findAll(region: Region, pattern: Pattern, similarity: Double?): SequenceMatch }图像匹配策略采用模板匹配算法通过相似度阈值默认0.8判断界面元素。关键识别区域定义在locations对象中支持动态适配不同屏幕分辨率。存储管理机制图像资源管理通过StorageProvider类实现采用Android DocumentFile API处理存储权限class StorageProvider Inject constructor( val prefsCore: PrefsCore, ApplicationContext val context: Context ) : IStorageProvider { private val supportImageFolder get() dirRoot.getOrCreateDir(support) private val supportServantFolder get() supportImageFolder.getOrCreateDir(servant) }支持图像按类型分类存储从者图片servant、礼装图片ce、好友名称图片friend支持文件夹层级组织多形态从者图像。FGA技能配置界面支持复杂技能逻辑配置包括多选项技能处理实现方案脚本引擎与状态机设计战斗脚本解析系统FGA的战斗脚本采用声明式配置通过BattleConfig对象定义战斗流程# 示例战斗配置结构 Party Mapping: 1-6对应从者位置 Skill Mapping: a-c对应技能1-3d-f对应技能4-6 Targeting: 使用从者位置编号指定目标 NP Order: 宝具释放顺序配置 Wave Management: 支持多波次战斗配置技能映射机制每个从者位置1-6对应技能按钮a-f目标技能通过位置编号指定目标。特殊技能如库库尔坎、BB迪拜通过Choices (2)、NP Type (2)等选项处理多分支逻辑。NP类型选择界面支持Space Ishtar等从者的多形态宝具配置卡牌优先级算法卡牌选择采用优先级队列机制支持动态调整// 卡牌优先级配置示例 Card Priority: W1: WQ, WB, WA, Q, B, A, RQ, RB, RA # 第一波次优先级 W2: WB, WQ, WA, B, Q, A, RB, RQ, RA # 第二波次优先级 W3: WA, WB, WQ, A, B, Q, RA, RB, RQ # 第三波次优先级符号含义W弱化卡WeakR抵抗卡ResistQ/B/AQuick/Buster/Arts卡牌优先级从左到右递减从者优先级覆盖当启用从者优先级时特定从者的卡牌将优先选择覆盖通用卡牌优先级规则。支持选择引擎支持选择采用多级筛选策略类别筛选按从者职阶Saber、Archer等过滤偏好设置按从者、礼装、好友名称精确匹配回退机制未找到匹配时自动刷新支持列表class SupportSelectionGrandChecker { fun isGrandPresent(grandCeLabelRegion: Region): Boolean { // 检测是否为Grand Servant特殊礼装位置 return imageMatcher.exists(grandCeLabelRegion, images.grandCeLabel) } }支持图像制作界面从游戏界面自动截取从者、礼装、好友名称图像应用拓展高级功能与定制化方案支持图像自动生成SupportImageMaker类实现自动化图像采集class SupportImageMaker Inject constructor( storageProvider: IStorageProvider, exitManager: ExitManager, api: IFgoAutomataApi, private val grandChecker: SupportSelectionGrandChecker ) : EntryPoint(exitManager) { private fun extractServantImage(supportBoundImage: Pattern, i: Int) { val servant supportBoundImage.crop(Region(0, 0, 125, 44)) servant.save(getServantImgPath(dir, i)) } }图像裁剪规则从者图像125×44像素区域礼装图像根据是否为Grand Servant调整裁剪区域好友名称400×110像素区域位置根据界面类型调整多服务器适配方案FGA通过GameServer枚举支持多服务器配置enum class GameServer { En, Jp, Cn, Tw, Kr }本地化处理界面文本、图像资源按服务器区分存储在app/src/main/assets/对应语言目录下。战斗脚本可配置服务器筛选确保脚本仅在指定服务器生效。性能优化策略识别区域优化通过scriptArea定义有效识别区域避免全屏扫描缓存机制频繁使用的图像模板缓存在内存中减少IO操作异步处理图像识别与UI操作分离避免主线程阻塞游戏区域检测示意图精确识别游戏界面区域避免误操作扩展性设计插件式架构通过依赖注入Dagger管理组件依赖配置热重载脚本配置实时生效无需重启应用错误恢复机制识别失败时自动重试或回退到安全状态技术选型与实现路径图像识别技术栈模板匹配算法基于OpenCV的模板匹配支持相似度阈值调整OCR集成Tesseract OCR引擎处理文本识别如好友名称、技能等级颜色空间转换RGB到HSV转换处理特定颜色识别如NP条颜色状态管理方案有限状态机战斗流程建模为状态转移图超时处理每个操作设置超时阈值防止无限等待异常检测通过图像差异检测异常状态如网络错误、游戏崩溃配置持久化SharedPreferences用户配置存储在Android SharedPreferences文件系统存储支持图像、脚本导出导入云同步支持通过存储权限实现配置备份恢复最佳实践与性能调优识别精度提升相似度阈值调整根据不同界面元素设置不同相似度阈值0.7-0.95区域动态校准游戏更新后重新校准识别区域多分辨率适配通过相对坐标而非绝对坐标定义识别区域脚本编写规范# 推荐脚本结构 Battle Config: Name: 90 3T Farm Server: En Party: 1 Materials: [Dust, Proof] Waves: - Skills: [a1, b2, c3, np1, np2] CardPriority: WB, WA, WQ, B, A, Q - Skills: [np1, np2, np3] CardPriority: WA, WB, WQ, A, B, Q设备兼容性处理分辨率自适应基于屏幕密度dpi动态计算识别区域性能模式低端设备可关闭动画检测、减少识别频率电池优化空闲时降低识别频率减少资源消耗FGA在不同设备上的运行效果支持多种屏幕比例和分辨率技术贡献与社区生态FGA采用开源协作模式技术架构支持模块化扩展。关键扩展点包括新从者支持通过Support Image Maker添加新从者图像新功能模块实现IFgoAutomataApi接口扩展功能识别算法优化改进ImageMatcher实现提升识别准确率项目采用Kotlin语言开发遵循Android最佳实践代码结构清晰便于二次开发。存储设计支持Android 11的Scoped Storage确保应用在最新Android版本上的兼容性。通过上述技术架构FGA实现了FGO游戏自动化的完整解决方案为玩家提供稳定、高效、可定制的自动化体验同时保持对游戏规则的尊重和技术实现的优雅性。【免费下载链接】FGAAuto-battle app for F/GO Android项目地址: https://gitcode.com/gh_mirrors/fg/FGA创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

更多文章