mcpField
D
defold-project-setup

defold-project-setup

github.com/indiesoftby開発10466 回インストール27 週間前に更新
リポジトリ

defold-project-setup について

Defold プロジェクトを設定するスキルです。依存関係とエンジン組み込みファイルを `.deps/` にダウンロードし、モジュール参照の読み取り専用コンテキストとして用意します。新規プロジェクト向けの `game.project` 基本設定も示します。

主な機能

  1. 01game.project から依存 URL を読み取る
  2. 02宣言済み include ディレクトリを取得・展開
  3. 03Defold エンジン組み込みファイルを取得
  4. 04dry-run モードに対応
  5. 05game.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 の内部アキュムレーターを無効にします。

コメント