关于 defold-assets-search
defold-assets-search 是供 Defold 项目查找社区 Asset Store 库的技能,旨在优先复用现有模块而非编写自定义代码。它通过可搜索索引筛选候选,并指导调研、选择和安装依赖。
主要功能
- 01生成并搜索资源索引
- 02按关键词和同义词查找
- 03深入调研候选库
- 04比较并推荐候选项
- 05指导依赖安装与检查
适用场景
- 01为游戏功能寻找可复用模块
- 02比较路径寻路或本地化库
- 03将选定依赖添加到 Defold 项目
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ indiesoftby/ defold-agent-config --skill defold-assets-search安装后在 Claude Code 中输入/defold-assets-search确认已加载。
附带文件.gitignorescripts/generate_index.py
详细介绍
Defold 资源商店搜索
搜索 Defold 社区资源商店,查找现有库,而不是编写自定义代码。
何时使用
当任务需要以下功能时,始终先搜索资源商店:
- 寻路(A*、导航)
- 随机数生成
- UI 组件 / GUI 框架
- 保存 / 加载系统
- 本地化 / i18n
- 缓动 / 缓动函数
- 输入处理 / 手势
- 摄像机控制
- 屏幕管理
- 事件系统
- 对话 / 叙事系统
- 物理辅助工具(AABB、射线检测)
- 任何其他可复用的游戏模块
流程
步骤 1:生成并搜索索引
索引文件是 .agents/skills/defold-assets-search/assets/dependencies_index.tsv。如果文件已存在且创建时间不到 24 小时,则直接使用。否则,在项目根目录运行 python .agents/skills/defold-assets-search/scripts/generate_index.py 重新生成索引。TSV 列如下:
id title author description tags stars api example_code manifest_url latest_zip
使用 Grep 按关键词搜索生成的 TSV 文件:单个关键词使用 literal: true;多个关键词使用 Rust 风格的正则表达式交替 keyword1|keyword2(| 前不要加反斜杠)。搜索时不只使用用户的原始用词,还要搜索同义词和相关词(例如,RNG → random,i18n → localization,tween → easing,pathfinding → A*)。条目按星标数降序排列。
步骤 2:深入研究候选库
对于步骤 1 找到的每个候选库(按星标数最多取前 5 个):
- 跳过
scene3d——此模块已弃用,不应推荐。 - 如果
example_code列包含 URL,请访问该 URL,查看库的 README、使用示例和功能。 - 如果
api列包含 URL,也请访问,了解 API 详情。 - 利用收集到的信息了解各库的实际用途,以及它们与其他选项的比较。
- 如果需要更多详情(所有可用版本、子依赖项等),请访问索引中的
manifest_url。
步骤 3:向用户介绍候选库
研究完所有候选库后,向用户展示 2-3 个最佳候选库,并提供:
- 标题、作者、星标数
- 根据研究结果撰写的简要说明(而不只是 TSV 中的简短说明)
- 主要功能 / 优点 / 缺点
- 你的推荐及理由
询问用户想使用哪一个,或推荐最佳选项。
步骤 4:安装依赖项
latest_zip列包含要添加到game.project的依赖 URL。- 打开
game.project,将 URL 添加到[project] dependencies字段(以逗号分隔)。 - 运行
defold-project-setup技能,将依赖项下载到.deps/。 - 告知用户:“在 Defold 编辑器中,前往 Project → Fetch Libraries 进行同步。”
- 下载依赖项后,扫描
.deps/中对应文件夹里的.script_api文件和.lua模块,以了解完整 API。利用这些信息展示使用示例,或建议如何在用户原始请求的场景中应用该库。
社区默认选择
以下库是 Defold 社区事实上的标准选择:
| 需求 | 库 | 作者 |
|---|---|---|
| GUI 框架 | Druid | Insality |
| 屏幕管理 | Monarch | Björn Ritzl |
通用工具(尤其是 flow 和 broadcast) | Ludobits | Björn Ritzl |
| OS / 窗口功能 | DefOS | Brian Kramer |
| 带阴影和后期处理的现成渲染脚本 | Light and Shadows | Igor Suntsev |
| 高质量 2D 缩小处理(UI、精灵) | Sharp Sprite | Indiesoft LLC |
摄像机——无需单独的摄像机库。Defold 内置的摄像机组件及其 API 已能满足所有常见用途。
除非用户有具体理由选择其他方案,否则优先选择这些库。
知名作者和库
| 作者 | 以何闻名 | 库 |
|---|---|---|
| Insality | 一流的 Lua 模块,附带详尽的 API 文档 | Druid(UI)、Panthera(动画)、Defold-Event、Defold-Saver、Defold-Tweener、Defold-Lang、Defold-Log、Defold-Token、Defold-Quest、Decore |
| Björn Ritzl | Defold 核心团队成员,贡献活跃 | Monarch(屏幕)、Orthographic(摄像机)、Gooey(GUI)、Rich Text、Defold-Input、DefTest |
| Selim Anaç | 高性能原生扩展 | A* 寻路、DAABBCC(AABB 树)、PCG Random、Graph Pathfinder、Tile Raycast |
| Brian Kramer | 实用的游戏工具 | DefOS、DefSave、DefMath、DefGlot、DefBlend |
| Roman Silin | 3D 游戏工具 | Illumination、Kinematic Walker、Operator(摄像机)、Narrator(Ink)、TrenchFold |
| Indiesoft LLC | 视觉特效和平台工具 | Hyper Trails、Sharp Sprite、YaGames、ResZip、Dissolve FX、SplitMix64 |