phaser-init
This skill should be used when the user asks to "create a Phaser game", "initialize a Phaser 4 project", "scaffold a Phaser project", "set up a new game", "start a Phaser project", "bootstrap a game", "npm create phaser", or wants to start a Phaser 4 project from scratch.
How do I install this agent skill?
npx skills add https://github.com/yakoub-ai/phaser4-gamedev --skill phaser-initIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides legitimate templates and instructions for initializing Phaser 4 game projects using standard industry tools like Vite and TypeScript. It references official scaffolding tools and well-known, trusted resources within the game development community.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Phaser 4 Project Initialization
Scaffold a new Phaser 4 (v4.2.1) project with TypeScript and Vite.
Quick Scaffold (Recommended)
Use the official scaffolder for the fastest setup:
npm create @phaserjs/game@latest
This interactive CLI supports React, Vue, Angular, Svelte, Next.js, SolidJS, and plain TypeScript. For beginners: choose TypeScript + Vite when prompted.
After scaffolding, it installs phaser automatically. Run:
cd my-game
npm install
npm run dev
Manual Scaffold
Use this when the user needs a custom setup or wants to understand each piece.
Step 1 — Create Project
mkdir my-game && cd my-game
npm init -y
npm install phaser
npm install -D typescript vite @types/node
Step 2 — Directory Structure
Create this layout:
my-game/
├── index.html
├── package.json
├── tsconfig.json
├── vite.config.ts
├── public/
│ └── assets/
│ ├── images/
│ ├── spritesheets/
│ ├── atlases/
│ ├── audio/
│ └── tilemaps/
└── src/
├── main.ts
└── scenes/
├── BootScene.ts
├── PreloaderScene.ts
└── GameScene.ts
Step 3 — Configuration Files
Generate these files exactly as shown in examples/:
examples/game-config.ts— Completemain.tswith GameConfigexamples/boot-scene.ts— BootScene starter templateexamples/vite-config.ts— Vite configuration for Phaser 4
Key configuration points:
package.json scripts:
{
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview"
}
}
tsconfig.json critical fields:
{
"compilerOptions": {
"target": "ES2022",
"lib": ["ES2022", "DOM", "DOM.Iterable"],
"module": "ESNext",
"moduleResolution": "bundler",
"strict": true,
"skipLibCheck": true,
"noEmit": true,
"types": ["vite/client"]
},
"include": ["src"]
}
Phaser 4 ships its own types through the exports map in its package.json, so
moduleResolution: "bundler" (or "node16"/"nodenext") resolves them from a plain
import Phaser from 'phaser' with no extra configuration.
types: ["vite/client"] is separate and is needed: it types import.meta.env, which
the mandatory __PHASER_GAME__ instrumentation line uses. Without it npx tsc --noEmit
fails with TS2339: Property 'env' does not exist on type 'ImportMeta'.
Do not add
typeRoots: ["./node_modules/phaser/types"]withtypes: ["Phaser"]. That was the Phaser 3 / early-v4-RC recipe. Against Phaser 4.2.1 it fails outright withTS2688: Cannot find type definition file for 'Phaser', because the shipped types are a singletypes/phaser.d.tsfile rather than aPhaser/index.d.tstype-root package. If you inherited that config, delete both fields.
Step 4 — Verify Installation
npm run dev
Expected: browser opens at http://localhost:5173 showing a dark canvas (or whatever background color was set). If it shows a blank page, check the browser console for errors.
What to Do After Scaffolding
- Replace
GameScene.tswith actual game logic (use phaser-coder agent) - Add assets to
public/assets/ - Design the full scene flow (use phaser-architect agent)
- Set
arcade: { debug: false }when done debugging
Common Setup Mistakes
- Assets not loading: In Vite, assets must be in
public/. Do NOT import them viaimport. Reference as'assets/image.png'(relative to server root). - TypeScript errors on
Phaser.*: Import Phaser explicitly (import Phaser from 'phaser';) and usemoduleResolution: "bundler". If tsconfig still carriestypeRoots/types: ["Phaser"]from a v3-era template, remove them — they break the build on v4. See Step 3. phasernot found: Runnpm install phaser. Do not use thebetatag —phaser@betastill resolves to4.0.0-rc.7, which is older than the current stable release.- Black screen: Check browser console for 404 errors or JS errors.
Additional Resources
Example Files
Working templates in examples/:
examples/game-config.ts— Complete main.ts with scene registrationexamples/boot-scene.ts— BootScene with minimal asset loadingexamples/vite-config.ts— Vite config for Phaser 4
Reference Files
references/project-templates.md— Complete file listings for TypeScript+Vite, JavaScript+Vite, and HTML-only setupsreferences/template-archetypes.md— Full archetype specs for platformer, top-down RPG, space shooter, and match-3 puzzle games
Template Archetypes
When the user wants a specific type of game rather than a blank scaffold, generate a complete working game from an archetype. The phaser-coder agent uses the archetype specs to produce all files.
Available archetypes (use with /phaser-new [template] or trigger the phaser-coder agent):
| Archetype | Command | Core Features |
|---|---|---|
platformer | /phaser-new platformer | Gravity, jump, platforms, enemies, coins, lives system |
topdown | /phaser-new topdown | Zero gravity, 8-dir movement, tilemap world, NPC dialog |
shooter | /phaser-new shooter | Scrolling BG, bullet pooling, enemy waves, power-ups |
puzzle | /phaser-new puzzle | Match-3 grid, tile swapping, cascade matching, score |
towerdefense | /phaser-new towerdefense | Grid-based tower placement, enemy waves, economy, projectile pooling |
runner | /phaser-new runner | Auto-scrolling, jump/slide, procedural obstacles, parallax, increasing speed |
cardgame | /phaser-new cardgame | Memory match cards, flip animations, pair matching, move scoring |
fighting | /phaser-new fighting | State machine fighters, 2-player local, hitbox system, round-based |
racing | /phaser-new racing | Top-down rotation steering, tilemap track, checkpoints, AI opponents |
All archetypes generate with placeholder assets (solid-color rectangles/circles via Graphics.generateTexture()) so the game runs immediately without real art. Replace with real assets when ready.
Archetype specifications: references/template-archetypes.md
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/yakoub-ai/phaser4-gamedev/phaser-init">View phaser-init on skillZs</a>