言語を切り替える
テーマを切り替える

AI で Cocos シーン説明書を生成:コードアシスタントにゲームを理解させる方法

Claude に新しいコンポーネントを書いてもらうと、存在しないノード名を参照するコードが生成されます。Cursor に機能を追加してもらうと、再利用可能なプレハブがあることを知りません。プロジェクト構造を説明しても、数日後にはまた最初から言い直しになります。

正直に言うと、AI を使ってゲーム開発を支援してもらうとき、こういうことは日常茶飯事です。AI は一般的な Web プロジェクトではそこそこ上手くやりますが、Cocos Creator になると「何か違う」という感じになります。AI が悪いわけではありません。シーン階層、ノード構造、コンポーネント設定が見えないのです。

この背景には根本的な問題があります。AI とゲームエンジンは独立したツールです。AI はコードファイルしか読めませんが、Cocos の核心コンテンツはシーンファイルにあり、.scene.prefab の JSON 構造は AI が直接理解できるものではありません。

この記事では、実用的なソリューションを紹介します。CLAUDE.md ファイルとシーン説明書を使って、AI にゲームプロジェクトを真に理解させる方法です。また、そのまま使えるプロンプトテンプレートも提供します。

1. なぜ AI はゲームプロジェクトを理解できないのか

1.1 AI とエンジンの「壁」問題

Summer Engine のブログで詳しく解説されていますが、AI とエンジンは分離されたツールです。AI はシーン階層、既存スクリプト、プロジェクト構造を全く感知しません。コードを書くよう依頼しても、与えられたコンテキストに基づいて推測するしかありません。問題は、提供するコンテキストが不十分なことです。

これは Web 開発とは異なります。Web プロジェクトのコード構造は基本的にファイル内にあり、AI が一度読めば理解できます。ゲームプロジェクトはどうでしょう。重要な情報の多くがエディタ内に隠れています。シーン階層、ノード位置、コンポーネントパラメータ、これらはコードファイルでは表現できません。

1.2 Cocos Creator プロジェクトの特殊性

Cocos Creator のシーン(Scene)は論理的な組織構造であり、コードファイルではありません。.scene ファイルを開くと JSON の羅列が見えますが、AI はこれを解析しません。ノード階層(Hierarchy)はエディタでドラッグ&ドロップして作ったものです。プレハブ(Prefab)はさらに特殊で、本質的にリソースファイルです。

これが尴尬な状況を生みます。「GameRoot の下の ScoreLabel を修正して」と AI に頼んでも、GameRoot が何なのか、ScoreLabel がどのノードにあるのか分かりません。シーン構造全体を手動で説明する羽目になり、疲弊します。

1.3 既存ソリューションの限界

CLAUDE.md ファイルは一つのアプローチですが、手動で書く必要があり、メンテナンスコストが高いです。シーン構造を変更するたびに同期更新しないと、情報が陳腐化します。MCP Server ソリューションは敷居がさらに高く、WebSocket サービスを追加で開発し、各種設定を行う必要があります。Unity には Bezi というリアルタイムインデックスツールがあり、スクリプト、リソース、シーンを自動的に AI に提供できますが、Cocos にはまだ類似のものがありません。

そのため、最も現実的なソリューションは文書化です。AI が見えないものを書き留め、読めるようにするのです。

2. CLAUDE.md ファイル:AI にプロジェクトを記憶させる

2.1 CLAUDE.md とは

CLAUDE.md は Claude Code のプロジェクトレベルコンテキストファイルで、プロジェクトのルートディレクトリに配置します。同様のものに Cursor の .cursorrules、GitHub Copilot の .github/copilot-instructions.md があります。役割はシンプルです。コードから推測できないコンテキストを AI に提供することです。

例えば、ScoreManager というコンポーネントがあるとします。AI はコードを読めば何をするか分かります。しかし、このコンポーネントがどのノードにマウントされているか、どのノードと対話するかは分かりません。こうした情報が CLAUDE.md に書くべき内容です。

2.2 ゲームプロジェクトの CLAUDE.md に書くべきこと

Mr. Phil Games のブログでは、以下の情報を書くことを推奨しています。

プロジェクト基本情報:エンジンバージョン、ターゲットプラットフォーム、ゲームタイプ。これで AI は Cocos 3.8 なのか 2.x なのか、WeChat ミニゲームなのかアプリなのかを把握できます。

シーン構造の概要:Boot シーン、Game シーン、決済ページがそれぞれ何をするか。AI はこれを知って初めて「Boot シーンでリソースをロード」の意味を理解できます。

