Kab's Unleveled Spells
Posted: Tue Aug 10, 2021 1:56 am
The new Skilled Spells
Introduction
Ever since I've started playing Daggerfall, and through developing my released magic mod, Skilled Spells, I've been thinking about how to "balance" magic a bit. In certain ways, it's extremely strong compared to the other options, but at the same time, spell points drain very quickly for a dedicated magic user, and can only be regenerated through resting, which is not available in all situations.
Since the release of Unskilled Spells, I've been working on new spell points costs for all the magic effects in the game. A spell in Daggerfall is a "bundle" of effects, and for each effect, up to three attributes can be involved: duration, chance, and magnitude (usually one or two). These attributes usually have a "base" value that remains constant and a "scaled" value, which scales with player level (ex: 2 rounds + 1 round per 1 level). For each effect, 3 cost values are assigned for each attribute: base, scale, and flat. Base cost is multiplied with the base value, scale cost is multiplied with the scale value divided by the "per level" value, and both of these are added to the flat cost (usually 0).
Ex: Climbing's Duration costs are 20, 20, and 0.
Given a Climbing effect of 5 rounds + 3 rounds per 2 levels:
5 * 20 + round_down(3/2) * 20 + 0 = 100 + 0*20 = 100 gold (about 20-25 spell points at 5 skills, I think?)
The actual formula is more complex (ex: this is modified by skill), but that's all we need for now. There's some issues with this approach. Even ignoring the outdated integer division issue, we see that Climbing's duration scale cost makes no sense. 1 round of Climbing costs as much as 1 round of Climbing per level. At level 1, both values are equal, and at every level after that, you always get more for the same cost by taking the scaling value instead of the base value.
And it's not even the worst. Many effects, like Jumping, Shield, Continuous Damage, Free Action, ... have scale costs that are cheaper than the base cost, and thus are better even at level 1. Even in the good cases, usually, by level 8, you're better off leaving the base value at 1 for all your spells, and only take scaling values.
In the current DFU, there's no way to make this really interesting, where balancing base and scaling values would make a good spell.
So, for this new mod, I got rid of scaling value entirely.
Unleveled Spells
"Unleveled" mods are popular in a certain part of the DFU community, and I'm not usually included in this, but I thought it would work for spells. It's not really surprising that later Elder Scrolls games got rid of scaling spells - it's only good at breaking the game. In 0.11.5, I added spell editing, and I've added lots of new spell formulas these past versions, and I think DFU is ready for a spell rebalance.
Unlike Skilled Spells, this mod changes all the spells in the game. I've kept the names, effect types, target types, and elements, mostly. But all the values have been changed, almost all the effect costs have been changed, most spell icons (yes, they should be identifiable now), and even many spell descriptions (to reflect the actual effect, not the design intent...).
Changing spells is not so easy. Some spells are given to certain classes from the start, many are used in magic items, and most damaging spells are actually used by enemies too. Which means I had to set the values so that they'd be useful to a beginner mage shopping for starter spells, while still being good on magic items, while also ensuring low-level enemies don't one-shot you. For example, both imps and ancient liches cast Toxic Cloud. Without level scaling, you can't make both enemies cast the same spell: you'll either get an even worse Privateer's Hold, or you'll get tickled by endgame enemies. So I gave monster enemies unique spells that the player doesn't see in the spell shop (again, I tried to keep the elements and icons the same, to avoid surprises).
So, with all the spells stripped of scaling, the spell effect costs rebalanced, icons changed, spell descriptions rewritten, and enemy spells reassigned, I think I got a working alpha build. It should take a while to test fully, but hey, I got through Privateer's Hold with just Destruction magic without getting destroyed by imps, so it's playable enough.
So here's a build for 0.12. I upgraded my Unity, and mods built with 2019.4.28f don't work with 0.11 (otherwise, the mod would work with 0.11.5 just fine).
All feedback welcome! Typos, bugs, balance, poor user experience, ugly UI, missing fun, thumbs up - send them my way.
Introduction
Ever since I've started playing Daggerfall, and through developing my released magic mod, Skilled Spells, I've been thinking about how to "balance" magic a bit. In certain ways, it's extremely strong compared to the other options, but at the same time, spell points drain very quickly for a dedicated magic user, and can only be regenerated through resting, which is not available in all situations.
Since the release of Unskilled Spells, I've been working on new spell points costs for all the magic effects in the game. A spell in Daggerfall is a "bundle" of effects, and for each effect, up to three attributes can be involved: duration, chance, and magnitude (usually one or two). These attributes usually have a "base" value that remains constant and a "scaled" value, which scales with player level (ex: 2 rounds + 1 round per 1 level). For each effect, 3 cost values are assigned for each attribute: base, scale, and flat. Base cost is multiplied with the base value, scale cost is multiplied with the scale value divided by the "per level" value, and both of these are added to the flat cost (usually 0).
Ex: Climbing's Duration costs are 20, 20, and 0.
Given a Climbing effect of 5 rounds + 3 rounds per 2 levels:
5 * 20 + round_down(3/2) * 20 + 0 = 100 + 0*20 = 100 gold (about 20-25 spell points at 5 skills, I think?)
The actual formula is more complex (ex: this is modified by skill), but that's all we need for now. There's some issues with this approach. Even ignoring the outdated integer division issue, we see that Climbing's duration scale cost makes no sense. 1 round of Climbing costs as much as 1 round of Climbing per level. At level 1, both values are equal, and at every level after that, you always get more for the same cost by taking the scaling value instead of the base value.
And it's not even the worst. Many effects, like Jumping, Shield, Continuous Damage, Free Action, ... have scale costs that are cheaper than the base cost, and thus are better even at level 1. Even in the good cases, usually, by level 8, you're better off leaving the base value at 1 for all your spells, and only take scaling values.
In the current DFU, there's no way to make this really interesting, where balancing base and scaling values would make a good spell.
So, for this new mod, I got rid of scaling value entirely.
Unleveled Spells
"Unleveled" mods are popular in a certain part of the DFU community, and I'm not usually included in this, but I thought it would work for spells. It's not really surprising that later Elder Scrolls games got rid of scaling spells - it's only good at breaking the game. In 0.11.5, I added spell editing, and I've added lots of new spell formulas these past versions, and I think DFU is ready for a spell rebalance.
Unlike Skilled Spells, this mod changes all the spells in the game. I've kept the names, effect types, target types, and elements, mostly. But all the values have been changed, almost all the effect costs have been changed, most spell icons (yes, they should be identifiable now), and even many spell descriptions (to reflect the actual effect, not the design intent...).
Changing spells is not so easy. Some spells are given to certain classes from the start, many are used in magic items, and most damaging spells are actually used by enemies too. Which means I had to set the values so that they'd be useful to a beginner mage shopping for starter spells, while still being good on magic items, while also ensuring low-level enemies don't one-shot you. For example, both imps and ancient liches cast Toxic Cloud. Without level scaling, you can't make both enemies cast the same spell: you'll either get an even worse Privateer's Hold, or you'll get tickled by endgame enemies. So I gave monster enemies unique spells that the player doesn't see in the spell shop (again, I tried to keep the elements and icons the same, to avoid surprises).
So, with all the spells stripped of scaling, the spell effect costs rebalanced, icons changed, spell descriptions rewritten, and enemy spells reassigned, I think I got a working alpha build. It should take a while to test fully, but hey, I got through Privateer's Hold with just Destruction magic without getting destroyed by imps, so it's playable enough.
So here's a build for 0.12. I upgraded my Unity, and mods built with 2019.4.28f don't work with 0.11 (otherwise, the mod would work with 0.11.5 just fine).
All feedback welcome! Typos, bugs, balance, poor user experience, ugly UI, missing fun, thumbs up - send them my way.