phaser-2d-game

作成者: openai

Phaserを使って2Dブラウザゲームを実装します。ユーザーがPhaser、TypeScript、Viteのスタックでシーン、ゲームプレイシステム、カメラ、スプライトアニメーションなどを必要とする場合に使用します。

npx skills add https://github.com/openai/plugins --skill phaser-2d-game

Phaser 2D Game

Overview

Use this skill for the main execution path in this plugin. Phaser is the default stack for 2D browser games here because it handles rendering, timing, sprites, cameras, and scene orchestration well without forcing gameplay rules into the framework.

Preferred stack:

  • Phaser
  • TypeScript
  • Vite
  • DOM-based HUD or menus layered over the game canvas

Architecture

  1. Keep gameplay state outside Phaser scenes.
    • Systems own rules, turn order, movement, combat, inventory, objectives, and progression.
    • Phaser scenes adapt system state into sprites, camera motion, animation playback, and effects.
  2. Make scenes thin.
    • Boot and asset preload
    • Menu or shell scene
    • Gameplay scene
    • Optional overlay or debug scene
  3. Keep renderer-facing objects disposable.
    • Sprite containers, emitters, tweens, and camera rigs are view state, not source of truth.
  4. Favor stable asset manifest keys over direct file-path references throughout gameplay code.

Implementation Guidance

  • Use one integration boundary where the scene reads simulation state and emits input actions back.
  • Prefer deterministic system updates over scene-local mutation.
  • Treat HUD and menus as DOM when text, status density, or responsiveness matter.
  • Keep animation state derived from gameplay state rather than ad hoc sprite flags.

2D Modes Covered Well

  • Turn-based grids and tactics
  • Top-down exploration
  • Side-view action platformers
  • Character-action combat with sprite animation
  • Lightweight management or deck-driven battle scenes

Camera and Presentation

  • Choose the camera model early: locked, follow, room-based, or tactical-pan.
  • Keep camera logic separate from game rules.
  • Use restrained screen shake, hit-stop, and parallax. Effects should improve readability, not obscure it.

UI Integration

  • Use DOM overlays for HUD, command menus, settings, and narrative panels.
  • Keep the canvas responsible for the world, combat readability, and motion.
  • Avoid shoving dense text or complex settings UIs into Phaser unless the project explicitly needs an in-canvas presentation.

Asset Organization

  • characters/
  • environment/
  • ui/
  • fx/
  • audio/
  • data/

Keep manifest keys human-readable and stable.

Default Directory Shape

See ../../references/phaser-architecture.md for a concrete module split.

Anti-Patterns

  • Game rules inside update() loops without a system boundary
  • Scene-to-scene state passed through mutable global objects
  • HUD text rendered in the game canvas just because it is convenient
  • Asset paths embedded everywhere instead of a manifest layer
  • Overusing generic React dashboard patterns for game UI

References

  • Shared architecture: ../web-game-foundations/SKILL.md
  • Frontend direction: ../game-ui-frontend/SKILL.md
  • Sprite workflow: ../sprite-pipeline/SKILL.md
  • Phaser structure: ../../references/phaser-architecture.md

openaiのその他のスキル

release
openai
コミットされたバージョンを更新して Symphony リリースを切り、それをコミットし、マージされたコミットにタグを付け、Burrito リリースワークフローを確認します。求められた際に使用します…
signing-entitlements
openai
macOSアプリの署名、権限、ハード化されたランタイム、Gatekeeperの問題を検査します。コード署名の失敗や権限の欠落などの診断を求められた際に使用します。
building-ai-agent-on-cloudflare
openai
Cloudflare上でAgents SDKを使用してAIエージェントを構築し、状態管理、リアルタイムWebSocket、スケジュールタスク、ツール統合、チャットなどを実現します。
epigraphdb-skill
openai
オントロジー、文献、MR、遺伝子-薬剤、サポートパスエビデンスに関するコンパクトなEpiGraphDB APIリクエストを送信します。ユーザーが簡潔なEpiGraphDBサマリーを希望する場合に使用します。
runtime-behavior-probe
openai
一時的なプローブスクリプト、検証マトリックス、状態制御、および発見事項優先のレポートを用いて、ランタイム動作調査を計画・実行します。以下の場合にのみ使用してください…
deep-security-scan
openai
ユーザーがリポジトリ全体またはスコープ指定パスに対する深く網羅的な、マルチパスまたはバリアンス低減型のCodexセキュリティスキャンを求めた場合に使用します。独立した反復実行を複数回行います…
define-security-policy
openai
リポジトリまたはコンポーネントのSECURITY.mdガイダンスを定義、レビュー、または更新します。ユーザーがCodex Securityがレビューすべき内容、対象外の内容を明確にしたい場合に使用します。
validation
openai
Codexがセキュリティスキャンの検証段階にすでにある場合、またはユーザーが1つ以上の候補となるセキュリティ findings が…かどうかを判断するよう明示的に求めた場合に使用します。