huayuehua15-netizen/aaa-game-gdd

Conception et révision de documents de développement de jeux 3A (GDD) : transformez des idées de jeu floues en une documentation complète et prête à être développée, répondant aux normes de publication Steam et comparable aux grands titres AAA.

Qu'est-ce que aaa-game-gdd ?

Cette compétence est un outil complet pour les développeurs de jeux, les concepteurs et les chefs de produit qui souhaitent créer des documents de conception de jeu (GDD) de qualité AAA, prêts pour la production et la publication sur Steam. Elle transforme une simple idée de jeu en une arborescence documentaire structurée, quantifiable et vérifiable, couvrant tous les aspects : vision et pitch, bible artistique, spécifications des niveaux et des scènes, systèmes de gameplay et valeurs numériques, narration et dialogues, UI/UX, personnages, modélisation des objets, animations, conception audio, architecture technique et budget de performance, ainsi que des checklists de QA et de publication Steam. La compétence prend en charge les moteurs Unity, Unreal et Godot, et fournit un script d'échafaudage pour générer automatiquement l'ensemble de l'arborescence GDD. Elle suit un workflow par étapes avec des jalons de qualité (Stage Gates) pour garantir que chaque document est prêt à être développé, vérifiable et cohérent avec l'ensemble du projet. Les utilisateurs peuvent l'utiliser pour rédiger un nouveau GDD, créer des fiches individuelles pour des actifs (scènes, personnages, objets, etc.), ou auditer des documents existants par rapport aux normes AAA et aux exigences de Steam.

Compatible avec✓Claude Code✓Codex CLI✓Cursor
npx skills add https://github.com/huayuehua15-netizen/gamedev-agent-skills/tree/HEAD/plugins/aaa-game-gdd/skills/aaa-game-gdd

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Compétence GDD pour jeux de qualité AAA (Game Design Document)

Convention de chemin : Tous les chemins scripts/, references/, assets/ dans ce fichier sont relatifs au répertoire contenant ce SKILL.md. Avant d'exécuter python scripts/new_gdd.py, assurez-vous d'être dans ce répertoire (Cursor/Codex l'installe via install.ps1 dans <projet>/skills/game-dev/aaa-game-gdd/). En cas de doute, trouvez d'abord le chemin absolu de ce SKILL.md, puis appelez le script avec ce chemin absolu ; utiliser un chemin relatif depuis la racine du projet générera une erreur "fichier non trouvé".

Que fait cette compétence

Transformer « J'ai une idée de jeu » en une documentation complète qui permet à une équipe de développer directement un jeu publiable sur Steam, comparable aux titres AAA. Le livrable principal est un ensemble structuré, quantifiable et vérifiable de documents Markdown en chinois (GDD), et non un simple document de conception vague.

Chaque document produit doit respecter trois règles absolues :

  1. Développable : Le développeur n'a pas besoin de demander « quoi faire exactement, à quelle échelle, à quel standard ». Tout ce qui est quantifiable doit être spécifié avec des valeurs numériques (nombre de polygones, nombre d'images, durée, résolution, fréquence, délai, conditions de déclenchement).
  2. Vérifiable : Chaque actif, chaque système, chaque scène possède une liste de contrôle Definition of Done (DoD) qui permet de cocher chaque critère une fois réalisé.
  3. Cohérent : Tous les documents partagent les mêmes piliers de vision, bible artistique, conventions de nommage et budget de performance ; les documents se réfèrent les uns aux autres par des numéros et ne doivent pas se contredire.

Carte des documents (références à lire selon les besoins)

Ne lisez pas tous les documents de référence d'un coup. Identifiez d'abord le type de document dont l'utilisateur a besoin dans le tableau ci-dessous, puis lisez uniquement la référence correspondante. Chaque référence est structurée ainsi : problème résolu → quand l'écrire → structure des sections → comment écrire chaque section (avec standards quantifiables) → exemples bons/mauvais → liste de contrôle DoD.

