mcpField
D
defold-project-setup

defold-project-setup

github.com/indiesoftby开发10466 次安装27 周前更新
代码仓库

关于 defold-project-setup

用于配置 Defold 项目的技能,会将依赖和引擎内置内容下载到 `.deps/`,供模块解析时只读使用。它还列出新项目适用的 `game.project` 基础设置建议。

主要功能

  1. 01读取 game.project 中的依赖 URL
  2. 02下载并提取声明的 include 目录
  3. 03获取 Defold 引擎内置内容
  4. 04支持 dry-run 模式
  5. 05列出 game.project 基础设置

适用场景

  1. 01开始项目工作前准备 `.deps/`
  2. 02更改依赖后更新解析上下文
  3. 03检查新项目的基础设置建议

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/indiesoftby/defold-agent-config --skill defold-project-setup

安装后在 Claude Code 中输入/defold-project-setup确认已加载。

附带文件scripts/fetch_deps.py

详细介绍

设置 Defold 项目

下载并解压 Defold 库依赖项和引擎内置资源到 .deps/ 目录,该目录用作只读上下文,以解析模块引用。还提供适用于新项目的推荐 game.project 设置。

运行时机

  • 执行任何任务前,如果 .deps/ 文件夹不存在或为空。
  • 编辑 game.project 中的依赖项后(添加、移除或更改了任何 [project] dependencies#N 条目)。

运行方法

从项目根目录执行设置脚本:

Windows(PowerShell):

python .agents/skills/defold-project-setup/scripts/fetch_deps.py

Linux/macOS:

python3 .agents/skills/defold-project-setup/scripts/fetch_deps.py

使用 --dry-run 可查看将要执行的操作,而不下载或解压任何内容。

功能

  1. 读取 game.project 并解析所有 [project] dependencies#N URL。
  2. 将每个依赖项 zip 下载到临时目录。
  3. 检查每个 zip 中 game.project 的 [library] include_dirs。
  4. 仅将声明的 include 目录解压到 .deps/。
  5. 从最新的稳定版本下载 Defold 引擎内置资源到 .deps/builtins/。

运行后

  • .deps/ 文件夹已准备就绪,可用作只读 include 目录。

推荐的 game.project 设置

创建新项目或检查 game.project 时,应用以下推荐的基准设置。这些设置为大多数 Defold 游戏提供了合理的默认值。

[html5]
[html5]
scale_mode = Stretch
heap_size = 64
cssfile = /builtins/manifests/web/dark_theme.css
retry_count = 1000
  • scale_mode = Stretch — HTML5 画布填满整个浏览器窗口。
  • heap_size = 64 — 64 MB 足以满足大多数游戏的需求;如果需要,引擎会分配更多内存。
  • cssfile = /builtins/manifests/web/dark_theme.css — 深色主题比白色主题更适合作为默认设置。
  • retry_count = 1000 — 遇到网络问题时,引擎最多重试 1000 次加载游戏文件,避免连接速度较慢时加载失败。
[engine]
[engine]
fixed_update_frequency = 60
max_time_step = 0.05
  • fixed_update_frequency = 60 — 固定更新以 60 FPS 运行(这是 Defold 的默认值)。
  • max_time_step = 0.05 — 游戏在帧率降至 20 FPS 时仍可正常运行。低于该帧率时,游戏会变慢,而不是跳过较长的时间段。
[physics]
[physics]
gravity_y = -1000.0
scale = 0.01
velocity_threshold = 100.0
use_fixed_timestep = 1
max_fixed_timesteps = 0
  • gravity_y = -1000.0 — 该值会乘以 physics.scale,因此物理引擎内部使用的值为 -10 m/s²(地球重力)。
  • scale = 0.01 — 对于 2D 游戏,通常设置为 0.01(1 像素 = 0.01 m);对于 3D 游戏,设置为 1.0(1 单位 = 1 m)。
  • velocity_threshold = 100.0 —(仅适用于 2D 物理)为确保物理模拟稳定,该值应为 1.0 / physics.scale,因此当 scale 为 0.01 时应设置为 100.0。
  • use_fixed_timestep = 1 — 物理模拟以固定时间步长模式运行。通过 object_interpolation 扩展在物理步之间插值移动对象。
  • max_fixed_timesteps = 0 —(仅适用于 3D 物理)将固定的 dt 直接从 Defold 引擎传递给 Bullet3D,并禁用 Bullet3D 的内部累加器。

评论

支持 Markdown