コアノード命名規則:Canvas、GameRoot、UIRoot などのトップレベルノード。AI はコード生成時にこれらの名前を自動的に使用します。

コンポーネント一覧:実装済みのコアコンポーネントとその役割。AI が車輪の再発明をするのを防ぎます。

2.3 Cocos Creator プロジェクトの CLAUDE.md 例

これが私のカジュアルゲームプロジェクトの CLAUDE.md です。参考にしてください。

# プロジェクトコンテキスト - ミニゲーム Demo

## 基本情報
- エンジン:Cocos Creator 3.8
- タイプ:カジュアルゲーム
- プラットフォーム:WeChat ミニゲーム

## シーン構造
- Boot.scene:起動ロードシーン、GameManager をマウント
- Game.scene:メインゲームシーン、GameRoot + UIRoot を含む
- Result.scene:決済ページ、スコアとボタンを表示

## コアノード
- Canvas:UI ルートノード
- GameRoot:ゲームコンテンツノード、GameLogic コンポーネントをマウント
- UIRoot:UI レイヤーノード、ScoreLabel、PauseButton を含む

## 実装済みコンポーネント
- GameManager:ゲームライフサイクル管理
- ScoreManager:スコア計算と保存
- AudioManager:効果音再生

## コード規約
- すべての UI ノードは Canvas 下に配置
- ゲームロジックノードは GameRoot 下に配置
- コンポーネント名は Manager で終わると管理クラスを表す

このファイルがあれば、AI は「GameManager とは何か」「GameRoot はどこにあるか」を聞いてこなくなります。

3. シーン説明書:自動生成の実践方法

3.1 なぜシーン説明書が必要か

CLAUDE.md はプロジェクトレベルの概要で、詳細まではカバーしません。各シーンのノード階層、コンポーネント設定は個別に文書化する必要があります。「このシーンに何のノードがあり、各ノードに何のコンポーネントがマウントされているか」を AI に知らせるためです。

以前、私は失敗しました。AI に一時停止機能を書いてもらったところ、PauseButton ノードを検索するコードが生成されました。しかし、このノードは実際には UIRoot/PauseLayer/PauseButton にあり、2階層違っていました。AI は知りませんし、私も言うのを忘れていました。結果、コードを実行したらエラーが出ました。

シーン文書はこうした事態を防ぐためのものです。各シーンの構造を明確に書き、AI がコードを確認する際に正確に位置特定できるようにします。

3.2 プロンプトでシーン文書を自動生成

手動で文書を書くのは疲れます。私は AI に生成させます。以下がプロンプトテンプレートです。そのままコピーして使えます。

Cocos Creator 3.8 のゲームプロジェクトがあります。シーン説明書を生成してください。

プロジェクト情報:
- ゲームタイプ:カジュアルゲーム
- エンジンバージョン:Cocos Creator 3.8

以下の情報に基づいて文書を生成してください:
1. シーン名:{scene_name}
2. シーン用途:{scene_purpose}
3. 主要ノード階層(記述してください):
   - {node_structure}

出力形式:
- シーン概要(一文でシーンの用途を説明)
- ノード階層ツリー(ツリー構造で表示、コンポーネントを注記)
- コンポーネント役割説明(各コンポーネントの役割)
- コード参照時の注意事項(ハマりやすいポイント)

使用する際は {scene_name}{scene_purpose}{node_structure} を実際の内容に置き換えてください。

3.3 実践例:Game.scene 文書の生成

このプロンプトで Game.scene の文書を生成しました。入力は以下の通りです。

1. シーン名:Game.scene
2. シーン用途:メインゲームシーン、ゲームロジックレイヤーと UI レイヤーを含む
3. 主要ノード階層:
   - Canvas(UIルートノード)
     - UIRoot(UIレイヤーコンテナ)
       - ScoreLabel(スコア表示、Label コンポーネントをマウント)
       - PauseButton(一時停止ボタン、Button コンポーネントをマウント)
   - GameRoot(ゲームロジックレイヤー)
     - PlayerNode(プレイヤーキャラクター、PlayerController をマウント)
     - EnemyRoot(敵コンテナ)

AI が出力した文書:

# Game.scene シーン説明書

## シーン概要
メインゲームシーン、ゲームの核心ロジックと UI 表示を担います。

