Meilleures pratiques en matière de nomenclatures

Contenu sonore pour les jeux vidéo

Cet article a été initialement publié par Can Uzer sur son site web.

Qu'est-ce qui fait une bonne nomenclature dans le développement de jeux vidéo, et pourquoi devriez-vous y penser ? En termes simples, une nomenclature est un ensemble de règles qui définissent comment certains types d'assets, tels que les clips audio, les animations et les sprites, doivent être nommés. En tant que concepteur sonore de jeux vidéo gérant de grandes quantités d'assets audio, j'ai appris qu'une nomenclature claire et cohérente est essentielle pour rester organisé et efficace. Bien appliquée, elle peut considérablement améliorer le flux de travail, réduire les erreurs et faciliter la communication entre les équipes. Dans cet article, je vais vous donner des conseils pratiques pour vous aider à nommer vos assets plus efficacement.

Commençons par les avantages évidents qu'apporte une bonne nomenclature :

  • Faciliter la navigation et la recherche : trouvez rapidement les fichiers dont vous avez besoin sans frustration.
  • Organisation logique : les fichiers sont triés dans un ordre pratique et facile à comprendre.
  • Simplifier le travail par groupes d'assets : le renommage et autres opérations effectuées de manière groupée sur de nombreux fichiers deviennent une opération simple.
  • Potentiel d'automatisation : permet la création de scripts puissants et l'automatisation des tâches impliquant le traitement de chaînes de caractères.
  • Amélioration de la lisibilité du code : le code est plus clair et plus intuitif lorsque les noms des assets sont cohérents.
  • Cohésion entre les assets : une nomenclature cohérente entre les différents départements comme l'audio, l'art et l'animation permet aux équipes de rester alignées.
  • Archives lisibles : les structures de fichiers restent claires et bien organisées au fil du temps.
  • Satisfaction pour les perfectionnismes : un de mes préférés—il y a quelque chose de satisfaisant à voir que tout est propre et ordonné !

Alors, comment définir une nomenclature fiable et efficace ? Vous trouverez ci-dessous quelques principes et idées clés à intégrer à votre système de nommage de fichiers, accompagnés de quelques exemples pratiques.

Qualités essentielles d'une nomenclature fiable

  1. Informative mais concise : incluez suffisamment de détails sans en faire trop (par exemple, ui_button_select).
  2. Structure hiérarchique : organisez les sections en allant du plus général au plus spécifique (par exemple, environment_forest_bird).
  3. Tri logique : assurez-vous que les noms conservent leur sens lorsqu'ils sont classés par ordre alphabétique.
  4. Majuscules et minuscules cohérentes : respectez un style cohérent, comme le camelCase, le PascalCase ou le snake_case.
  5. Numérotation uniforme : utilisez une numérotation cohérente selon le nombre de fichiers prévus (par exemple, 01, 02 ou 001, 002). Évitez les chiffres uniques pour garantir un tri correct (par exemple, évitez des cas comme pig_minion_1 alphabétiquement suivi de pig_minion_10).
  6. Cohérence grammaticale : utilisez des formes verbales, des noms ou des suffixes cohérents (par exemple, cha_sonic_spin vs. cha_sonic_spinning ; bomb_activation vs. bomb_activate).
  7. Formes lexicales cohérentes : adoptez une orthographe standard pour les termes ambigus (par exemple, ambiance/ambience ou flyer/flier).
  8. Cohérence des temps et des nombres : assurez-vous que les temps verbaux et les pluriels restent uniformes (par exemple, chest_destroyed vs. chest_destroy ; coins_collect vs. coin_collect).

Exemples de nomenclatures

Il peut être utile de documenter votre nomenclature à l'aide d'une formule pour garantir la cohérence entre les différents éléments. Voici un exemple de format logique et cohérent :

type_category_?subcategory_?action_?subcategory_?01
(Remarque : le signe « ? » indique les catégories facultatives.)

Quelques exemples utilisant ce format :

  • ui_button_select
  • ui_button_shop_purchase
  • gp_proj_fire_hit_small_01
  • gp_proj_fire_hit_small_02
  • gp_booster_bomb_activate
  • mus_core_jungle_01

