💻 Développement

game-design-patterns

Patterns de conception spécifiques au développement de jeux vidéo.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- game-design-patterns --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } game-design-patterns -Launch"

🚀 Déjà installé ?

claude "/game-design-patterns"

Ou tapez /game-design-patterns dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

game patterngame architectureECSgame loopstate machine gamecomponent patterngame programming patterns

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/dev-skills/game-design-patterns ~/.claude/skills/

Source : dev-skills/game-design-patterns

📖 Manuel

Game Design Patterns

Workflow

  1. Game Loop et Update : Concevoir la boucle de jeu principale avec un timestep fixe pour la physique et variable pour le rendu, implémenter le frame-independent movement avec Time.deltaTime, séparer les phases update/fixed update/late update, et gérer la synchronisation entre rendu et simulation.
  1. Component pattern et ECS : Appliquer la composition plutôt que l'héritage en décomposant les entités en composants indépendants, implémenter l'architecture Entity-Component-System pour la performance et la flexibilité, et explorer Unity DOTS (Data-Oriented Technology Stack) pour les simulations à grande échelle.
  1. State machines : Implémenter des FSM (Finite State Machines) pour les comportements de personnages (idle, walk, attack, hurt), utiliser des HSM (Hierarchical State Machines) pour les états imbriqués complexes, appliquer le State pattern orienté objet avec des classes d'état interchangeables, et gérer proprement les transitions et les conditions d'entrée/sortie.
  1. Observer et Event system : Mettre en place un event bus découplé pour la communication entre systèmes, utiliser les delegates et events C# ou les ScriptableObject events pour éviter les dépendances directes, implémenter un système de signals (Zenject, VContainer), et garantir la désinscription des listeners pour éviter les fuites mémoire.
  1. Object pooling : Créer un pool manager générique pour le spawn/despawn d'entités (bullets, ennemis, effets), préchauffer les pools au chargement de scène pour éliminer les stutters, rendre les pools extensibles avec une politique de croissance configurable, et réinitialiser correctement l'état des objets à leur retour dans le pool.
  1. Command pattern : Encapsuler les actions joueur en objets Command pour l'input handling découplé, implémenter l'undo/redo pour les éditeurs de niveaux ou puzzles, construire un système de replay en enregistrant la séquence de commandes, et gérer les commandes réseau dans un contexte multijoueur (autoritative server).
  1. Spatial partitioning : Utiliser le quadtree (2D) ou l'octree (3D) pour accélérer les requêtes spatiales, implémenter un grid spatial pour la détection de collision large phase, appliquer le spatial hashing pour les mondes procéduraux ou très larges, et optimiser les requêtes d'IA (vision, portée) avec ces structures.
  1. Singleton et Service Locator : Utiliser le Singleton avec précaution pour les managers globaux (AudioManager, GameManager), préférer le Service Locator ou l'injection de dépendances (Zenject, VContainer) pour les architectures testables, identifier les anti-patterns (Singleton sur MonoBehaviour, dépendances circulaires), et structurer l'initialisation des services au démarrage.

Règles