jpskill.com
🛠️ 開発・MCP コミュニティ

phaser-design-patterns

Phaser 3を使ったJavaScriptゲーム開発で、シーン構成やキャラクター、操作、物理演算、パフォーマンスに関するデザインパターンを適用、修正、レビュー、教育する際に役立つSkill。

📜 元の英語説明(参考)

Design pattern implementation in Phaser 3 with JavaScript, focused on scene architecture, entities, input, physics, and performance. Use when asked to apply, refactor, review, or teach design patterns (creational, structural, or behavioral) in Phaser games.

🇯🇵 日本人クリエイター向け解説

一言でいうと

Phaser 3を使ったJavaScriptゲーム開発で、シーン構成やキャラクター、操作、物理演算、パフォーマンスに関するデザインパターンを適用、修正、レビュー、教育する際に役立つSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o phaser-design-patterns.zip https://jpskill.com/download/10598.zip && unzip -o phaser-design-patterns.zip && rm phaser-design-patterns.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/10598.zip -OutFile "$d\phaser-design-patterns.zip"; Expand-Archive "$d\phaser-design-patterns.zip" -DestinationPath $d -Force; ri "$d\phaser-design-patterns.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して phaser-design-patterns.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → phaser-design-patterns フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Phaser デザインパターン

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

いつ使うか

ユーザーがPhaser 3(JavaScript)でデザインパターンを適用、リファクタリング、レビュー、または説明する必要がある場合、特にシーンアーキテクチャ、エンティティ、入力システム、物理インタラクション、およびパフォーマンスが重要なゲームプレイコードに役立ちます。

ワークフロー

  1. 現実のゲームの問題(エンティティの作成、システムの連携、動作のバリエーションなど)を特定します。
  2. 結合度を下げ、不必要な複雑さを加えないパターンを選択します。
  3. パターンをPhaserのプリミティブ(SceneGameObjectGroupEventsPhysicsTimeInput)にマッピングします。
  4. ゲームドメインの命名を使用してJavaScriptで実装します。
  5. ランタイムで検証します(シーンのロード、入力への応答、衝突の動作、イベントリークがないこと)。

パターンの簡単な選択

  • 可変エンティティ作成 -> Factory Method / Abstract Factory
  • ステップバイステップのレベルまたはUIの構築 -> Builder
  • 数千のインスタンスの共有状態 -> Flyweight + pooling
  • AIモード/動作によるルール -> State / Strategy
  • ゲームプレイとUI間の疎結合イベント -> Observer / Mediator
  • 再実行可能なアクション(入力、リプレイ、アンドゥ) -> Command

実装ルール

  • 深い継承よりもコンポジションを優先します。
  • シーンを小さく保ち、明確な責任を持たせます。
  • ゲームプレイロジックには可変シングルトンを使用しないでください。グローバルサービス(オーディオ、設定)用に予約してください。
  • パターンが移動またはタイマーに影響を与える場合は、update(time, delta)deltaを使用します。
  • メモリリークを避けるために、shutdown/destroyでイベントをunsubscribeします。
  • 大量のオブジェクト(弾丸、パーティクル)の場合、パターンをプーリング(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を参照してください。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Phaser Design Patterns

Implement design patterns with a focus on real gameplay, not abstract examples.

When to use

Use this skill when the user needs to apply, refactor, review, or explain design patterns in Phaser 3 (JavaScript), especially for scene architecture, entities, input systems, physics interactions, and performance-sensitive gameplay code.

Workflow

  1. Identify a real game problem (entity creation, system coordination, behavior variation, etc).
  2. Choose a pattern that reduces coupling and does not add unnecessary complexity.
  3. Map the pattern to Phaser primitives (Scene, GameObject, Group, Events, Physics, Time, Input).
  4. Implement in JavaScript using game-domain naming.
  5. Validate at runtime (scene loads, input responds, collisions work, no event leaks).

Quick Pattern Selection

  • Variable entity creation -> Factory Method / Abstract Factory.
  • Step-by-step level or UI construction -> Builder.
  • Shared state for thousands of instances -> Flyweight + pooling.
  • Rules by AI mode/behavior -> State / Strategy.
  • Decoupled events between gameplay and UI -> Observer / Mediator.
  • Re-runnable actions (input, replay, undo) -> Command.

Implementation Rules

  • Prioritize composition over deep inheritance.
  • Keep scenes small and with clear responsibilities.
  • Avoid mutable singletons for gameplay logic; reserve them for global services (audio, config).
  • Use delta in update(time, delta) when the pattern affects movement or timers.
  • Unsubscribe events in shutdown/destroy to avoid memory leaks.
  • For massive objects (bullets, particles), combine the pattern with pooling (setActive(false), setVisible(false)).

Expected Deliverables

  • Explain in 2-4 lines why the pattern solves the problem.
  • Show a JavaScript/Phaser snippet with real game context.
  • Include relevant risks and anti-patterns.
  • Propose minimum validation (manual test or simple test).

References

  • See references/patterns-map.md for a complete pattern -> Phaser usage map.
  • See references/phaser-snippets.md for ready-to-copy and adapt templates.
  • See references/state-machine-pattern-phaser.md for a full State + StateMachine implementation (Idle/Move/Action) adapted to Phaser.