## ノード階層ツリー
Canvas (UIルートノード)
├── UIRoot (UIレイヤーコンテナ)
│   ├── ScoreLabel [Label] - スコア表示
│   └── PauseButton [Button] - 一時停止ボタン
└── GameRoot (ゲームロジックレイヤー)
    ├── PlayerNode [PlayerController] - プレイヤーキャラクター
    └── EnemyRoot - 敵コンテナ

## コンポーネント役割説明
| コンポーネント | マウントノード | 役割 |
|---------------|---------------|------|
| PlayerController | PlayerNode | プレイヤー入力、移動ロジック処理 |
| Label | ScoreLabel | スコアテキスト表示 |
| Button | PauseButton | 一時停止ボタン操作 |

## コード参照時の注意事項
1. UI ノード検索は Canvas から開始:`this.node.getChildByName('Canvas').getChildByName('UIRoot')`
2. ScoreLabel は UIRoot 下にあり、Canvas 直下ではない
3. PlayerNode は GameRoot 下にあり、Canvas と同レベル関係

この文書をプロジェクトの docs/ ディレクトリに配置し、CLAUDE.md に参照を一行追加します:詳細なシーン構造は docs/Game.scene.md を参照

3.4 文書の更新とメンテナンス戦略

文書を書いて終わりではありません。シーン構造が変われば、文書も更新する必要があります。現在の私のやり方は以下の通りです。

シーン構造を変更したら、その都度文書を更新します。大体5分で済み、AI に再度説明するよりずっと楽です。

一部のチームは文書生成を CI/CD フローに追加し、自動トリガーしています。ただ、小規模チームでは手動更新の方が現実的です。シーン構造は毎日大幅に変わるものではありませんから。

4. MCP Server ソリューション:AI とエンジンを直接連携

4.1 MCP Server とは

MCP(Model Context Protocol)は、AI が JSON-RPC インターフェースを通じて外部ツールと対話するプロトコルです。Skywork AI が Cocos Creator MCP Server を開発しており、AI は直接エディタと通信できます。

つまり、AI は手動でシーン構造を教えてもらう必要がなく、自分でエディタに問い合わせられます。

4.2 MCP Server でできること

Skywork AI のブログによると、Cocos MCP Server は以下の機能をサポートしています。

  • AI がツール呼び出しでシーン情報を取得
  • AI がエディタで直接ノードを作成
  • AI がプレハブコンテンツを読み取り
  • AI がコンポーネント設定をクエリ

これは CLAUDE.md より強力です。情報がリアルタイムだからです。シーンを変更すれば、AI はすぐに把握でき、文書の同期が不要です。

4.3 MCP Server の敷居と限界

ただし、MCP Server も敷居がゼロではありません。

設定が複雑:WebSocket サービスを起動し、ポートや権限を設定する必要があります。半日かかることもあります。

AI サポートが限定的:現在 MCP プロトコルをサポートしているのは Claude Code のみで、Cursor や Copilot はまだ対応していません。

文書が不足:Cocos MCP Server の文書やコミュニティリソースは多くなく、問題に遭遇しても調べにくいです。

そのため、個人開発者で手っ取り早く解決したいなら、CLAUDE.md + シーン文書のソリューションが適しています。MCP は技術力のあるチームが長期的に投資する向きです。

4.4 MCP と CLAUDE.md の併用

実は、この2つのソリューションは代替関係ではなく、補完関係です。

  • CLAUDE.md は静的コンテキスト:プロジェクト概要、命名規則、設計理念
  • MCP は動的対話:リアルタイムでシーン情報を取得、ノードを作成

MCP を設定しても、CLAUDE.md は依然として有用です。MCP は「今、何があるか」しか答えられず、「なぜこう設計したか」「命名規則は何か」を AI に教えられません。これらはやはり CLAUDE.md に書く必要があります。

5. 実践的まとめとアクションプラン

5.1 最小限の実用的ソリューション(今日から始められる)

AI にプロジェクトを理解させたいだけなら、高度な設定は不要です。3ステップで完了します。

ステップ1:CLAUDE.md ファイルを作成し、プロジェクト基本情報を書く。エンジンバージョン、ゲームタイプ、シーン構造の概要。

ステップ2:本記事第3章のプロンプトテンプレートを使って、3つの主要シーンの説明書を生成する。Boot、Game、Result、これで十分。

ステップ3:シーン文書を docs/ ディレクトリに配置し、CLAUDE.md に参照を追加。

30分以内で完了します。その後、AI がプロジェクト構造を聞いてきたら、文書を渡すだけで済みます。

5.2 上級ソリューション(開発能力のあるチーム向け)

より多くの投資が可能なら、以下のように進められます。

