|
|
@@ -0,0 +1,166 @@
|
|
|
+---
|
|
|
+name: game-engine-native
|
|
|
+category: game
|
|
|
+public: true
|
|
|
+database: optional
|
|
|
+hosting_hints:
|
|
|
+ - steam
|
|
|
+ - itch-io
|
|
|
+ - gog
|
|
|
+ - epic-store
|
|
|
+ - app-stores
|
|
|
+ - console-stores
|
|
|
+audit_stack:
|
|
|
+ - analyze
|
|
|
+ - code-clean
|
|
|
+ - perf
|
|
|
+ - design-review
|
|
|
+ - a11y
|
|
|
+ - doc
|
|
|
+plugins:
|
|
|
+ context7: no
|
|
|
+ ui-ux-pro-max: optional
|
|
|
+ gstack: no
|
|
|
+---
|
|
|
+
|
|
|
+# Game Engine Native (Godot / Unity)
|
|
|
+
|
|
|
+Projet de jeu utilisant un moteur natif : Godot (GDScript / C#) ou Unity (C#). Distribution standalone desktop / mobile / console, parfois web export.
|
|
|
+
|
|
|
+## Detection signals
|
|
|
+
|
|
|
+### Strong signals (×3)
|
|
|
+- FILE: `project.godot` (Godot)
|
|
|
+- DIR: `ProjectSettings/` contenant `*.asset` (Unity)
|
|
|
+- FILE: `Assets/Settings/*.asset` OR `Packages/manifest.json` (Unity)
|
|
|
+- EXT: 5+ fichiers `.gd` (Godot GDScript)
|
|
|
+- EXT: 5+ fichiers `.unity` (Unity scene files)
|
|
|
+
|
|
|
+### Medium signals (×2)
|
|
|
+- DIR: `scenes/` AVEC `.tscn` (Godot)
|
|
|
+- DIR: `Assets/Scripts/` AVEC `.cs` (Unity)
|
|
|
+- DIR: `addons/` (Godot custom plugins)
|
|
|
+- DIR: `Library/` (Unity, gitignored normalement)
|
|
|
+- FILE: `.godot/` directory (Godot cache)
|
|
|
+- DEP: `Packages/manifest.json` contient "com.unity.*"
|
|
|
+
|
|
|
+### Weak signals (×1)
|
|
|
+- DIR: `.gitattributes` avec LFS rules pour assets binaires
|
|
|
+- EXT: `.tres` (Godot resources), `.prefab` (Unity)
|
|
|
+- DIR: `Builds/` OR `exports/` (builds sortie)
|
|
|
+- FILE: `.gdignore` OR `.gitignore` avec patterns Unity/Godot
|
|
|
+
|
|
|
+### Composition overlays
|
|
|
+- **Godot 4 vs 3** : détection sur `config_version=5` (Godot 4) vs `config_version=4` (Godot 3)
|
|
|
+- **Unity URP / HDRP / Built-in** : `Assets/Settings/URP-*.asset` / `HDRenderPipelineAsset.asset`
|
|
|
+- **C# in Godot** : FILE `*.csproj` AVEC Godot references
|
|
|
+
|
|
|
+## Implications
|
|
|
+- **Distribution** : Steam, itch.io, GOG, Epic Store, App Store, Play Store, consoles (avec portage)
|
|
|
+- **Base de données** : OPTIONNELLE — save files locaux, backends externes possibles (Unity Gaming Services, PlayFab, Firebase)
|
|
|
+- **SEO/GEO** : N/A (sauf page produit sur Steam / site du jeu)
|
|
|
+- **Surface sécurité** : MOYENNE — anti-cheat si multiplayer, injection via mods, DLC entitlements
|
|
|
+- **UI/UX** : CRITIQUE — game feel + UI in-game + onboarding + accessibilité
|
|
|
+
|
|
|
+## Typical pain points
|
|
|
+- Assets volumineux (textures, audio, modèles 3D) NON en LFS → repo bloat / clone lent
|
|
|
+- Meta files (.meta Unity) non commités → references cassées en équipe
|
|
|
+- Scene conflicts Unity (YAML non mergeable) sans SmartMerge configuré
|
|
|
+- Pas de CI build (builds manuels depuis l'éditeur, erreurs env-specific)
|
|
|
+- Pas de tests (Unity Test Framework / GUT Godot rarement utilisés)
|
|
|
+- Hardcoded paths (résolution, language, keymaps)
|
|
|
+- Input non rebindable (clavier/manette)
|
|
|
+- Accessibilité catastrophique : pas de color-blind mode, pas de subtitles, pas d'options motion
|
|
|
+- Pas de pause propre (main menu ok, mais in-game pause buggé)
|
|
|
+- Performances non profilées (frame drops sans diagnostic)
|
|
|
+- Memory leaks : particules non freed, signals non disconnect, scenes non queue_free
|
|
|
+- Localisation absente ou hardcodée (pas de `.po` / `.csv` / Unity Localization Package)
|
|
|
+- Save files en clair dans `%APPDATA%` / `~/Library/Application Support` — triche triviale
|
|
|
+- Multiplayer : auth client-side, state non validé server-side
|
|
|
+- Modding non supporté (absence d'API plugins)
|
|
|
+- Pas d'analytics respectueux RGPD (opt-in, anonymisé)
|
|
|
+- Build size non optimisé (toutes textures en 4K, pas de compression format GPU)
|
|
|
+- Pas d'Over-the-air patches (cycles Steam update long)
|
|
|
+- Audio non mixé (master bus saturé, pas de ducking, pas d'accessibilité audio)
|
|
|
+- Shaders custom non cross-platform (Metal vs Vulkan vs DX12 vs OpenGL ES)
|
|
|
+
|
|
|
+## Interview questions (adaptive)
|
|
|
+En plus du set minimum business :
|
|
|
+- Moteur : Godot (3.x / 4.x) / Unity (version LTS / Alpha) / autre ?
|
|
|
+- Langage : GDScript / C# (Godot Mono) / C# Unity ?
|
|
|
+- Pipeline rendu Unity : Built-in / URP / HDRP ?
|
|
|
+- Version control : Git LFS activé ? Unity SmartMerge configuré ? Plastic SCM ?
|
|
|
+- Scène principale + architecture : monolithique / modulaire (additive scenes) ?
|
|
|
+- Type de jeu : 2D / 3D / first-person / third-person / puzzle / MMO / ... ?
|
|
|
+- Solo / coop local / multiplayer online / les deux ?
|
|
|
+- Multiplayer : Mirror / Netcode for GameObjects / Fishnet / Godot High-Level Multiplayer / Photon / autre ?
|
|
|
+- Analytics : Unity Analytics / custom / aucun ?
|
|
|
+- Save system : binaire / JSON / steam cloud / server-side ?
|
|
|
+- Localisation : Unity Localization / Godot tr() / externe ?
|
|
|
+- Input System : Unity Input System / InputManager legacy / Godot InputMap ?
|
|
|
+- Cibles plateformes : PC (Windows/macOS/Linux) / mobile / consoles (PS/Xbox/Switch) ?
|
|
|
+- Distribution : Steam / itch.io / GOG / Epic / App Store / consoles ?
|
|
|
+- Anti-cheat si multiplayer ?
|
|
|
+- Modding prévu ?
|
|
|
+- Accessibilité : color-blind mode / subtitles / motion options / remappable controls / haptic alternatives ?
|
|
|
+- Audio mixing + ducking fait ?
|
|
|
+- CI builds : GitHub Actions / CircleCI / Unity Cloud Build / Jenkins ?
|
|
|
+- Tests : Unity Test Framework / GUT (Godot) / Gherkin ?
|
|
|
+- Profiling : Unity Profiler / Godot Debugger / RenderDoc / autre ?
|
|
|
+- Analytics respecte RGPD ?
|
|
|
+
|
|
|
+## Plugin recommendations
|
|
|
+- **context7** : OFF — docs engines (Godot, Unity) stables, context7 peu utile
|
|
|
+- **ui-ux-pro-max** : OPTIONAL — utile pour UI menus HUD, peu pour gameplay
|
|
|
+- **gstack** : OFF
|
|
|
+
|
|
|
+## Example project layout (Godot 4)
|
|
|
+```
|
|
|
+project.godot
|
|
|
+.gitignore (exclude .godot/, export/, *.tmp)
|
|
|
+.gitattributes (LFS for .png .wav .ogg .glb .tres binaires)
|
|
|
+scenes/
|
|
|
+ main.tscn
|
|
|
+ levels/
|
|
|
+ level_01.tscn
|
|
|
+ ui/
|
|
|
+ main_menu.tscn
|
|
|
+scripts/
|
|
|
+ player.gd
|
|
|
+ enemy.gd
|
|
|
+ systems/
|
|
|
+ save_system.gd
|
|
|
+assets/
|
|
|
+ sprites/
|
|
|
+ audio/
|
|
|
+ fonts/
|
|
|
+addons/
|
|
|
+ dialogue_manager/
|
|
|
+exports/ (gitignored)
|
|
|
+.godot/ (cache, gitignored)
|
|
|
+```
|
|
|
+
|
|
|
+## Example project layout (Unity)
|
|
|
+```
|
|
|
+Assets/
|
|
|
+ Scripts/
|
|
|
+ Player/
|
|
|
+ Enemies/
|
|
|
+ Systems/
|
|
|
+ SaveSystem.cs
|
|
|
+ Scenes/
|
|
|
+ MainMenu.unity
|
|
|
+ Level_01.unity
|
|
|
+ Prefabs/
|
|
|
+ Materials/
|
|
|
+ Settings/
|
|
|
+ URP-Renderer.asset
|
|
|
+ InputActions.inputactions
|
|
|
+ Localization/
|
|
|
+ProjectSettings/
|
|
|
+Packages/
|
|
|
+ manifest.json
|
|
|
+ packages-lock.json
|
|
|
+.gitattributes (LFS for binary assets)
|
|
|
+.gitignore (exclude Library/, Temp/, Builds/)
|
|
|
+```
|