Friday, December 21, 2012

RM2K3 Algorithm Fix (Well...)

I can't review the rm2k3 help file because of Windows Vista, but the internet says that the help file says that the skill damage algorithm is:

dmg = base + (atk/20 * Atk Influence) + (def/40 * Int Influence)
NOTE: I believe Magic Defense (MDF) = 1/8*INT. I don't know how it factors in but it does where INT is involved.

Through some experimentation, I have concluded the help file to be mistaken. When I tweaked Character DEF or Enemy DEF there was no difference in skill effect (for magic influenced skills). Therefore, I conclude the actual skill algorithm to be:

dmg = base + (atk/20 * Atk Influence) + (Int/40* Int Influence)

Still not happy with Rm2k3? I recommend upgrading to RPG Maker VX Ace anyhow, but if you can't, here's what else I recommend:
Try to imitate either "Lunar the Silver Star" or the remake "Lunar SSSC."

In the original Lunar on Sega CD, spells always did ~exact damage. The spell list for each character tended to be huge. Later spells are the stronger versions of earlier ones which become obsolete.
To do this, enter the desired damage for a particular spell into the effect rating box and make many more.

For the remake on PSX, the effectiveness of spells was clearly influenced by the characters' growing stats. Nash for instance has only 3 lightning spells instead of 11.
To do this, go into your attributes page and crank up the numbers for Magic attributes only. The C value should be 400% because INT is divided by 4.
A = 800.....the new Double
B = 600.....1.5x
C = 400.....1x or normal
D = 200.....= half
F = 100......= 1/4 (or 0 for 0)
Now, for the Skill. The skill's Effective Rating field works fine at 1. As a result, at the C value, the damage from a spell will now reflect the INT stat +/- variance.

Want some variety? Maybe you want your Fireball spell to be weaker than your Lightning Bolt spell. Create a new Magic Attribute for your Lightning Bolt spell, and set the C value for say, 500 (=1.25x stronger than Fireball!). Now, Lightning Bolt does INT*1.25 damage and Fireball does INT*1 damage. All your spells should have their own individual Attributes.
NOTE: Multiple attributes on 1 skill can get complicated.

I find that it's helpful just to set the ATK/INT influence to 10 because it simplifies the math (Wikipedia commutative property), which now looks like this:
dmg = base + (atk/20 * Atk Influence) + (Int/40* Int Influence)
dmg = base + (atk/20 * 10) + (Int/40 * 10)
dmg = base + (10/20 * atk) + (10/40 * int)
dmg = base + (1/2 * atk) + (1/4 * int)
 *for magic, attack influence is 0, right? So, Dmg = base + 1/4INT.
 Final formula is probably, Dmg = base + 1/4INT - 1/8INT.

Did you follow that? This is why I suggest a 4 base (400%) number system.

*This idea doesn't work for the Normal Attack algorithm (Atk/2 - Def/4 = dmg).
Atk is multiplied by 1/2. You could cancel it out by creating Weapon Attributes where the value for C is 200. Now it's Atk * 1/2 * 2; effectively Atk*1. (NOTE: The damage formula when Characters attack Enemies is now effectively dmg = ATK - DEF/2 instead of DEF/4. Whatever number is in an enemy's DEF field is halved now, not quartered.)
Here's the problem with this. Enemies do not have attributes for their normal attacks, so they will still use the old algorithm when they attack. You could improvise by giving enemies a "dummy skill" as an alternative in place of a basic attack. This means you'll see a lot more of that "SKILL NAME" window in battle. Not pretty. Also, skill accuracy is not affected if the enemy is blinded. If you do this anyway, make do with the original algorithm for enemies and adjust their stats accordingly.
Another problem is characters do not have attributes for their attacks if they are unarmed.

At least you can do some neat stuff with skills!