DocumentQuand lire cette référenceModèle correspondant (assets/templates)
00 Aperçu du système documentaireNouveau projet, besoin de déterminer la liste des documents et le planning des phasesREADME.md
01 Vision et PitchIdée de jeu naissante, besoin d'une page pour présenter le jeu, pitch pour une présentation externe01-vision-pitch.md
02 Bible artistiqueDéfinir le style artistique, unifier l'esthétique de l'équipe, créer des briefs artistiques02-art-bible.md
03 Scènes et NiveauxÉcrire des descriptions de scènes, des flux de niveaux, des déplacements, des rencontres, une narration environnementale03-scene-level.md, scene-sheet.md, level-sheet.md
04 Systèmes de gameplayConcevoir le cycle de base, le combat, la progression, l'économie, les tableaux de valeurs04-gameplay-systems.md, system-sheet.md
05 Narration et DialoguesÉcrire le synopsis de l'histoire, les beats de chapitre, les embranchements, les scripts de dialogues, le doublage05-narrative-dialogue.md, dialogue-sheet.md
06 Interaction et UI/UXDéfinir les contrôles, la matrice d'interaction, le ressenti du jeu, le HUD, les menus, l'accessibilité06-interaction-uiux.md
07 Spécifications des personnagesConception, apparence, ensemble d'actions, IA, valeurs des protagonistes/ennemis/PNJ07-character-spec.md, character-sheet.md
08 Spécifications de modélisation des objetsModélisation, textures, LOD, conventions de nommage et livraison des objets/armes/actifs environnementaux08-prop-modeling.md, prop-sheet.md
09 Spécifications d'animationAnimation squelettique 3D, machine à états d'animation, cinématiques, animation 2D par frames09-animation-spec.md, animation-sheet.md
10 Conception audioMusique, effets sonores, doublage, musique dynamique, volume du bus10-audio-spec.md
11 Technologie et PerformanceChoix du moteur, pipeline de rendu, budget de framerate/mémoire/taille du package, plateforme11-tech-performance.md
12 Qualité AAA et Validation SteamJalons de phase, plan de QA, boutique Steam et publication, évaluation comparative AAA12-steam-qa-checklist.md

Flux de travail

