Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

Defold 中的自动化

本手册提供总体说明,并链接到各主题的独立手册。

Defold 支持多个层面的自动化。选择适合任务的接口,是实现高效自动化最重要的方面之一。下表可以帮助您为给定操作选择最简单的接口:

层级 用途
编辑器脚本 自定义命令和编辑器工作流程或集成,用于加快测试和开发,例如创建关卡、资源
编辑器 UI 脚本 利用编辑器脚本构建自定义可视化工具、弹窗、配置器或用户界面
编辑器 HTTP API 通过 OpenAPI 操作、项目资源、构建、编辑器命令、预览、偏好设置、控制台输出或编辑器脚本控制 Defold 编辑器中打开的游戏项目,为自定义操作、外部工具、IDE 集成和测试控制器提供支持
Bob CLI 从命令行构建项目、创建数据存档或独立包,以及生成报告、执行 CI
生命周期钩子 在编辑器构建或打包前后执行验证或生成
引擎 HTTP 服务 检查运行中的 Defold 游戏引擎(dmengine)、使用开发服务、分析、运行时消息或扩展定义的运行时自动化 API,以及让外部工具查询运行中的调试构建或向其发送命令
Automation Bridge 提供额外引擎运行时自动化端点的 Defold 官方扩展
自动化测试 测试游戏逻辑、消息、组件、输入、物理和引擎行为,检查场景和视觉反馈,例如通过编辑器预览、注入输入、实时应用程序状态和运行测试集合
Shell 脚本或任务运行器 生成、格式化、验证和可重复任务,以及常规文件操作
外部平台专用及 Web 浏览器自动化工具 桌面测试工具、HTML5 交互测试、截图、Web 集成
AI 编码智能体和多模态模型 难以或无法使用确定性方法实现的任务,以及对场景、GUI 布局或运行时截图进行语义分析

最重要的区别在于 Defold 编辑器和运行中的游戏。它们是拥有各自 HTTP 服务器的独立进程。

确定性自动化或 AI 智能体

当操作顺序已知时,应优先选择确定性解决方案,例如关卡验证器、格式化工具、构建任务或回归测试。它们通常应具有稳定的输入、输出、超时和退出码,适合可在 CI 中可靠运行的自动化钩子和测试。对于项目中的程序化资源创建,也应优先采用确定性解决方案,例如将 gltf 对象转换为采用指定材质的模型,或使用树木等对象填充关卡的工具。这些流程可以使用编辑器脚本和 UI 针对每个项目轻松创建。请在本手册中了解更多信息。

当任务需要调查或多模态(例如包含视觉内容)分析时,智能体会很有用:定位相关资源、选择实现方案、修改多个文件、解读错误,以及朝着明确的验收标准进行迭代。不过,智能体仍应调用确定性接口,并使用与本地脚本或 CI 运行器相同的证据。请参阅在 Defold 中使用 AI 编码智能体手册。

自动化循环

可靠的自动化流程会形成一个闭环:

  1. 检查——读取项目文件、当前接口描述和相关文档。
  2. 更改——使用编辑器事务、编辑器脚本,或文件及 Shell 工具。
  3. 验证——构建、运行针对性测试,并收集日志、报告、状态或图像。
  4. 评估——将证据与验收标准进行比较,然后完成或重试。

检查、更改、验证和评估组成的自动化循环

验证应提供来自实际环境的证据。合适的证据包括:

  • 成功的构建结果;
  • 明确完成的测试套件;
  • 运行中游戏的预期状态;
  • 生成的包或构建报告;
  • 确定性的图像比较;
  • 满足明确视觉标准的截图。

请在进行更改前定义预期结果,同时定义超时和最大修复尝试次数。当无人值守的流程无法满足验收标准时,不应无限期地继续运行。

后续步骤

请在以下手册中查找有关特定自动化工作流程主题的更多详细信息: