Thoughts on Naming Conventions in Game Audio

 Newsflash: Naming is hard. 

While the Universal Category System is brilliant for naming and organizing recordings, it's a bit lengthy for naming your sessions and rendered files. And since every project is different, there isn't much of a need for a universal system. While you'll always have unique needs, that doesn't mean it isn't beneficial to have ideas and shortcuts in mind that will make your job easier. I really enjoy thinking up good solutions for naming and organization, and I figured I'd use this blog to talk about it a little bit! 

Cohesion between Reaper Sessions, Assets, and Middleware

I try my best to keep my naming consistent between all stages of my projects. Parent Reaper sessions, subprojects, assets, and my Wwise files all follow similar systems in order to make it incredibly simple to find and edit files when I need to. My basic workflow for any new asset is as follows: 

  1. Create a parent Reaper session to house everything I need for this specific task. Example: ParentSession_Weapons
  2. Create subprojects within the parent session for each known element to the task. ie; within the Weapons session, I'll have subprojects for Weapon_Axe , Weapon_Sword and Weapon_Bow.
  3. Design all assets in their respective subprojects, and render them all to the parent session. I'm not too concerned about the naming WITHIN my subprojects, as the actual rendered files will only be in the parent session. 
  4. In my parent session, set up Regions with my Container name, and rename the assets based on those containers.
    Example: WPN_Axe_Whoosh_Short_01 
  5. Utilize the magic of ReaWwise to import everything into Wwise, into the proper heirarchy (which also follows the same naming structure). 

Naming Convention documents and iteration

The earlier you can establish a naming convention, the easier everything will be as you continue adding to the project. For me, personally, I use a system similar to the UCS system, but shortened to be easier to handle in-engine. It looks like this: 

CAT_Subcat_Descriptor_Subdescriptor_Looping?_Enumeration

Cat - a three or four letter major category. Think of things like: 
FLY (Foley)
WPN (Weapons)
ABI (Abilities)
AMB (Ambience)


Subcat - the specific item within the category. Can be shortened if need be, but I usually keep the full name and CamelCase separate words.
WPN_Axe
ABI_FireBall

Descriptor - A detailed description of the asset's role
WPN_Axe_Swing
ABI_FireBall_Cast
VO_Player_Attack

Subdescriptor - Used if I need to explain an asset's role in more detail. Usually this comes down to things like speed, size, material, or any other additional information that would be useful. 
WPN_Axe_Swing_Large
AMB_Forest_Wind_LightLeaves

Looping? - This is simply an easy way to recognize which files should be set to looping. 
AMB_Forest_Wind_LightLeaves_lp

After all of this is enumeration. I typically make sure to use two-digit enumeration and put a "0" before my single-digit numbers. I find it looks better. 

I also sometimes see folks preface their files with the project name or shortened project name. For instance, if I worked on Rogue Legacy, I might put RL_ at the head of the file name. 


Spreadsheets are your friend!
Seriously, spreadsheets are so helpful, at every stage in the project. I highly recommend getting used to some basic Google Sheets or Excel commands and utilizing them for your project organization. 


Here is a Google Sheets template you can use with the categories defined in this document if you want something to start off with!


None of these naming conventions are ever set in stone, and project needs will change how I'm naming files. That in mind, I do enjoy the challenge and satisfaction that comes with creating a robust, understandable, useful naming system. I hope this brainstormy blog is helpful in some way! 

Comments

Popular posts from this blog

What to Look For in a Game Audio Education

Freelance Audio Rates Brainstorm