Procédure A : Nouveau projet (de l'idée au système documentaire complet)

  1. Clarifier les informations minimales nécessaires (posez toutes les questions à l'utilisateur en une seule fois, maximum 4) : type de jeu et gameplay principal en une phrase, moteur (Unity/Unreal/Godot/non défini), plateforme et framerate cible (PC 60fps ? Steam Deck ?), orientation artistique. Une fois les réponses obtenues, commencez le travail ; ne posez pas de questions supplémentaires pour obtenir des informations complètes. Les éléments inconnus sont marqués explicitement 【À CONFIRMER】 dans les documents.
  2. Lancer l'échafaudage : python scripts/new_gdd.py init --name "NomDuJeu" --out <répertoire de sortie> --engine <moteur confirmé à l'étape 1> pour générer l'arborescence complète du GDD. --engine doit utiliser la réponse de l'étape 1, ne mettez pas systématiquement unity — cela déterminera réellement les conventions d'axe, de nommage des collisions, de navigation et de métriques des données dans les documents.
  3. Rédiger les documents par ordre de phase (voir « Jalons de phase » ci-dessous), lisez d'abord la référence correspondante, puis remplissez le modèle correspondant. Ordre : 01 Vision → 02 Bible artistique + 11 Budget technique → 04 Gameplay de base → 07/08/09/06 Spécifications → 03/05 Contenu → 12 Validation.
  4. Pour chaque scène/personnage/objet/animation/dialogue/système, utilisez python scripts/new_gdd.py sheet pour générer une fiche individuelle, placez-la dans le sous-répertoire correspondant du GDD. Le document principal ne contient qu'une table d'index, n'empilez pas des centaines d'actifs dans un seul fichier.
  5. Passer les jalons de qualité : à la fin de chaque phase, utilisez la liste de contrôle des jalons de 12-steam-qa-checklist.md pour vérifier chaque point ; ne passez pas à la phase suivante sans avoir satisfait à tous les critères.

Procédure B : Document unique (l'utilisateur n'a besoin que d'un type de document)

Confirmez l'objet et l'utilisation → Lisez la référence correspondante → Copiez le modèle correspondant et remplissez-le → Vérifiez avec la liste « DoD » à la fin de la référence → Livrez. Si l'utilisateur dit simplement « Aidez-moi à écrire une scène », demandez d'abord le nom de la scène / sa position dans le flux / l'événement clé (posez toutes les questions en une fois), puis produisez directement une fiche de scène complète, ne donnez pas simplement un modèle vide.

Scène vs Niveau : par défaut, ne produisez que le document demandé. references/03 dit « la scène est l'espace, le niveau est le temps, écrivez-les séparément », cela fait référence à la répartition du travail lorsque les deux sont nécessaires, pas à une obligation de produire une fiche de niveau à chaque fois qu'une scène est demandée.

La répartition est stricte :

  • Fiche de scène (SC_) = Ce que l'espace offre : terrain, ligne de vue, couverture, dénivelé, issue de secours, cachettes, contraintes spatiales pour les ennemis (§7), et zones de déclenchement TZ_ (§4).
  • Fiche de niveau (LV_) = Dans quel ordre le joueur vit quoi : tableau de beats (avec numéros d'événements EV_), rythme, conséquences des rencontres, points de contrôle.

Par conséquent :

  • Utilisateur ne veut qu'une scène → n'écrivez que scene-sheet.md, sans ordre ; si vraiment aucune fiche de niveau n'est nécessaire, ajoutez une ligne dans §7 « Ordre de déroulement (simplifié) ».
  • Utilisateur veut le flux du niveau, ou la scène a un rythme multi-phase → alors produisez également level-sheet.md, les deux se réfèrent l'un à l'autre via TZ_ ↔ EV_.
  • Ne produisez pas automatiquement deux documents juste parce que 03 mentionne « écrivez-les séparément », cela ferait passer une simple demande à 2-3 fois plus de travail.

Lisez d'abord un exemple avant de remplir — chaque type de fiche a un exemple complet. Lisez directement l'exemple correspondant au type que vous allez écrire :

Type de ficheExempleCe qu'il faut surtout imiter
Scène (linéaire/horreur)assets/examples/SC_01_外科楼二层走廊_示例.md§7 Approvisionnement spatial = occlusion de la ligne de vue et « voir avant de toucher » ; §10 Axé sur la perception et le rythme
Scène (ouverte/BOSS)assets/examples/SC_07_断桥瞭望台_示例.md§7 Approvisionnement spatial = distance ajustable / interruption de ligne de vue / risque calculable ; §10 Axé sur la résolvabilité du combat
Niveauassets/examples/LV_01_走廊初遇_示例.mdComment le tableau de beats se recoupe avec TZ_ ; comment la courbe d'intensité et les points d'apprentissage sont intégrés sans pop-up
Personnage (ennemi)assets/examples/EN_01_缝合者_示例.mdPourquoi la machine à états §6 + différence de vitesse nécessite d'écrire « on peut s'échapper » ; comment la durée de combat §7 est calculée
Objetassets/examples/PR_017_缺轮轮椅_示例.mdValeurs des spécifications techniques §5 ; comment écrire « intentionnellement non fait » dans §7 DoD
Animationassets/examples/AN_EN01_Slash_01_示例.mdIntervalle de frames en trois parties §2 ; points de déclenchement d'événements §3 (le son d'avertissement est le minimum d'équité)
Dialogue/Cinématiqueassets/examples/DL_07_护士长录音_示例.mdComment définir l'ID de réplique / durée / sous-titres conformes / interruption et reprise
Systèmeassets/examples/SYS_04_抓取挣脱_示例.md§4 Le tableau de paramètres doit inclure « intention de conception » ; §5 Les cas limites ne doivent pas être oubliés

Tous les exemples doivent atteindre ce niveau de granularité (chaque élément a un nombre spécifique, un numéro, un contenu assignable). Note : les cases à cocher dans les exemples sont des enregistrements de validation après achèvement (nombre de polygones réel mesuré, date de révision, décisions de conception annulées), pas le format de remplissage avant le début du travail ; à l'étape v0.1, laissez les champs vides le cas échéant, n'inventez pas de chiffres qui semblent réels. §10 Risques de conception et hypothèses à valider est la seule section où il est permis et attendu qu'il n'y ait pas de chiffres.

Procédure C : Audit de documents/idées existants

Utilisez le « Tableau d'évaluation des dix dimensions AAA » de 12-steam-qa-checklist.md pour noter chaque dimension (1-10, avec preuves), listez les défauts bloquants pour la publication, les documents manquants, et les suggestions de modification classées par gravité. Les notes doivent citer le texte original du document ou les éléments manquants ; les évaluations vagues sont interdites.

Jalons de phase (Stage Gates)

PhaseDocuments obligatoiresJalon (ne pas passer sans le franchir)
Concept01 Vision, 04 Structure de base du gameplayLe plaisir central est validé sur papier / par prototype boîte grise ; les 3 piliers centraux sont approuvés par tous
Tranche verticale02, 06, 11 + au moins 1 fiche exemple par catégorie (scène/personnage/objet/animation/dialogue)Le flux de 10-15 minutes atteint la qualité finale attendue ; tous les systèmes centraux fonctionnent ; le budget de performance est respecté
ProductionTous les documents essentiels + toutes les fiches d'actifsChaque fiche d'actif peut être directement assignée ; la capacité et les jalons peuvent être planifiés
AlphaTout le contenuFeature Complete : le jeu peut être terminé du début à la fin, sans système factice
BêtaIdem + 12 Tableau de validationContent Complete ; zéro bug S/A ; parcours complet × 3 configurations
RC/PublicationTous les points de la liste Steam dans 12 sont cochésPage boutique, validation Steam Deck, localisation, classification, compatibilité des sauvegardes : tout est OK

Script d'échafaudage

# Initialiser l'arborescence complète du GDD (crée <NomDuJeu>_GDD/ dans le répertoire de sortie)
python scripts/new_gdd.py init --name "NomDuJeu" --out "D:/MonJeu" --engine unity
#   --engine : unity | unreal | godot | agnostic (par défaut)
#             ★ Ce n'est pas décoratif : le choix détermine réellement le format d'échange, les conventions d'axe, le nommage des collisions, la navigation, les métriques des données et le LOD dans les documents
#   --genre : optionnel, description du type de jeu, sera écrite dans le document de vision
#   --dimension : 3d (par défaut) | 2d (crée en plus les sous-répertoires sprites/ et tilesets/)

# Générer une fiche individuelle pour un objet (placée automatiquement dans le sous-répertoire correspondant)
python scripts/new_gdd.py sheet --type scene --name "Hôpital abandonné" --out "D:/MonJeu/NomDuJeu_GDD"
#   --type : scene | level | character | prop | animation | dialogue | system | sprite | tileset
#   --subtype : pour character, utiliser player/enemy/npc (CH/EN/NPC) ; pour prop, utiliser item/weapon (PR/WP)
#   Exemple : sheet --type character --subtype enemy --name "Le Fronceur" → characters/EN_01_LeFronceur.md
#   Exemple : sheet --type sprite --name "HeroIdle" → sprites/SPR_01_HeroIdle.md

init supporte aussi --dimension 2d : crée en plus les sous-répertoires sprites/ et tilesets/ (pour les projets 2D).

Le script remplace automatiquement les espaces réservés {{GAME_NAME}}, {{DATE}}, {{ENGINE}}. Si le script n'est pas disponible, copiez manuellement les modèles depuis assets/templates/.

Règles générales d'écriture

  • En-tête du document : Chaque document commence par : numéro de document, version, état (brouillon / en révision / verrouillé), date de dernière mise à jour, responsable, numéros des documents associés. Pour les fiches d'actifs, ajoutez le nom de la ressource dans le moteur (ex. SM_Prop_HospitalWheelchair_01).
  • Quantification prioritaire : Interdiction des descriptions non vérifiables comme « bon ressenti », « belle image », « ennemi puissant ». Écrivez plutôt : « 8 frames entre l'appui sur attaque et l'activation du jugement (0.13 s à 60 ips) », « PV ennemi 120, DPS du joueur optimisé 45, durée de combat attendue 35-45 s ».
  • Marquez l'incertitude : Pour les valeurs inconnues, écrivez 【À CONFIRMER : raison/responsable/délai】. N'inventez pas de chiffres pour faire semblant d'être certain ; les valeurs issues de l'expérience du secteur peuvent être utilisées directement, marquées « Valeur par défaut du secteur, à ajuster après le premier test ».
  • Exigences graphiques : Les scènes, niveaux et UI doivent être accompagnés de schémas de disposition (plan ASCII, diagramme de flux/état Mermaid, ou référence à un numéro de concept art) ; les machines à états, les arbres de dialogue, les flux de menus doivent être représentés avec Mermaid ; les paramètres et listes doivent être dans des tableaux.
  • Chaque document doit avoir un DoD : À la fin du document, incluez une liste de contrôle DoD (cases à cocher - [ ]). C'est le seul critère de validation pour la livraison.
  • Langue : Texte principal en chinois ; les noms propres, API du moteur, noms de ressources conservés en anglais ; les scripts de dialogues doivent également inclure des champs réservés pour l'anglais/autres langues.
  • Modifications des documents versionnées : Après verrouillage, les modifications doivent être enregistrées dans un journal des versions à la fin du document (version, date, ce qui a changé).

Exigences de livraison

  • Le livrable est constitué de fichiers Markdown placés dans le répertoire du projet de l'utilisateur (arborescence d'échafaudage + documents remplis), pas d'un plan dans le chat.
  • Après chaque livraison, indiquez à l'utilisateur : quel document rédiger ensuite, sur quels 【À CONFIRMER】 il doit prendre une décision.
  • La qualité du document est testée selon le critère suivant : « Un artiste / programmeur extérieur fraîchement arrivé peut, en lisant uniquement la fiche correspondante, produire un actif de qualité acceptable de manière indépendante. »

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

huayuehua15-netizen/unity-blender-mcp

通过 MCP 自主操作 Unity 与 Blender,完成 3D 游戏资产的搜索复用、建模、清洗、导出、导入与验收全流程。核心原则是素材优先:优先从 MCP 内置素材源(Sketchfab、Poly Haven)与外部素材库(3d66 等国内站、TurboSquid、CGTrader、Kenney、Quaternius、Mixamo、AI 生成等)搜索复用现成资产,搜不到再在 Blender 自建。涵盖 MCP 工具发现与连接、bpy 自动化建模与批处理、素材审计清洗、Unity 正确 FBX 导出、Unity 导入设置(材质/LOD/碰撞/骨骼动画/Prefab)、批量导入后处理与故障排查。当用户要求用 MCP 操作 Blender 或 Unity、找 3D 模型/素材/动画、把下载素材导入 Unity、处理素材格式与授权、Blender 建模或改模、导出 FBX、搭建 Blender→Unity 管线、修复粉色材质/缩放/法线/轴/碰撞/动画异常时使用。 English: Asset-first 3D pipeline driving Unity and Blender through MCP: search and reuse existing assets, audit and clean them, export FBX, and import into Unity with correct materials, LODs, colliders, skinned animation and prefabs. Use when sourcing 3D assets, building a Blender-to-Unity pipeline, or fixing pink materials, scale, normals, axes, colliders or animation issues.

huayuehua15-netizen/unity-gameplay-dev

让 AI 通过 MCP(或命令行)自主完成 Unity 3D 单机游戏的玩法逻辑开发:从 GDD 规格到可玩、可测试、可构建的代码。覆盖 Unity 6(6000.x,第一人称、URP、UGUI、新 Input System)下的项目脚手架与代码规范、输入系统、第一人称控制器、准星交互、Animator 状态机、UI 面板栈/HUD、背包/对话/存档/对象池/音频、NavMesh 敌人 AI、Profiler 性能定位、构建发布与测试。提供可直接编译运行的 C# 框架模板(带 asmdef 与测试)和一键脚手架脚本。当用户要求在 Unity 里写玩法代码、做控制器/移动/视角、交互系统、背包/对话/存档、UI 菜单、敌人 AI、音效集成、性能优化、跑测试或出包,或把 GDD 规格落地为可玩功能时使用。与 unity-blender-mcp(资产管线)、aaa-game-gdd(设计文档)配套,不负责 3D 资产制作、不覆盖多人联机。 English: Unity 6 single-player gameplay development from GDD specs to playable, testable, buildable code: project scaffold, Input System, first-person controller, interaction, UI panel stack, inventory, dialogue, save system, object pooling, audio, NavMesh enemy AI, profiling, build and tests. Use when writing Unity gameplay code, controllers, interaction, UI, AI, or shipping a build.

Skills associés