Although my Dwarven Engineer proved a more entertaining diversion in retail than in beta (perhaps due to a better understanding of why all those AOE attacks are so unusual) I’m clearly burnt from Warhammer Online again. However, before returning to my BYOND world, and in commemoration of the upcoming Fallout 3 release, Ive decided to take one last run at an Elder Scrolls IV: Oblvion plugin.
One More Run At Oblivion
While I created a fairly ambitious balance plugin in the past, my actual goal this time around is a bit simpler: I want to make the combat a lot quicker and better balanced. Although Bethesda certainly got away with it, Oblivion had a number of unfortunate artifacts in their game design balance which shows that the product was rushed to the door. The Unofficial Oblivion Patch claims to have found 1,800 bugs (though I wonder how many of those bugs are just differing opinions).
My concern is just with the general combat balance. The end game in Oblivion is pretty pathetic, involving hitting monsters dozens of times before they succumb. I’ve played some of the best player-produced mods out there, and none of them have really fixed this fundamental problem. What I’m going for is not a minor re-balancing (as in Obscuro’s Oblivion Overhaul) nor a clumsy quick fix (too many plugins to list), but rather a complete re-understanding of the Oblivion RPG mechanism and seeing what I can do about it with the variables they allow me to change via the TES Construction Set.
The Elder Scrolls IV: Oblivion Damage Calculation
This begins with simply understanding how damage is calculated, and that’s an incredible task in itself. The damage calculation in Elder Scrolls IV: Oblivion is, in a word, monstrous. In a more fair word, overambitious.
Where a typical good RPG attempts to make the player character’s damage something easy for them to understand and control, Elder Scrolls IV horribly mangles the damage curve with a cumbersome formula that tries to merge considerations of your attribute (e.g. Strength) your skill level (e.g. Blade) your weapon’s current condition, and even how fatigued your character is.
The base weapon formula apparently looks like this:
Damage = WeaponDamage * ((Fatigue/MaxFatigue + fFatigueBase) * fFatigueMult) * SneakMultiplier * PowerAttackMultiplier * OpponentArmorRating * OpponentWeaponResistance
WeaponDamage = BaseWeaponDamage * fDamageWeaponMult *
( fDamageStrengthBase + Attribute/100 * fDamageStrengthMult ) *
( fDamageSkillBase + ModifiedSkill/100 * fDamageSkillMult ) *
( fDamageWeaponConditionBase + WeaponHealth/BaseWeaponHealth * fDamageWeaponConditionMult )
BaseWeaponDamage comes from the weapon itself, although in the case of bows it’s the arrow added to the bow. WeaponDamage should be visible on the actual stat screen within the game under a little dagger icon.
You can check the rest of the OESP article for how SneakMultiplier, PowerAttackMultiplier, OpponentArmorRating, and OpponentWeaponResisence factors into that. I had to modify it a bit to get a bit closer to the truth because somebody took it upon themselves to substitute base values where configurable global variables (such as fFatigueBase) would go.
Hand-to-hand (unarmed fighting) damage is a little easier to handle because there is no BaseWeaponDamage or condition concerns. Unlike the butchered OESP article, the official formula is faithfully preserved on the official Elder Scrolls Construction Set wiki.
Hand-to-hand Health Damage = fHandHealthMin + (fHandHealthMax – fHandHealthMin) *
(Strength / 100 × fHandDamageStrengthMult + fHandDamageStrengthBase) *
(HandToHand / 100 × fHandDamageSkillMult + fHandDamageSkillBase)
Hand-to-hand Fatigue Damage = fHandFatigueDamageBase + fHandFatigueDamageMult * Hand-to-hand Health Damage
Interpreting That Mess
To help interpret all this mess, I’ve made a spreadsheet document. What I learned is that these are all set up to modify a basic value in such a way that it is equal to (or close to equal to) its basic damage value if the values are set exactly in the middle. For example, an Iron Dagger (10) comes out as only a little over 10 given half fatigue, half maximum attributes, half maximum skill, and half weapon condition. The actual amount of influence of each aspects could be summarized thus:
At zero fatigue, weapons do *2 damage. At half fatigue, weapons do *3 damage. At full fatigue, weapons do *4 damage. You’re essentially doing half damage at zero fatigue and double damage at full fatigue.
At 10 attribute, weapons do *0.8 damage. At 50 attribute, weapons do *1 damage. At full attribute, weapons do *1.25 damage. You’re essentially doing 25% less damage at zero related attribute and 25% more damage at maximum related attribute.
At 10 skill, weapons do *0.35 damage. At 50 skill, weapons do *0.95 damage. At full skill, weapons do *1.7 damage. From the baseline, you’re essentially doing about 70% less damage at zero related weapon skill, about 70% more damage at maximum related weapon skill.
At 10% weapon condition, weapons do *0.55 damage. At half weapon condition, weapons do *.75 damage. At fully repaired condition, weapons do *1 damage. At 125% repaired condition (possible with expert armorer level) weapons do *1.13 damage. You’re essentially doing 13% more damage on a expertly repaired weapon, or down to just over 50% damage just before the weapon breaks and becomes unusable.
So that’s the balance as it stands by default. We can draw a few things from these numbers in terms of how massive of an influence each aspect the attack is. There are a few other aspects to consider such as power attacks (which is 250% by default except of the central power attack which triples it) and backstabbing (which is not compatible with power attacks and essentially doubles, triples, or quadruples it based off of your sneak rating). However, the base damage is the key to remember.
Defensive considerations
We’re not done if we’re actually trying to harm things, as coming into contact with a foe has to resolve their armor and other protections before getting at those juicy hitpoints. Fortunately, the way damage actually influences the target is much simpler. Each armor piece worn adds a direct percentage of damage taken away from the blow, with total armor worn determining your overall percentage of damage mitigated (no more than 85% by restriction of the default fMaxArmorRating setting). There’s a random roll done each time you’re hit to see which part of your armor is damaged.
Defense is simpler than resolving attacks because fatigue doesn’t get involved, although armor condition still does in a matter pretty identical to weapon degradation. Blocking also takes away a fraction of your damage depending on certain global variable setings and if you’re blocking unarmed, blocking using a weapon (all weapons are the same here), with blocking using a shield granting a sizable bonus. Anything that’s left over is taken out of your hitpoints, and reach zero hitpoints to die/kill things.
So, knowing where we are now, where do we go from here? That’s the decision of the meddling game designer.
Making Changes Starts With Choosing a direction
As I said, the RPG mechanic in Elder Scrols IV: Oblivion is absolutely monstrous overambitious in that it obscures too much from the player to intelligently play it. Judging by how monotonous the later game combat is, I suspect it was too tough for the developers to tackle either: There’s no way of knowing if a level 20 player is doing 124.31 damage (Daedric Claymore under the best possible conditions) or 10 damage (a terrible-condition Daedric Claymore wielded by an out-of-breath minimal related skill/attribute diplomat character). Consequently, all the happy scaling in the game breaks down and dies.
It’s just too hard to balance a game around heavy influences from fatigue, attribute, skill, and weapon condition and expect the player to keep up. If I’m going to work with this at all, I’m going to have to mitigate some of those extraneous variables.
Fortunately, elimination or severe mitigation of those extraneous variables is possible thanks to having control over each variable via the Elder Scrolls Construction Set Gameplay>Settings list. I can set fFatigueMult to near or at zero and simply have fFatigueBase take over, and the same goes for fDamageStrengthMult and fDamageStrengthBase as well as the fDamageConditionMult and fDamageConditionBase. The resulting formula looks something like this:
WeaponDamage = BaseWeaponDamage * 1 * ( 1 ) * ( 1 ) * ( 1 ) = BaseWeaponDamage.
A very simple formula that says your damage is entirely dependant on your weapon no matter what condition it is or how strong you are, ect. Maybe I don’t want to go that far, and just really reduce the influence of extraneous aspects. That’s a decision to make when I choose a direction.
it’s important that I choose a direction. I need to have a goal. My main goals remain as I said in the start: “I want to make the combat a lot quicker and better balanced.” Quicker means I want combat to be resolved faster. Better balanced means I want to make player interaction more meaningful. I’m left with the following actions:
- Speed – Because I want combat to resolve a lot quicker, I need to cut down on the amount of hitpoints possessed by mobs and players a great deal, and create a lot less desparity between the most powerful and least powerful attacks so the balance seems more reasonable. I’ll think in terms of “how many attacks maximum and how many attacks minimum is acceptable” and throw in aspects such as “how will influence affect this, and how about spells” and arrive at a decision.
- Interaction – In Elder Scrolls VI, you do have some choices you can make. Sneak attacks, Marskman attacks, spells, blocking, and directional melee attacks. By balancing around these heavier, I make the players use of these interactive aspects more important than simply hacking away.
Another thing I’d like to do is make Hand-To-Hand combat actually worth doing. By default, it’s an art that is both greatly inferior to weapon damage and does not have the capacity to block as well. The ability to do fatigue damage is mitigated by a hard coded restriction in how much negative fatigue a mob can rack up, making knocking them unconscious for extended periods impossible. I’ll likely take Hand-To-Hand in one extreme or the other (defense or offense).
It would be nice if I could create a point to there being an “Axe” versus “Blade” skill. Right now, it’s a very crude and poorly implemented choice. I don’t think it will be possible for me to fix this due to hard-coded restrictions. It would have been wiser of Bethesda developers to make it a “one-handed weapon” or “two-handed weapon” skills. I could potentially modify the game to work this way. (At least Marksman makes sense.)
I think much of this is going to start by tweaking fatigue, strength, and skill (the PC attribute) to have a much lesser effect on the overall damage inflicted on the foe. I’ll start tweaking and let you know how it turns out…
Edit: There, Version 0.1 Released
http://www.tesnexus.com/downloads/file.php?id=20447
Have fun with that, you crazy Oblivion lovers. If I get any notice at all, I might go about creating some additional plugins to deal with the necessary NPC hitpoint adjustments to core Oblivion and Shivering Isles.
Filed under: Original Game Development | 3 Comments »