phaser-design-patterns について
Phaser 3 の JavaScript ゲームに設計パターンを適用するスキルです。Scene や GameObject などに対応づけ、実装・リファクタリング・レビューを支援し、実行時の検証と過剰な複雑さの回避を重視します。
主な機能
- 01実際のゲーム課題に応じたパターン選択
- 02Phaser の機能へのパターンの対応づけ
- 03ゲーム文脈に沿った JavaScript 例
- 04リスクとアンチパターンの提示
- 05実行時検証の提案
活用シーン
- 01エンティティ生成とシーン構成
- 02AI の行動やルールの切り替え
- 03ゲームロジックと UI イベントの分離
- 04多数のオブジェクトのプーリング
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ agusstingalvan/ gamedev-skills --skill phaser-design-patternsインストール後、Claude Code で/phaser-design-patternsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdreferences/patterns-map.mdphaser-snippets.mdstate-machine-pattern-phaser.md詳細
Phaser のデザインパターン
抽象的な例ではなく、実際のゲームプレイを重視してデザインパターンを実装します。
使用する場面
Phaser 3(JavaScript)でデザインパターンの適用、リファクタリング、レビュー、説明が必要な場合に、このスキルを使用します。特に、シーンのアーキテクチャ、エンティティ、入力システム、物理演算との連携、パフォーマンスが重要なゲームプレイコードが対象です。
ワークフロー
- 実際のゲーム上の問題を特定します(エンティティの生成、システム間の連携、振る舞いのバリエーションなど)。
- 結合度を下げ、不要な複雑さを加えないパターンを選択します。
- パターンを Phaser のプリミティブ(Scene、GameObject、Group、Events、Physics、Time、Input)に対応付けます。
- ゲームのドメインに沿った命名を使用して、JavaScript で実装します。
- 実行時に検証します(シーンが読み込まれる、入力に反応する、衝突が機能する、イベントのリークがないこと)。
パターンの選び方
- 可変的なエンティティ生成 -> 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を参照してください。
コメント
Markdown 対応