3rd person shooter good practices

Hi guys! I’m having doubts about how it’d be best to implement weapon sound effects to a 3rd person shooter. Since the sfx of a player are more important than the other characters, but everyone shares the same weapons, how would it be the best way to tackle this? Duplicating weapon sounds with different settings, assigning in code every different aspect of the sound, depending on who’s shooting?

What problem are you anticipating that needs a solution?

Is it that you expect NPC sounds to be dropped in some cases to save memory, but want the player character’s SFX to always play? If so, many users simply rely on keeping the listener close to the player character, in combination with distance- or loudness-based virtualization.

Is your concern that you want to make the player character’s SFX sound distinct from those of other characters? If so, that comes down to sound design, and can be achieved by creating a set of events for player SFX that differ from those used by NPCs.

Or is the problem you want to solve something else?

It’s more on the implementation side. If an enemy and you are using the same weapon, how would it be best to implement it? Although I didn’t think one way could be to have a slightly different sound of weapon, I’d like to see if there are other good takes on the matter.

The “best” way to handle this depends on each game’s unique requirements.

Most FMOD Studio users, when making third-person shooters of the kind you describe, simply create an event each weapon type, and use it for both the player character and NPCs. Spatialization and context generally make it clear who is firing at any given time, removing the need to further distinguish who is wielding the weapon.

That said, some games have additional requirements. Perhaps a game might need to indicate the player character’s remaining ammunition after each shot, or to muffle shots made by NPCs whenever the player character is wearing certain headwear, for example. Such games may use different events for the player character and NPCs, or include parameters in their events that allow their behavior to change depending on the character from which they originate, or even have additional events that play in addition to the standard ones in some circumstances.

Hi @ Sirevanac!

I think you can find your answer by looking in your design document, or your game design in general.

If you think about the weapon shooting sound as a notification of an event to the player, would you like to give the player the information that something different from the player’s weapon is shooting? (Don’t forget here that usually the player already knows it’s another character shooting, cause he/she didn’t press fire). Or it would be better to give the player that the other character has the same weapon?

In general think that every sound in a game is there for a reason, and if you look deep enough in your own designs, you’ll know the reason that this sound is there, and by extension will be also able to answer your question, in the best interest of your game’s mechanics who generate fun for the player, and the player’s experience.