Ces exemples illustrent plusieurs bonnes pratiques :

  • Les catégories vont du général au spécifique.
  • Les abréviations sont utilisées avec parcimonie afin de préserver la clarté.
  • La catégorie « action » est toujours un verbe, sans suffixes inutiles.
  • La numérotation est cohérente et facilite le tri.

Je vais vous donner deux exemples de nomenclatures appliqués dans la fenêtre Project de Unity. Vous pouvez décider laquelle vous semble la plus logique ou la mieux organisée (ou devrais-je dire, la plus sensée ?)

Unity-project-view-example-naming-1

 

Unity-project-view-example-naming-2

 

 Conseils supplémentaires à prendre en compte

  1. Évitez les noms trop longs : les noms trop longs peuvent encombrer l'interface utilisateur des outils. Concentrez-vous sur les détails essentiels.
  2. Soyez intentionnel avec les descripteurs : décidez s'il faut être explicite sur certaines caractéristiques. Par exemple, ajouter « loop » (boucle) à la fin du nom d'un morceau de musique peut clarifier sa nature répétitive (par exemple, music_theme_loop), mais l'omettre permet de garder des noms plus courts. Faites votre choix selon vos besoins de production.
  3. Mécanique ou thématique : Choisissez entre des noms liés à la mécanique du jeu ou à l'appartenance thématique (ou une combinaison des deux). Par exemple, un script pourrait s'appeler « ExplodingProjectile » (mécanique), tandis que le thème pourrait simplement être « Fireball » (thématique). Les concepteurs sonores et les artistes abordent souvent la mécanique du jeu sous un angle thématique, ce qui est tout à fait naturel. Cependant, il est également important de prendre en compte l'aspect mécanique lors de la dénomination et de la catégorisation des éléments, car cela peut apporter plus de clarté et de contexte dans certains cas.
  4. Utilisez les abréviations à bon escient : les abréviations permettent de réduire la longueur, mais doivent rester compréhensibles. Tenez-vous-en à des abréviations standard et cohérentes. Quelques exemples :
    • gp : gameplay
    • plr : player (joueur)
    • cha/char : character (personnage)
    • amb : ambience (ambiance)
    • mus : music (musique)

Détails sur les majuscules et minuscules

  1. Snake Case pour plus de clarté : je trouve le snake_case (mots en minuscules séparés par des traits de soulignement) particulièrement utile (par exemple, cha_red_attack_vo). Il simplifie les recherches, car les traits de soulignement isolent des termes précis (par exemple, « cha_ » appliqué comme filtre permet d'afficher la famille d'objets cha, mais évite de rentrer « characters »).
  2. Majuscules et minuscules pour mettre l'accent : envisagez de mettre les termes clés en majuscules pour plus de clarté (par exemple, amb_factory_main_STOP pour mettre en évidence les Events contenant un Stop). Vous pouvez aussi utiliser le camelCase pour les catégories composées de plusieurs mots (par exemple, enemy_fireDemon_death, où « Fire Demon » est une entité unique).
  3. Autres styles : le PascalCase, le camelCase et le kebab-case (oui, le kebab-case existe, même si kebap serait plus précis—faites-moi confiance, je suis turc) peuvent aussi être utiles selon les préférences de votre équipe.

À éviter

  • Noms non descriptifs : clip_01 (aucun contexte, aucune indication).
  • Séparateurs incohérents : awesome_sound1 (il manque le trait de soulignement avant le chiffre).
  • Structures de langage naturelles : PickupGreenEmerald—difficile à trier et à faire évoluer. Utilisez plutôt ItemGemEmeraldGreen.
  • Hiérarchie incohérente : boss_enemy_eggman devrait être enemy_boss_eggman pour un tri logique (« enemy » est plus général que « boss »).
  • Chiffres incohérents : GreatArt_1, GreatArt_2, GreatArt_10—on devrait utiliser GreatArt_01, GreatArt_02
  • Abréviations incompréhensibles : mus_stng_lvl_comp (euh… quoi ?).
  • Longueur excessive : sfx_env_forest_daytime_birds_chirping_loop_ambient_lowIntensity_01.wav (aïe).
  • Indicateurs de version : inclure les numéros de version ou autres indicateurs. music_battle_theme_epic_v3_finalMix_02 complexifie le nom du fichier—êtes-vous sûr que c'est la version FINALE finale (finale) ?
  • Terminologie incohérente entre les équipes : les fichiers audio sont nommés mechanic_woodbox alors que les artistes les appellent mechanic_crate. Ce genre de désalignement est source de confusion—veillez à maintenir la cohérence entre les équipes.
  • Évitez les espaces blancs : il est généralement préférable d'éviter d'utiliser des espaces entre les mots. Cela peut poser des problèmes pour certains outils ou utilitaires et n’est généralement pas recommandé.

