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本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
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
$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. 下の青いボタンを押して
phaser-design-patterns.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
phaser-design-patternsフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Phaser デザインパターン
抽象的な例ではなく、実際のゲームプレイに焦点を当ててデザインパターンを実装します。
いつ使うか
ユーザーがPhaser 3(JavaScript)でデザインパターンを適用、リファクタリング、レビュー、または説明する必要がある場合、特にシーンアーキテクチャ、エンティティ、入力システム、物理インタラクション、およびパフォーマンスが重要なゲームプレイコードに役立ちます。
ワークフロー
- 現実のゲームの問題(エンティティの作成、システムの連携、動作のバリエーションなど)を特定します。
- 結合度を下げ、不必要な複雑さを加えないパターンを選択します。
- パターンをPhaserのプリミティブ(
Scene、GameObject、Group、Events、Physics、Time、Input)にマッピングします。 - ゲームドメインの命名を使用してJavaScriptで実装します。
- ランタイムで検証します(シーンのロード、入力への応答、衝突の動作、イベントリークがないこと)。
パターンの簡単な選択
- 可変エンティティ作成 -> 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
- Identify a real game problem (entity creation, system coordination, behavior variation, etc).
- Choose a pattern that reduces coupling and does not add unnecessary complexity.
- Map the pattern to Phaser primitives (Scene, GameObject, Group, Events, Physics, Time, Input).
- Implement in JavaScript using game-domain naming.
- 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
deltainupdate(time, delta)when the pattern affects movement or timers. - Unsubscribe events in
shutdown/destroyto 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.mdfor a complete pattern -> Phaser usage map. - See
references/phaser-snippets.mdfor ready-to-copy and adapt templates. - See
references/state-machine-pattern-phaser.mdfor a full State + StateMachine implementation (Idle/Move/Action) adapted to Phaser.