mcpField
A
author-game-levels

author-game-levels

github.com/mengto開発7.1k1.3k 回インストール3 日前に更新
リポジトリ

author-game-levels について

単一のゲームプレイ平面上で、読み取りやすく検証可能なレベルを作るためのスキルです。レベルデータ、コリジョン、ナビゲーション、エンカウント、照明を分離し、ブラウザーでの移動テストを定めます。

主な機能

  1. 01単一平面のゲームプレイ制約
  2. 02レベル・コリジョン・ナビの分離
  3. 03読み取りやすいルートとエンカウント
  4. 04ローカル照明と発光体の連動
  5. 05ジオメトリとデータの検証
  6. 06デスクトップ・モバイルでのブラウザーテスト

活用シーン

  1. 01平面移動と戦闘のレベル設計
  2. 02ゲート、チェックポイント、リセット経路の確認
  3. 03移動する発光体に連動した照明の検証
  4. 04ブラウザーでの経路の見やすさと操作確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mengto/skills --skill author-game-levels

インストール後、Claude Code で/author-game-levelsを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yaml

詳細

ゲームレベルを作成する

アーキテクチャをゲームプレイ上のコミュニケーションとして捉えます。すべてのルート、アリーナ、ゲート、小道具、ライトは、プレイヤーが移動、脅威、目標、状態を把握するのに役立つものでなければなりません。

ゲームプレイの平面を一つに保つ

すべての衝突、ナビゲーション、エンカウントルート、目標、ピックアップ、プレイヤーの移動を、アクセス可能な一つの平面上に保ちます。

  • 階段、スロープ、高台、段差、崖、橋、足場、穴、垂直方向への移動を追加しないでください。
  • ショートカット、アリーナ、ハザード、報酬、見た目の変化のために、ゲームプレイの高さを変えないでください。
  • 後から見た目の高さが求められた場合は、歩行できない背景装飾にとどめてください。ナビゲーション、カメラの遮蔽、脅威の視認性、ターゲット可能性、プレイヤーの移動に影響してはなりません。

レベルシステムを分離する

以下のレイヤーを明確に分け、それぞれを個別にテストできるようにします。

  • 作成者が定義したレベルデータと、安定したゾーン/アンカー ID
  • ビジュアルジオメトリと、歩行できない背景装飾
  • 簡略化した衝突ジオメトリ
  • 平坦なナビゲーションデータと移動クリアランス
  • エンカウント、敵、ゲート、リセット、ピックアップ、目標、出口の各ゾーン

各レイヤーでは安定した ID とトランスフォームを共有しますが、装飾だけから衝突、ナビゲーション、エンカウントの境界を推測してはなりません。

読み取りやすいプレイ空間を配置する

  1. 各空間の建築上の目的を定義します。移動、方向把握、戦闘、回復、報酬、遷移、目標のいずれかを明確にします。
  2. 想定するプレイ距離で、移動、カメラ、回避に必要な通路を確保します。
  3. 脅威、ピックアップ、出口、ゲート、インタラクション対象は、プレイヤーが行動に移す前から見えるようにします。
  4. 視認できるアリーナの形状、接近経路、状態変化、安定したゾーンアンカーを通じて、エンカウントを予告します。
  5. アリーナ、ゲート、チェックポイント、リトライ時のスポーン地点、リセット経路を意図的に配置します。ソフトロック、報酬の重複、隠れた再進入、無関係なゾーンをまたいだ敵の追跡を防ぎます。
  6. ランドマーク、照明、コントラスト、構図を使ってプレイヤーを導きます。ただし、ハザードを隠したり、ルートを曖昧にしたりしてはなりません。

すべてのローカルライトに明確な光源を持たせる

ローカルの松明、ランタン、火鉢、または類似のライトはすべて、視認できる発光体に空間的に結び付けます。位置、範囲、色、強度、影の付き方、遮蔽の挙動を、その発光体が発生させる光として見た目にも一致させなければなりません。

  • 説明のない、宙に浮くローカルライトは禁止します。
  • 光源とライトの一覧には、発光体 ID、ライト ID、取り付けトランスフォーム、タイプ、範囲、色/強度、遮蔽の意図、有効状態、フォールバックの挙動を記録します。
  • 発光体が動く場合は、ライトも一緒に動かします。発光体が無効化、非表示、破壊、またはアンロードされた場合は、そのローカルな光の寄与を無効化するか削除します。
  • アンビエント照明やワールド照明は別途記録します。意図的な全体の視認性や雰囲気のために使用し、松明などのローカル光源の代用にはしないでください。

データとジオメトリを検証する

  • すべての歩行可能な衝突、ナビゲーションの頂点/リンク、エンカウントアンカー、ゲート、目標、ピックアップ、出口、リセット地点が、設定されたゲームプレイ平面上に小さな許容誤差内で収まることをアサートします。
  • 歩行可能な傾斜、平面外へのリンク、垂直方向のショートカット、高所のスポーン地点、高さの変化を伴う移動を示すレベルデータを拒否します。
  • 衝突とナビゲーションの整合性、ルートのクリアランス、ゾーン内への配置、ゲート/リセット動作の決定性、アンカー参照の安定性、レベル進行状況の保持を確認します。
  • 光源とライトの一覧が完全であること、発光体とライトの取り付け、範囲/色の意図、発光体の移動時または無効化時の状態遷移を検証します。

ブラウザーでトラバーサルを検証する

リポジトリで承認されているブラウザーで、決定論的なルート、衝突、ナビゲーション、遭遇、リセット、ライティングのテストケースを実行し、すべての重要ルートと任意ルートをトラバーサルします。

  • デスクトップとモバイルで、中断のない平面移動、回避時のクリアランス、カメラのフレーミング、脅威・ピックアップ・出口の視認性、遭遇時の予告、ゲート、リトライ経路、タッチ操作を確認します。
  • エミッターが移動するケースと無効化されるケースを検証し、分離した説明のつかないライトが残らないことを確認します。
  • 混雑したビューで、オクルージョン、コンソールの状態、フレーム時間、ドローコール数、メモリの安定性、長時間セッションでのライティングコストを調査します。
  • 新たに発生した失敗は、既存のベースラインの問題とは分けて報告します。

コメント