Conclusion

Il n'existe pas de règle universelle en matière de nomenclature, chaque projet ayant ses propres besoins. Cependant, mettre en place un système bien pensé dès le départ, avec la contribution de tous les départements, permettra de fluidifier la production. Mieux encore, documentez votre nomenclature afin que tout le monde soit sur la même longueur d'onde.

J'espère que ces conseils vous aideront à nommer vos assets plus efficacement et à optimiser votre flux de travail. Bon renommage de fichiers !

Can Uzer

Concepteur Sonore en Chef

Rovio

Can Uzer

Concepteur Sonore en Chef

Rovio

Can (prononcé « John ») est un concepteur audio de jeux vidéo qui possède une expérience dans les domaines des jeux mobiles, PC/console, réalité virtuelle et médias linéaires. Diplômé de la SAE et de l'Université Aalto (master en conception sonore), il dirigeait auparavant son propre studio d'audio de jeux vidéo et travaillait avec diverses sociétés de jeux vidéo. Il travaille actuellement comme Concepteur Sonore en Chef pour Rovio/SEGA en Finlande, où il se concentre sur l'intersection entre la création, l'implémentation et la gestion de contenu. Quand il ne crée pas de sons pour des personnages emblématiques rouges et bleus (et ne brise pas des builds au passage), Can aime faire de l'exercice, jouer à des jeux (en particulier rétro) et se livrer à d'autres activités de geek.

canuzer.com

 @audiocan

Commentaires

Laisser une réponse

Votre adresse électronique ne sera pas publiée.


Plus d'articles

Les dessous du son de Headbangers: Rhythm Royale

Headbangers: Rhythm Royale est le premier jeu musical compétitif en ligne au monde. Vous y affrontez...

3.7.2024 - Par Charles Bardin

Utiliser Wwise pour contrôler des cinématiques temps réel avec le plugin Time Stretch de Wwise

Introduction Cet article est le premier d'une série de trois articles techniques de Jater (Ruohao)...

22.5.2025 - Par Ruohao (Jater) Xu

Système personnalisé de projection de la position du Listener de Wwise pour une vue 2D inclinée

Introduction Ceci est le deuxième article d'une série de trois articles techniques de Jater (Ruohao)...

28.5.2025 - Par Ruohao (Jater) Xu

Dans la tête d'Alan Wake 2 : distinguer les dialogues

Dans la tête d'Alan Wake 2 : série d'articles Dans la tête d'Alan Wake 2 est une exploration...

22.10.2025 - Par Arthur Tisseront & Taneli Suoranta

Dans la tête d'Alan Wake 2 : conception sonore des Échos dans Wwise

Dans la tête d'Alan Wake 2 : série d'articles Dans la tête d'Alan Wake 2 est une exploration...

29.10.2025 - Par Tazio Schiesari

Dans la tête d'Alan Wake 2 : le rôle de l'assurance qualité audio

Dans la tête d'Alan Wake 2 : série d'articles Dans la tête d'Alan Wake 2 est une exploration...

12.11.2025 - Par Adam Butterworth

Plus d'articles

Les dessous du son de Headbangers: Rhythm Royale

Headbangers: Rhythm Royale est le premier jeu musical compétitif en ligne au monde. Vous y affrontez...

Utiliser Wwise pour contrôler des cinématiques temps réel avec le plugin Time Stretch de Wwise

Introduction Cet article est le premier d'une série de trois articles techniques de Jater (Ruohao)...

Système personnalisé de projection de la position du Listener de Wwise pour une vue 2D inclinée

Introduction Ceci est le deuxième article d'une série de trois articles techniques de Jater (Ruohao)...