Implementing
Spell Sounds
Spell sounds
Overview
Spells (Magic > Spells) consist of one or more Magic Effects (Magic > Magic Effects). Every Magic Effect can define several Sound Descriptors for it to use: Draw/Sheathe, Charge, Ready, Release, Cast Loop (Conc.), and On Hit. Not all of these sounds are needed by every spell. Some spells need additional sounds: the definition of these other sounds might be hidden inside Effect Shaders (SpecialEffect > EffectShader), a projectile's Impact Data (SpecialEffect > ImpactData), or in the code itself. :todd:
Sound Descriptor Naming
Spell sound descriptors follow similar naming rules to others...
_mag_[school]_[spellName]_[soundName][2D][lp/m]SD
School: The magic school, eg: alt, conj, des, ill, mys, res
Spell Name: Name of the spell in camelCase, eg: fireShield
Sound Name: Name of this sound in camelCase, eg: drawSheathe
2D: Include is sound is stereo
LP/M: Include if sound is a loop (lp) or envelope loop (lpm)
SD: Indicates that this is a Sound Descriptor
// Examples
_mag_alt_fireShield_drawSheatheLPMSD
_mag_mys_absorbMagicka_release2DSD
_mag_res_fortifyAttribute_chargeSD
Sound Descriptor Attributes
Below are good starting attributes for any spell sound descriptor.
Here are the general philosophies:
Output Models should default to a regular "Verb", and only deviate to "NoVerb" if there is an in-world reason (e.g. the sound exists in your head), or deviate to "ExtraVerb" if the sound will usually be heard from a distance.
Output Models should default to ~02000 range and deviate from there.
A dB variance of 2db is nice and subtle, so we'll use it as our default. No db variation is preferred for long looping sounds.
A frequency variance of 5% is nice and subtle (approximately one semitone in either direction), so we'll use it as our default. If it is a long looping sound or has a lot of tonality, 2% might sound better. Only use 0% if you must sound in-tune with other elements.
For rumble, I'm just sticking with how Skyrim did it (lazy dev)