Today I’ve been reworking how combat stats (most importantly attack and defense) function in Cardinal Quest II. This blog entry’s going to be quite dry and mathsy, so if that’s not your bag feel free to come back on Wednesday when I’ll have more screenshots. 😀
See, design work isn’t all about interfaces and player choice. In many games you also have these systems on the back end handling damage, % to hit, movement speed, etc. This is where tables of statistics come in, and balancing those statistics is super important to balance units – but before that you need to nail down how the statistics interact, what calculations they get involved in, and that’s system design.
Cardinal Quest 1’s “chance to hit” formula is the main thing I’ve been tweaking today. It uses two stats – the attacker’s Attack stat and the defender’s Defense stat.
% to Hit = 100 * Attacker.attack / (Attacker.attack + Defender.defense);
To really understand how even a pretty simple formula works you need to visualise it. It’s a good place to break out a spreadsheet, run the numbers and draw some graphs.
The important thing is, the lines go up! The higher your attack stat, the more often you’ll hit your target. Also, lower Defense stats on your enemy mean you’ll hit them more often.
That’s groovy, but… there are some issues here. Firstly, the exact number for each stat gets less important the bigger it is. The difference between 1 attack and 2 attack or 1 defense and 2 defense is huge, but there’s hardly any difference going from 6 to 7. Â Secondly, almost all of our % to hit calculations are bunched in between 40% and 70% to hit. That’s going to make our classes feel a bit samey in melee combat.
We’ve got a system where, halfway through the game, adding 20% to your attack can alter your chance to hit by less than 5%. That was fine for CQ 1, but in Cardinal Quest 2 with its talent tree system, every single point needs to matter. So this has to change.
Here’s where we need to lay down some goals for redesigning the system.
Continue reading »