Hi there!
This is just a simple thing that I find so extremely useful when working with your peers over a game, that might save both parts long minutes of work if it’s not already too late.
Organization is crucial, and thousands times more important when working with more people. When I worked on my first mobile game, the programmer told me not to keep changing the names of the same SFX whenever I delivered new versions, or else he would have to change the instances of that particular sound effect in the scripting. Well, that’s boring.
But it’s also a mess to look at a list of sfx already chosen – or if you deliver a list like that you should be fired, honestly – which file names are something like this:
354789_authorname_randomnameofthesoundeffecthedecidedtoname_moreconfusinginformation_654
AMAZING SOUND FX FROM HELL – sound effect 01
_rain_MYSounds_PinkGiraffe
Ok! We are not saying we aren’t keeping a track of the original sound files, if you use them. If you are geeky organized, you would make a list with the initial name and the new ones (when you are asked to just mix and EQ what the game dude picked up from free royalty sites). Or, in your DAW, probably you see the original name on the audio clip.
So, actually when I was working on my first game, the guys were organized, which led me to keep this very cool method of naming my SFX.
We divided the SFX in categories (now updated by me, and in English):
- interface
- in-game fx
- ambient sounds
- hazards
- enemies generic
- enemies
- avatar
Interface SFX – all that has to do with menus, and player pressing buttons that won’t lead to a particular character feature. For instance, if you press a button to trigger a melee attack of your character or its special ability, you are within the “main character” category. Interface will be the main menu, the store, the advance level button between levels and so on.
In-game FX – almost the opposite of the above. In-game fx are the ones which occur when Mario pick up the coins, the rewarded jingle you listen when you complete the level, or the clock ticking when you are running out of time.
Background Sounds, or ambient sounds, if you prefer, is the gelid wind blowing to freeze your bones, the little bird on the tree singing that will not interfere with your game-playing. Ambient Sounds don’t trigger any event, they are the decoration of the Christmas tree. At least, on my list. 🙂
Hazards are the ambient sounds and stuff that do cause things to happen; usually damage, like rocks falling on your head, or a gigantic tree branch that pokes you and takes life points from you. They are not your enemies, you just need to avoid them as you can.
Enemies Generic are the common events and sounds between the different enemies. For example, if they all appear in the game through a portal, this might fit in the category. If 2 similar enemies make the same sound when dying, then it’s an Enemy Generic.
Enemies are of course the characteristic sounds of each one.
Avatar, obviously the same as the above: characteristic sound, dying sound, being ass-kicked sound, kick the ass sound and so on.
These are the categories in which I divide the sound events. They somewhat help me organize the ideas and thoughts of what I should create and how they relate to each other. If you have other ideas, please go ahead and share them.
Now, how I name these files, finally. It has all to do with what I wrote above. Let me give you some examples: I have a play and a back button for the main menu:
INTF_bt_play
INTF_bt_back
In some other game, I have a sound for picking up a coin, and a sound for dropping them:
IGFX_coin_PickUp
IGFX_coin_dropp
For the Background Sounds it varies: if I have distinct ambient sounds for different worlds I will do it like this:
BSW1_wind
BSW3_bug01
If they are general, I’ll just choose something catchy like BKFX. I always stick to 4 letters, so when I look at the folder with files listed is so much easier to look, search and find.
The same will happen for Hazards:
HZRD or HZW1
And for the Enemies Generic:
ENGN_bones_destruction
ENGN_portal_open
This maintains for a specific enemy and main character, avatar or hero. Let’s say Muffin-Man is the hero and Robin is the enemy. Muffin-Man has a characteristic sound that he might perform when he’s in idle state:
MUFM_CharacteristicSound
When he attacks Robin:
MUFM_WaterAttack
Robin screams:
RBIN_GetsDamage
Alright, got the idea?
Whenever I make a new version, I add the number of that version to the end of the file: ENGN_bones_destruction_03 but keeping a single name for the programmer, like _00, or at your taste.
Hope it helps someone, and please leave other ideas in the comment section.
Happy file naming!
Very helpful. Thanks for the hints!
Hey, great! Glad I could help.