Développement de jeux Phaser

VérifiéSûr

Créez des jeux 2D pour navigateur avec l'architecture basée sur les scènes et les systèmes physiques de Phaser 3.

Spar Skills Guide Bot
DeveloppementIntermédiaire
23/07/2026
Claude CodeCursorCodex
#phaser#game-development#2d-games#spritesheets#arcade-physics

Recommandé pour

Synthèse automatique

Cette skill guide la création de jeux 2D dans le navigateur avec Phaser 3, en couvrant l'architecture par scènes, les sprites, la physique Arcade/Matter, les tilemaps et la boucle de jeu.

Points forts

  • Impose un protocole de mesure des spritesheets avant tout code de chargement, ce qui évite les corruptions silencieuses d'images
  • Aide à trancher tôt les décisions d'architecture (choix du moteur physique, découpage des scènes, transitions)
  • Fournit des modèles concrets et prêts à adapter : configuration du jeu, cycle de vie des scènes, mouvement indépendant du frame rate
  • Oriente vers des fichiers de référence ciblés (tilemaps, physique Arcade, performance) selon la tâche en cours

Limites

  • Le contenu fourni s'arrête au milieu du tableau des anti-patterns : la fin de la section et d'éventuelles parties ultérieures sont manquantes
  • Repose sur des fichiers de référence externes (references/*.md) non inclus ici, indispensables pour les spritesheets et les tilemaps
  • Ne traite que Phaser 3 en TypeScript/JavaScript pour le web ; aucun exemple de build, de déploiement ou de tests
Quand l'utiliser

À utiliser dès qu'on démarre ou étend un jeu 2D Phaser 3 : création de scènes, chargement de spritesheets, réglage de la physique ou tilemaps.

Quand l'éviter

À éviter pour des projets utilisant un autre moteur (Unity, Godot, PixiJS seul) ou pour du rendu 3D, hors du périmètre de cette skill.

Analyse de sécurité

Sûr
Score qualité88/100

The skill is instructional documentation for Phaser 3 game development. It contains no executable commands, no network or filesystem operations, no secret handling, and no destructive instructions. References to external markdown files are ordinary documentation pointers and pose no meaningful execution risk.

Aucun point d'attention détecté

Comment cette analyse est faite

Exemples

Nouveau jeu Phaser
Create a Phaser 3 game with a Boot scene, a Menu scene, and a Game scene where the player jumps on platforms with Arcade physics.
Charger un spritesheet
Load this character spritesheet into my Phaser scene and set up a run animation — the frames look misaligned, help me get the frameWidth and spacing right.
Tilemap avec collisions
Add a Tiled tilemap to my Phaser GameScene with a collision layer for the ground and walls.

name: phaser-gamedev description: "Build 2D games with Phaser 3 framework. Covers scene lifecycle, sprites, physics (Arcade/Matter), tilemaps, animations, input handling, and game architecture. Trigger: "create phaser game", "add phaser scene", "phaser sprite", "phaser physics", "game development with phaser"."

Phaser Game Development

Build 2D browser games using Phaser 3's scene-based architecture and physics systems.


STOP: Before Loading Any Spritesheet

Read spritesheets-nineslice.md FIRST.

Spritesheet loading is fragile—a few pixels off causes silent corruption that compounds into broken visuals. The reference file contains the mandatory inspection protocol.

Quick rules (details in reference):

  1. Measure the asset before writing loader code—never guess frame dimensions
  2. Character sprites use SQUARE frames: If you calculate frameWidth=56, try 56 for height first
  3. Different animations have different frame sizes: A run cycle needs wider frames than idle; an attack needs extra width for weapon swing. Measure EACH spritesheet independently
  4. Check for spacing: Gaps between frames require spacing: N in loader config
  5. Verify the math: imageWidth = (frameWidth × cols) + (spacing × (cols - 1))

Reference Files

Read these BEFORE working on the relevant feature:

| When working on... | Read first | |--------------------|------------| | Loading ANY spritesheet | spritesheets-nineslice.md | | Nine-slice UI panels | spritesheets-nineslice.md | | Tiled tilemaps, collision layers | tilemaps.md | | Physics tuning, groups, pooling | arcade-physics.md | | Performance issues, object pooling | performance.md |


Architecture Decisions (Make Early)

Physics System Choice

| System | Use When | |--------|----------| | Arcade | Platformers, shooters, most 2D games. Fast AABB collisions | | Matter | Physics puzzles, ragdolls, realistic collisions. Slower, more accurate | | None | Menu scenes, visual novels, card games |

Scene Structure

scenes/
├── BootScene.ts      # Asset loading, progress bar
├── MenuScene.ts      # Title screen, options
├── GameScene.ts      # Main gameplay
├── UIScene.ts        # HUD overlay (launched parallel)
└── GameOverScene.ts  # End screen, restart

Scene Transitions

this.scene.start('GameScene', { level: 1 });     // Stop current, start new
this.scene.launch('UIScene');                     // Run in parallel
this.scene.pause('GameScene');                    // Pause
this.scene.stop('UIScene');                       // Stop

Core Patterns

Game Configuration

const config: Phaser.Types.Core.GameConfig = {
  type: Phaser.AUTO,
  width: 800,
  height: 600,
  scale: {
    mode: Phaser.Scale.FIT,
    autoCenter: Phaser.Scale.CENTER_BOTH
  },
  physics: {
    default: 'arcade',
    arcade: { gravity: { y: 300 }, debug: false }
  },
  scene: [BootScene, MenuScene, GameScene]
};

Scene Lifecycle

class GameScene extends Phaser.Scene {
  init(data) { }      // Receive data from previous scene
  preload() { }       // Load assets (runs before create)
  create() { }        // Set up game objects, physics, input
  update(time, delta) { }  // Game loop, use delta for frame-rate independence
}

Frame-Rate Independent Movement

// CORRECT: scales with frame rate
this.player.x += this.speed * (delta / 1000);

// WRONG: varies with frame rate
this.player.x += this.speed;

Anti-Patterns

| Anti-Pattern | Problem | Solution | |--------------|---------|----------| | Global state on window | Scene transitions break state | Use scene data, registries | | Loading in create() | Assets not ready when referenced | Load in preload(), use Boot scene | | Frame counting | Game speed varies with FPS | Use delta / 1000 | | Matter for simple collisions | Unnecessary complexity | Arcade handles most 2D games | | One giant scene | Hard to extend | Separate gameplay/UI/menus | | Magic numbers | Impossible to balance | Config objects, constants | | No object pooling | GC stutters | Groups with setActive(false) |


Remember

Phaser provides powerful primitives—scenes, sprites, physics, input—but architecture is your responsibility.

Before coding: What scenes? What entities? How do they interact? What physics model?

Claude can build complete, polished Phaser games. These guidelines illuminate the path—they don't fence it.

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/phaser-game-development-mrx3xzyr/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/phaser-game-development-mrx3xzyr' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/phaser-game-development-mrx3xzyr/download' --output '.skill-downloads/phaser-game-development-mrx3xzyr/SKILL.md.part' && mv '.skill-downloads/phaser-game-development-mrx3xzyr/SKILL.md.part' '.skill-downloads/phaser-game-development-mrx3xzyr/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/phaser-game-development-mrx3xzyr/SKILL.md' && test -s '.skill-downloads/phaser-game-development-mrx3xzyr/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/phaser-gamedev' && cp -R '.skill-downloads/phaser-game-development-mrx3xzyr' '.claude/skills/phaser-gamedev'

Cursor
test -f '.skill-downloads/phaser-game-development-mrx3xzyr/SKILL.md' && test -s '.skill-downloads/phaser-game-development-mrx3xzyr/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/phaser-gamedev' && cp -R '.skill-downloads/phaser-game-development-mrx3xzyr' '.cursor/skills/phaser-gamedev'

Codex
test -f '.skill-downloads/phaser-game-development-mrx3xzyr/SKILL.md' && test -s '.skill-downloads/phaser-game-development-mrx3xzyr/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/phaser-gamedev' && cp -R '.skill-downloads/phaser-game-development-mrx3xzyr' '.agents/skills/phaser-gamedev'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/phaser-game-development-mrx3xzyr'

openskills read 'phaser-game-development-mrx3xzyr'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/phaser-game-development-mrx3xzyr/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires