Blindside 3 - Stat Juggling 11/26 '14
Since the last Blindside post I've implemented the majority of the in-game scripting language, which I am calling Sai. I don't want to go into a lot of detail about it but technically I will say that I'm pretty happy with it as a language in general. I do need to write up documentation for it which will be interesting slash annoying but for the moment I am setting it aside and returning to the issues of game balance and derived stats.
For those just tuning in, there are twelve base stats: power, magic, empathy; defense, dogma, sagacity; accuracy, speed, stealth; essence, constitution and ego. (Two of the last three have changed; essence was awareness and ego was charisma; the concepts are somewhat similar in intent but the names are now clearer.)
Each character starts off with a unique but balanced set of those twelve base stats ranging from -5 to +5, depending on gender, race and class. They're balanced because they sum to zero. As a game designer, I want to make gameplay different in interesting ways for each character so the game has replayability. When the game starts, I will offer the player several free skill upgrades so they can further customize their character.
So let's talk about derived stats, or how those base stats are used to arrive at the numbers the game uses in its calculations. (I'm not going to detail the formulas, just talk about derivation in general.)
Our first three derived stats are health, mana and stamina. Health is largely based on the constitution stat and is the familar "hit points" metric, or how much physical damage you can take. In the game, physical health will be handled somewhat realistically; you can't just swig a health potion. I want players to generally regard combat as a high risk activity, something you do only when you must, and then only when you are well prepared. If you take damage, you will recover some of it slowly on your own to a degree as your body heals itself, but getting back to full health will require intervention.
Mana, the resource used by casting both types of magic is based mainly on the ego stat, and represents how much mental focus and disciplin you have. Mana will regenerate fairly quickly on its own, but a period rest will be required to restore it to full. I don't intend to allow you to cast spells like machine gun bursts, but on the other hand characters who are physically weak but have powerful magic should still be competitive in combat.
Stamina grants you the ability to perform sustained physical activity without becoming winded. The more stamina you have, the more swings of a sword you can take, the farther you can sprint, and so on. You will be allowed to exert yourself to exhaustion in battle if you wish, but if you do so you will need to catch your breath before taking further actions. Stamina is mainly derived from the base stat of essence, an interpretation of the concept of chi or body focus. Essence, like constitution and ego, also affect other derived stats where appropriate.
Our next three derived stats are defense modifiers for to recevied physical, magical and empathic attacks. Largely based on defense, dogma and sagacity, they do also include some influence from constitution, ego and essence. Defense modifiers are straight percentage modifiers and are intended to take into account the character's familiarity with differing forms of attacks. For example, a character skilled at physical combat will naturally know how to reduce the effects of a physical blow to her body.
At this point, the realm of physical attacks splits into three specializations. Very generally, strength attacks use blunt weapons, dexterity attacks use sharp weapons, and accuracy attacks use pointy or projectile weapons. And so there are three derived stats for physical attacks -- bash, slash and pierce -- that model competency at perpetrating these three types of attacks. Bash is logically based on the base stat of power, slash on speed, and pierce on accuracy, with additional modifiers. There are also two derived stats for magic and empathic attacks which are primarily based on magic and empathy, with modifiers as well.
Finally, the base stat of speed has its own effect on gameplay as the speed factor; the faster your character is, not only the higher your slash attacks, but the faster the game will complete your commands! This effect is very small but can make a difference in some combat situations. So if you're playing a Pixie and you have a Justice for a companion and notice that you keep getting ahead of them, that's why -- they're the fastest and slowest characters in the game respectively. (Interestingly, because of the high speed, Pixies can do frightening amouts of damage with edged weapons due to their high slash modifier -- and though the Justice is a slow and plodding character their very high power makes them just as dangerous with a hammer!)
Balancing all of these stats is where I'm spending my time right now. I have some fairly impressive spreadsheets being auto-generated by the game engine where I get an overview of all the possibilities for each character that can be created. Not just of these derived stats, but of combat consequences, like damage output to stamina exhaustion for different types of weapons.
I'm just at the point where the spreadsheets look "good enough" so it's time to start actually running simulations that pit characters against each other to see who wins. Which will also give me some initial passes for NPC artificial-intelligence!
It's kind of exciting, but also kind of scary. I'm a little worried that the huge amount of work I've done so far in creating the stats and the combat model will actually be impossible to balance. But on the other hand, I feal reasonably sure that I'll be able to sort out most minor issues.
So really the question is, have I taken a huge misstep?
The next week or so will tell.