Cocos MCP Server を設定:Skywork AI のオープンソース実装で、文書は比較的明確です。設定後、AI はリアルタイムでシーン情報を取得できます。

シーンエクスポートスクリプトを開発:Cocos 拡張機能を作成し、シーン構造を JSON や Markdown に自動エクスポート。手動記述より正確です。

自動更新:エクスポートスクリプトをビルドフローに追加し、ビルドごとに CLAUDE.md を自動更新。

このソリューションは一定の開発作業量が必要で、中規模以上のチームに適しています。

5.3 長期目標

理想的な状態は、AI が Web プロジェクトのようにゲームプロジェクトを真に理解することです。エディタと AI が深く統合され、ゲーム開発の文書化が業界標準になること。

Unity には Bezi というリアルタイムインデックスツールが既にあり、Cocos も追従するでしょう。それまでは、文書化が最も確実なソリューションです。

まとめ

AI によるゲーム開発支援には根本的な障壁があります。AI はエディタ内のコンテンツを見えません。シーン階層、ノード構造、コンポーネント設定、これらは AI が知りません。解決策は文書化です。AI が見えないものを書き留めるのです。

CLAUDE.md はプロジェクトレベルのコンテキスト、シーン説明書は詳細な補足です。両者を組み合わせれば、AI は正確にノードを特定し、コンポーネントの役割を理解できます。開発能力があれば、MCP Server を設定し、AI がリアルタイムでシーン情報を取得することも可能です。

今日試してみてください。CLAUDE.md ファイルを作成し、本記事のプロンプトで最初のシーン文書を生成してください。他にも実践的なノウハウがあれば、コメント欄で共有してください。

AI で Cocos シーン説明書を生成する完全なプロセス

CLAUDE.md をゼロから設定し、シーン文書を生成して、AI にゲームプロジェクトを理解させる方法。

⏱️ 目安時間: 30 分

  1. 1

    ステップ1: CLAUDE.md ファイルの作成

    プロジェクトのルートディレクトリに CLAUDE.md を作成し、エンジンバージョン、ゲームタイプ、シーン構造の概要、コアノード命名規則、実装済みコンポーネント一覧などの基本情報を記述します。
  2. 2

    ステップ2: シーン説明書の生成

    本記事で提供するプロンプトテンプレートを使用して、Boot、Game、Result などの主要シーンの説明書を生成します。ノード階層ツリー、コンポーネントの役割説明、コード参照時の注意事項を含みます。
  3. 3

    ステップ3: 文書ディレクトリの整理

    シーン文書を docs/ ディレクトリに配置し、CLAUDE.md に参照を追加します。例:詳細なシーン構造は docs/Game.scene.md を参照。
  4. 4

    ステップ4: メンテナンスと更新

    シーン構造を変更するたびに文書を同期して更新するか、MCP Server を設定して自動同期を実現します。小規模チームでは手動メンテナンスでも5分で完了します。

FAQ

CLAUDE.md ファイルはどこに置くべきですか?
CLAUDE.md はプロジェクトのルートディレクトリに配置し、Claude Code が自動的に読み取ります。Cursor ユーザーは .cursorrules ファイルを、Copilot ユーザーは .github/copilot-instructions.md を作成でき、同様の機能を持ちます。
シーン文書は手動で書く必要がありますか?
いいえ。本記事ではプロンプトテンプレートを提供しており、シーン名、用途、ノード階層を記述するだけで、AI が構造化されたシーン説明書を生成できます。また、Cocos 拡張機能を開発してシーン構造を自動エクスポートすることも可能です。
MCP Server と CLAUDE.md の違いは何ですか?
CLAUDE.md は静的コンテキストで、プロジェクト概要と命名規則を提供します。MCP Server は動的対話で、AI がリアルタイムでシーン情報を取得できます。両者は互いに補完する関係であり、代替関係ではありません。
Cocos Creator の .scene ファイルは AI が直接読めますか?
AI は .scene ファイルの JSON 内容を読み取れますが、その論理的な構造を理解できません。シーンファイルの階層関係やコンポーネント設定は、文書化して初めて AI が正確に理解できます。
文書の更新頻度はどのくらいが適切ですか?
シーン構造が変更されたときに同期更新すれば十分です。小規模チームでは手動メンテナンスで約5分、文書生成スクリプトを CI/CD フローに追加して自動トリガーすることもできます。

5 min read · 公開日: 2026年5月19日 · 更新日: 2026年5月19日

関連記事

コメント

GitHubアカウントでログインしてコメントできます