2D プラットフォーマー · レベルエディター
作る ゲームワールドを
一度に一レベルずつ
Combos のレベルエディターで、2D プラットフォーマーのレベルをスケッチし、AI プロンプトを使い、プレイテストまで — すべてブラウザ上で完結。エンジンのセットアップ不要。経験も不要。必要なのはアイデアとキーボードだけ。
右のゲームを試してみよう
📋 スタータープロンプト
ゲームにレベルエディターを追加するプロンプト
この完全なプロンプトを Boo の入力欄に貼り付けて「生成」を押すと、既存の 2D プラットフォーマーの上に完全に動作するレベルエディターが構築されます。機能リストはあなたのゲームに合わせて調整してください。
🎮 2D プラットフォーマー レベルエディター — 貼り付けて生成
このサイドスクロールプラットフォーマーゲームにレベルエディターを追加してください。注意:ゲームの既存のコアメカニクス(移動、ジャンプ、当たり判定、物理など)は変更しないでください — エディター機能のみ上に追加してください。
トップツールバー
1. プレイ/編集トグルボタン:緑色のプレイボタンでプレイモードへ移行;プレイモードでは編集ボタンで編集モードへ戻る
2. 3つの編集ツール(排他選択):配置(タイル/エンティティを配置)、消去(消去)、パン(キャンバスをドラッグ)
a. 自動切替ルール:アセットパネルのエンティティまたは地形をクリックすると自動的に配置ツールへ切り替わる
b. タイル自動計算ルール:ゲームにタイルの左端/中央/右端スプライトを自動計算するロジックがある場合はそれを維持し、個々のタイルバリアントをアセットパネルに公開しないこと
3. ゲームに保存ボタン:現在のレベルデータをすべて JSON にシリアライズし、コピー可能な JSON テキストを表示するモーダルを開く
4. レベルエクスポートボタン:現在のレベルまたはすべてのレベルを JSON としてエクスポートし、コピー可能な JSON テキストを表示するモーダルを開く
5. レベルインポートボタン:貼り付けエリア付きのモーダルを開く;JSON 貼り付け後、レベルをレベルリストに追加
レベルタブバー
6. マルチレベルタブ:
a. タブを1回クリック:そのレベルへ切り替え
b. タブをダブルクリック:名前変更(入力ダイアログを開く)
c. × 削除ボタン:確認ダイアログを開く;確認後にレベルを削除;削除後は次のレベルへ自動切り替え;最後のレベルを削除した場合は前のレベルへ切り替え;レベルが1つのみの場合は削除ボタンを無効化
d. 新規レベルボタン:下端に地面タイルの行、左に Player Start、右にゴールフラグが事前配置された空のレベルを作成;作成後に新規レベルへ自動切り替え
7. タブはドラッグで並び替え可能;並び順は編集順、プレイ順、エクスポート順に影響
イベント分離とレイアウトルール
8. エディター UI レイヤーはキャンバスレイヤーへのイベント伝播を停止しなければならない(意図しない編集を防ぐため)が、ボタンクリックやタブ切り替えなどの内部 UI 操作は正常に動作しなければならない
9. エディター UI レイヤーはキャンバスの編集可能エリアを隠してはならない;編集モードではキャンバスは自動的に右下の残りエリアに縮小される:
a. 左側:アセットパネル用のスペースを確保
b. 上部:ツールバーとレベルタブバー用のスペースを確保
10. カメラリセットルール:
a. プレイ → 編集モードへの切り替え時:まずキャンバスの縮小レイアウトを完了させ、その後縮小後の実際のビューポートサイズに基づいてカメラを左下隅にリセット
b. レベルタブ切り替え時:カメラを左下隅にリセット
c. 以下の操作はカメラリセットをトリガーしない:ツールの切り替え、アセットパネルでのアセット切り替え、配置/消去操作、パンキャンバスのドラッグ
左アセットパネル
11. ゲームアセットの自動抽出:ゲーム内の配置可能なアセットをすべてスキャンし、自動でカテゴリ分け:
a. 地形:レベル構造を形成するすべてのブロックとプラットフォーム
b. エンティティ:すべてのインタラクティブなゲームオブジェクト(敵、NPC、収集物、ギミック、トラップ、ゴールマーカーなど)
c. デコレーション(任意):ゲームプレイに影響しない背景オブジェクトや純粋な視覚要素
d. ゲームに自動エッジタイリングまたはオートタイルロジックがある場合は、それらの内部バリアントをランタイムロジックに残し、エディターユーザーには公開しないこと
12. 特殊アセットマーカー:
a. Player Start:プレイヤーのスポーン地点(1レベルにつき1つのみ)
b. Goal:レベルクリア目標 / エンドポイント(1レベルにつき1つのみ)
13. パネル表示:各アセットはサムネイルアイコンと名前を表示;クリックで配置ツール用に選択;スクロール対応
キャンバス操作
14. 左クリックでタイル/エンティティを配置;クリックしたままドラッグで連続描画
15. 座標変換はキャンバスのオフセットと UI の予約スペースを正しく処理しなければならない
16. 各セルは1つのアセットのみ保持可能;占有済みセルは赤い × インジケーターを表示し、消去ツールでクリアする必要がある
17. パンツール:ドラッグでキャンバスをパンし、編集操作はトリガーしない
18. どのツールモードでも、WASD またはカーソルキーでキャンバスを移動できる
プレイモード
19. プレイモードへ移行する際、キャンバスを元のフルスクリーンサイズに戻し、編集モードの縮小とオフセットをすべてクリアする
20. すべてのエディター UI を非表示にし、上部中央に編集ボタン、レベル名、前のレベル / 次のレベルボタンを表示
21. ゴールフラグに到達するとクリアオーバーレイ(レベル名、コイン数、スコア)と次のレベルボタンが表示される;最終レベルクリア後は「すべてのレベルクリア」画面を表示
22. レベルリストはプレイ中は読み取り専用で編集不可
データの永続化
23. 編集モードでは、レベルデータはリアルタイムで localStorage に保存され、ページをリロードしても保持される
24. 新しいデバイスまたはキャッシュクリア後は、publishedLevels.json をデフォルトレベルとして自動読み込み
25. JSON データフォーマットは AI が定義する;ゲーム全体でデータフィールドの一貫性を確保すること
その他
26. レンダーレイヤーの分離:グラフィックスはキャンバス、UI は DOM。すべてのインタラクティブな DOM ノードは初期化時に一度作成して再利用すること — ゲームループ内での DOM ノードの破棄と再作成は禁止。UI の状態更新時は、textContent / className / disabled / style.display などの既存ノードのプロパティのみ変更すること。
フルプロンプトをコピー💾 レベルデータ
レベルデータを管理する3つのボタン
この3つのツールバーボタンで、レベルデータの保存・エクスポート・インポートができます — 作業のバックアップ、レベルの共有、セッションをまたいだ作業の継続が可能です。
ボタン 01
ゲームに保存
すべてのレベルの完全な保存ファイルを生成し、ポップアップで表示します。データをコピーして Boo に送信すれば、公開後にレベルがライブゲームの一部となり、みんながオンラインでプレイできます。
1レベルの編集を完了する
2クリック ゲームに保存 トップツールバーで
3ポップアップからレベルデータをコピーして Boo に送信し公開する
ボタン 02
レベルをエクスポート
現在のレベルまたはすべてのレベルを保存ファイルとしてエクスポートします。作業のバックアップ、単一レベルの共有、または移行用のフルレベルパックの準備に最適です。
1クリック レベルをエクスポート ツールバーで
2選択 現在のレベル または すべてのレベル
3ポップアップからレベルデータをコピーして保存または共有する
ボタン 03
レベルをインポート
ポップアップにレベルデータを貼り付けると、既存のレベルを削除せずに即座にタブリストへ追加されます。別プロジェクトのレベルをマージしたり、共有レベルパックをすばやく読み込むのに便利です。
1クリック レベルをインポート ツールバーで
2テキストボックスにレベルデータを貼り付ける
3確認 — 新しいレベルがタブリストの末尾に表示される
🧱 編集の基本
配置、編集、プレイテストを自由に
エディターは直感的に操作できます — クリック、ドラッグ、試行錯誤。アイデアからプレイアブルなレベルへ素早く移行できるよう、各操作の内容をまとめました。
クリックまたはドラッグでタイルを配置
ツールバーからタイルを選択し、キャンバス上でクリックまたはドラッグして描画します。ドラッグを続けると、一気に地面プラットフォームを1行塗りつぶせます。
エンティティパネルで敵とアイテムを開く
コイン、敵、スポーン地点、ポータルはエンティティパネルにあります。エンティティをキャンバスにドラッグして、好きな場所に配置しましょう。
最初にスポーン地点を設定する
まず必ずプレイヤーのスポーンタイルを配置してください。プレイテストの開始地点を定義し、「壁の中にスポーン」バグを防ぎます。
いつでもプレイを押してテスト
▶ プレイを押してプレイヤーとしてレベルに飛び込もう。即座に編集モードへ戻れます — キャンバスの変更は常に保存されています。
