mcpField
P
phaser-design-patterns

phaser-design-patterns

github.com/agusstingalvan開発137 回インストール35 週間前に更新
リポジトリ

phaser-design-patterns について

Phaser 3 の JavaScript ゲームに設計パターンを適用するスキルです。Scene や GameObject などに対応づけ、実装・リファクタリング・レビューを支援し、実行時の検証と過剰な複雑さの回避を重視します。

主な機能

  1. 01実際のゲーム課題に応じたパターン選択
  2. 02Phaser の機能へのパターンの対応づけ
  3. 03ゲーム文脈に沿った JavaScript 例
  4. 04リスクとアンチパターンの提示
  5. 05実行時検証の提案

活用シーン

  1. 01エンティティ生成とシーン構成
  2. 02AI の行動やルールの切り替え
  3. 03ゲームロジックと UI イベントの分離
  4. 04多数のオブジェクトのプーリング

インストール

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

$npx skills add https://github.com/agusstingalvan/gamedev-skills --skill phaser-design-patterns

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
references/
patterns-map.md
phaser-snippets.md
state-machine-pattern-phaser.md

詳細

Phaser のデザインパターン

抽象的な例ではなく、実際のゲームプレイを重視してデザインパターンを実装します。

使用する場面

Phaser 3(JavaScript)でデザインパターンの適用、リファクタリング、レビュー、説明が必要な場合に、このスキルを使用します。特に、シーンのアーキテクチャ、エンティティ、入力システム、物理演算との連携、パフォーマンスが重要なゲームプレイコードが対象です。

ワークフロー

  1. 実際のゲーム上の問題を特定します(エンティティの生成、システム間の連携、振る舞いのバリエーションなど)。
  2. 結合度を下げ、不要な複雑さを加えないパターンを選択します。
  3. パターンを Phaser のプリミティブ(Scene、GameObject、Group、Events、Physics、Time、Input)に対応付けます。
  4. ゲームのドメインに沿った命名を使用して、JavaScript で実装します。
  5. 実行時に検証します(シーンが読み込まれる、入力に反応する、衝突が機能する、イベントのリークがないこと)。

パターンの選び方

  • 可変的なエンティティ生成 -> Factory Method / Abstract Factory。
  • 段階的なレベルや UI の構築 -> Builder。
  • 数千のインスタンスで共有する状態 -> Flyweight + プーリング。
  • AI モードや振る舞いによるルール -> State / Strategy。
  • ゲームプレイと UI 間の疎結合なイベント -> Observer / Mediator。
  • 再実行可能なアクション(入力、リプレイ、取り消し) -> Command。

実装ルール

  • 深い継承よりコンポジションを優先します。
  • シーンは小さく保ち、責務を明確にします。
  • ゲームプレイロジックに可変なシングルトンを使用しないでください。グローバルサービス(音声、設定)に限定します。
  • パターンが移動やタイマーに影響する場合は、update(time, delta) で delta を使用します。
  • メモリリークを防ぐため、shutdown/destroy でイベントの購読を解除します。
  • 大量のオブジェクト(弾、パーティクル)では、パターンとプーリングを組み合わせます(setActive(false)、setVisible(false))。

提供物

  • そのパターンが問題を解決する理由を 2~4 行で説明します。
  • 実際のゲームのコンテキストを使った JavaScript/Phaser のスニペットを示します。
  • 関連するリスクとアンチパターンを含めます。
  • 最低限の検証方法(手動テストまたは簡単なテスト)を提案します。

参考資料

  • パターンと Phaser での使用方法の全体マップについては、references/patterns-map.md を参照してください。
  • コピーしてすぐに使い、必要に応じて調整できるテンプレートについては、references/phaser-snippets.md を参照してください。
  • Phaser 向けに調整した State + StateMachine の完全な実装(Idle/Move/Action)については、references/state-machine-pattern-phaser.md を参照してください。

コメント