From atum-gamedev
Game asset pipeline pattern library — texture compression per platform (ASTC for mobile iOS/Android, BC7 for desktop, ETC2 for legacy Android, BCn for consoles), texture atlasing for sprite batching (TexturePacker, Sprite Atlas Unity, AtlasTexture Godot), mesh LOD groups (high/medium/low/billboard) and Nanite virtualized geometry Unreal 5, Mipmaps + filtering (anisotropic, trilinear), normal map encoding, audio compression (Ogg Vorbis quality settings, IMA ADPCM for mobile, streamed vs preloaded), animation compression and bone optimization, asset bundling per scene/level (Unity Addressables groups, Godot resource grouping, Unreal Pak files), Universal Asset Loader patterns, asset preprocessor scripts (texture import settings, mesh import settings), Wwise / FMOD audio middleware integration, Substance Painter / Designer texture pipeline, Marmoset Toolbag baking, Houdini procedural assets, Blender + DCC export pipelines (FBX vs glTF vs USD), version control for binary assets (Git LFS, Plastic SCM, Perforce), and asset validation hooks (no orphaned assets, naming conventions, polycount budgets, texture memory budgets). Use when setting up an asset pipeline from scratch, optimizing existing asset memory budget, choosing texture compression for target platforms, integrating audio middleware, or auditing build size. Differentiates from generic deployment skills by game-specific concerns (texture compression, mesh LODs, audio middleware, GPU memory budgets).
npx claudepluginhub arnwaldn/atum-plugins-collection --plugin atum-gamedevThis skill uses the workspace's default tool permissions.
Patterns pour gérer les **assets** d'un jeu : textures, meshes, audio, animations, depuis le DCC tool jusqu'au build final.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides agent creation for Claude Code plugins with file templates, frontmatter specs (name, description, model), triggering examples, system prompts, and best practices.
Patterns pour gérer les assets d'un jeu : textures, meshes, audio, animations, depuis le DCC tool jusqu'au build final.
| Plateforme | Format texture recommandé | Notes |
|---|---|---|
| iOS | ASTC 4×4 / 6×6 / 8×8 | ASTC 6×6 = bon ratio qualité/taille |
| Android moderne (Vulkan, GLES 3.1+) | ASTC 4×4 / 6×6 | Idem iOS |
| Android legacy (GLES 3.0) | ETC2 RGBA8 | Fallback |
| Desktop Windows/Linux/Mac | BC7 (RGBA), BC5 (normal maps) | DirectX/Vulkan |
| PS5 | BC7 + Oodle Texture | Format console-spécifique |
| Xbox Series | BC7 + DirectX 12 | Format console-spécifique |
| Nintendo Switch | ASTC ou BC | Hybrid mobile/console |
| Web (WebGL) | ASTC + ETC2 fallback (DXT pour desktop browsers) | Compression universal pas dispo |
Règle : configurer import settings par plateforme (Unity Inspector → Texture → Override for X, ou Godot Import → Compression Mode VRAM Compressed).
Avant : 50 sprites individuels = 50 draw calls, 50 textures
Après : 1 atlas 2048×2048 contenant les 50 sprites = 1 draw call, 1 texture
Outils :
Bonnes pratiques :
Distance camera → mesh
0-10m → LOD0 (high res, 10k tris)
10-30m → LOD1 (5k tris)
30-100m → LOD2 (1k tris)
100m+ → LOD3 (billboard / impostor)
Unity : LOD Group component sur le GameObject parent + meshes enfants.
Unreal 5 : Nanite virtualized geometry — élimine le besoin de LOD manuel pour les meshes statiques. Pour les meshes animés, MLOD classique reste nécessaire.
Godot 4 : Visibility Notifier + manual mesh swap.
Génération auto LOD : Simplygon (commercial), MeshLab (open source), Unreal Editor automatic LOD generation.
| Format | Use case | Compression |
|---|---|---|
| PCM uncompressed | SFX très courts (<1s) | Aucune, instant load |
| Ogg Vorbis quality 5-7 | Music, dialog, ambient | Bonne qualité, ~70% reduction |
| Ogg Vorbis quality 3-5 | SFX longs | Plus compressé |
| IMA ADPCM | Mobile SFX | Très léger CPU, qualité moyenne |
| MP3 | Music sur mobile | Patent expiré, decoder hardware partout |
| Opus | Voice chat real-time | Best-in-class voice |
Streaming vs preload :
| Middleware | Use case |
|---|---|
| Wwise (Audiokinetic) | AAA standard, free under 200k$/an revenu, intégration Unity/Unreal/Godot natives |
| FMOD (Firelight) | Alternative populaire, free under 600k$/an revenu, plus accessible |
| Native Unity Audio | Petits jeux indie, gratuit |
| Audio Source Godot | Idem Godot |
Avantages middleware :
Groups :
├── DefaultLocal (boot, menu, shared) — bundled in build
├── Level01-Local — bundled
├── Level02-Remote — sur CDN, downloadé à la demande
└── DLC-Pirate-Cove-Remote — payant, downloadé après achat
Pas de système Addressables built-in — utiliser les PCK files :
godot --export-pack "Linux/X11" dlc_pirate_cove.pck
Puis ProjectSettings.load_resource_pack("user://dlc_pirate_cove.pck") au runtime.
Système natif Unreal — chunk les assets en .pak files par level/DLC, signed pour anti-tampering.
| Format | Use case |
|---|---|
| FBX | Standard universel (Unity, Unreal, Godot supportent) |
| glTF 2.0 | Standard moderne, recommandé pour Godot, support Unity via package |
| USD (Universal Scene Description) | Pixar standard, support croissant Unreal 5 |
| OBJ | Statique uniquement, pas d'animations, legacy |
Bonnes pratiques export Blender :
Git LFS :
# .gitattributes
*.psd filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
*.unity filter=lfs diff=lfs merge=lfs -text
Alternatives :
# Hook pre-commit — validation polycount
#!/bin/bash
for fbx in $(git diff --cached --name-only | grep "\.fbx$"); do
polycount=$(blender -b "$fbx" --python check_polycount.py)
if [ "$polycount" -gt 100000 ]; then
echo "ERROR: $fbx exceeds 100k polygons ($polycount)"
exit 1
fi
done
Validations utiles :
character_player_idle.fbx, texture_grass_albedo.png)| Plateforme | Budget initial | Notes |
|---|---|---|
| Mobile (App Store / Play Store) | <150 MB initial | Au-delà = download Wi-Fi obligatoire, conversion -X% |
| Console PS5/XSX | <50 GB | Au-delà = blame le management |
| PC Steam | Pas de limite stricte mais <30 GB raisonnable | |
| Web HTML5 | <50 MB total assets | Loader perceptible au-delà |
| Switch | <16 GB cartouche | Coût cartouche si plus |
unity-patterns (ce plugin)godot-patterns (ce plugin)game-multiplayer-patterns (ce plugin)deploy-eas, deploy-app-store, deploy-play-store (atum-workflows)