phaser-2d-game

Implement 2D browser games with Phaser. Use when the user wants a Phaser, TypeScript, and Vite stack for scenes, gameplay systems, cameras, sprite animation,…

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

More skills from openai

user-context
openai
Load or manage the Data Analytics plugin's durable source-routing preferences, onboarding logic, setup progress, and semantic-layer registry.
official
notion-research-documentation
openai
Research Notion content and synthesize into structured briefs, reports, or comparisons with citations. Search and fetch Notion pages using targeted queries, then organize findings by theme with inline source citations and a references section Choose from four output formats (quick brief, research summary, comparison, comprehensive report) based on scope and user goal Create and update Notion pages using built-in templates; link sources directly and track changes as new information arrives...
official
rcsb-pdb-skill
openai
Submit compact RCSB PDB requests for core metadata, Search API queries, and FASTA downloads. Use when a user wants concise RCSB summaries; save raw JSON or…
official
pdf
openai
PDF reading, creation, and validation with visual rendering and programmatic generation. Render PDF pages to PNG for visual inspection of layout, spacing, and typography before delivery using Poppler ( pdftoppm ) Generate PDFs programmatically with reportlab for reliable formatting; extract text and metadata with pdfplumber or pypdf Enforce quality standards: no clipped text, overlapping elements, broken tables, or rendering artifacts; ASCII hyphens only, human-readable citations Use...
official
test-coverage-improver
openai
Improve test coverage in the OpenAI Agents JS monorepo: run `pnpm test:coverage`, inspect coverage artifacts, identify low-coverage files and branches, propose…
official
playwright
openai
Terminal-driven browser automation with element snapshots and interactive UI workflows. Operates via playwright-cli wrapper script (requires npx ); supports headless and headed modes for visual debugging Core workflow: open page, snapshot for stable element references, interact using refs, re-snapshot after navigation or DOM changes Includes form filling, clicking, typing, multi-tab management, screenshot/PDF capture, and trace recording for flow debugging Element refs (e.g., e3 , e15 )...
official
ukb-topmed-phewas-skill
openai
Fetch compact UKB-TOPMed PheWAS summaries for single variants by accepting rsID, GRCh37, or GRCh38 input and resolving to the required GRCh38 query. Use when a…
official
code-review-context
openai
Model visible context
official