[MOD-WIP] Mighty Magick - A complete magic overhaul

Show off your mod creations or just a work in progress.
kiskoller
Posts: 36
Joined: Fri Sep 27, 2019 11:13 am

[MOD-WIP] Mighty Magick - A complete magic overhaul

Post by kiskoller »

Daggerfall's Magic system is a mess. But thanks to the modding capabilities of DFU, we might be able to change it. This post is similar to meritamas's "there could be more to magic" mod, with one notable differences. I don't want to add anything new to the game, first I want to tweak the numbers to balance magic gameplay out a little bit. So I think there is a place for both mods in this game and we can work side-by-side.

I plan on making a magicka overhaul mod called Mighty Magick which does not add new spells, effects, quests, or any content like that, just "tweaks the numbers".

Let's write down the issues of Daggerfalls magic system point by point, so we can focus at one at a time and design a solution.

This might be too much at once, which is why I've tried to separate these things to bullet-points. I'm planning to mod to solve the issues I've described here, but I need some help designing the solutions. If you have any advices or ideas, feel free to share them.

I am primarily focusing on a destruction-based pure mage gameplay. So on a char that works similarly to a warrior, he sees an enemy an enemy he blows it up then moves on. He uses other magick spells as buffs and utility. I know there are other ways to play pure mages in this game (like using invisibility, pacifying) but I only really have gaming experience with the destro-mage variety.


1. Magicka pool and resource management. Daggerfall uses a D&D-like system where magicka pool is supposed to be big and you are supposed to manage your magicka bar not just during combat, but during a whole dungeon crawl. I am not sure this system works with this particular type of game, there is a reason it was changed in Oblivion. However, let's try and keep this type of spellcasting in the game but let's write down it's issues, then try to solve them.

1A. Small magicka pool: The biggest issue is that without the use of exploits, a mage's magicka pool is way too small. You can easily burn through half of your magicka bar even with high skill and maxed out int, spamming the most efficient destruction spell to kill a single enemy. Solution: lets grant spellpoints every level based on Int, similar to how HP is granted.

1B. Easy to regen magicka via rest: However at the same time you can just rest after each fight, which is not just silly but also ruins this whole magicka management mechanic quite a bit. Solution: Currently one hour of rest restores 1/8 of your magicka. We should change this to one week of rest restoring your whole bar. This will make resting in dungeons not feasible thanks to the time limit and other magicka regen options will be more desirable. Of course this means a pure mage will need to have enough magicka to clear a whole dungeon or means to regen it. Current status: Regen from resting is halved, you need 16 hours to fully regen.

1C. Magicka enchants give you too much magicka. Without the ItemMaker a mage has 300 spell points. With the item maker he can easily have more than 5 times that. There is really no cap and there is too big of a jump between the prowess of a mage with and without this tool. This alone wouldn't be a problem if enchanting had any progress baked into it, but currently the moment you unlock it, you can grab a loan and spam a lot of enchants. Later on your enchants do get more powerful thanks to using souls, but even soulless enchants raise your magicka pool too high. Solution: Magicka gain from Enchanting lowered from 75 to 35.


1D. Magicka potions are too weak. These potions could be a solution to the magicka management issue, but they are just way too weak. Solution: The potion refills the whole magicka bar. With the changes in 1A and 1B this might be too OP, I am not sure.

1E. Enemies resist spells far too easily. This results in the mage wasting sometimes his full magicka bar against a rat due to unlucky rolls. Sometimes the spell does not even connect. Solution: Magic resistance should lower incoming damage instead of sometimes completely negating it. Currently this module adds together all the resistances and weaknesses. Immunities give 100% reduction, Critical Weaknesses give 100% increase (meaning destro spells do double the damage) and regular weaknesses and resistances give +-50% each. Spell resistance also gives a % reduction which is additive to all the rest. Todo: change the math so instead of the various weaknesses and immunities being additive, they should be multiplicative. Two 50% resistances should yield 75% resistance, not immunity I think.


2. Exploits. There are a few exploits that are really easy to find and use that breaks the magicka resource management system, making mages way too OP.

2A. Re-absorb your own spells: Casting fireballs close to you with spell absorb will reabsorb the spell, giving you back the magicka and damaging the enemy for free. Solution: For aoe spells only give back a fraction of the cost, since you aren't absorbing the whole thing. Should it be like 1/5th? With the raised cost of AOE spells, killing one guy would be more efficient with just on-touch spells. Status: This can only be (properly) fixed by changing the source code of the game to expose absorb logic to mods. There is a feature lock currently in place, so we will have to wait for the release 1.0 before fixing this.

2B. Spell cost calculation past 100 skill. If you have enough +skill enchants to jump over the 100 point barrier, every spell will cost 5 points.
Solution: each point past 100 should lower the spell cost by 1%. So with say 130 skill the spell would cost <cost at 100> * [(99/100)^30]. This way there is no 0-cost hard cap.

2C. Spell absorb is too powerful. Pick 3x int SP and spell absorb during char creation, make sure you have a spell that burns your magicka (like a high cost shield) and you've become immune to magicka. In later games you had a similar birthsign to this advantage, but it only gave you 50% chance, stunted your magicka regen and was still OP. Solution: The advantage only gives you 50%? 33%? chance spell absorb.

3. Spell Chance.

3A. Spell cast chance is unrelated to spell magnitude and is tied to another attribute of the spell during spellmaking is an issue. The player is forced to find a sweet spot of chance/cost when making the spell, but that is unrelated to the duration or magnitude. All this does is adding more micro-management to the already tiresome spellmaking process.

3B. Spell Chance is capped at 100. There is nothing to be gained past 100. Couple this with the scaling nature of chance*<player level> and you end up with a char progression where a higher level mage is casting simpler spells than a mid level mage.

Solution A. Remove spell chance alltogether. Spells have only cost associated to them.

Solution B. Add spell cast chance to the background to every spell. It is dependent on skill, attribute, and spell power (magnitude times duration). Just like in Morrowind.

Solution C. Expand solutionB. Spell cast chance should affect not just the initial casting but the duration as well. Have spells backfire, damage the player, end too soon, etc. Less of an overhaul, more of a mod of it's own.


4. Spell power scaling is tied to char level. Solution: There are already mods for this, "Skilled Spells" and "Unleveled Spells". I'd prefer Unleveled Spells due to it using player attributes like Willpower or Luck when calculating spell power, however Skilled Spells is more stable currently. I will expect my mod to work alongside such mods.

Current roadmap: I will focus on 2A 2B 2C because the solution to those is pretty straightforward and easy to code (I hope). I also think they would be useful to be released on their own.

I've decided to release versions as I develop them, so people can see the progress, playtest it if they want.

I've released what I've done so far
https://www.nexusmods.com/daggerfalluni ... escription
Last edited by kiskoller on Fri Jul 16, 2021 12:47 pm, edited 6 times in total.

User avatar
Kab the Bird Ranger
Posts: 123
Joined: Tue Feb 23, 2021 12:30 am

Re: [MOD-WIP] Mighty Magick - A complete magic overhaul

Post by Kab the Bird Ranger »

Author of Skilled Spells here. As you can guess, I've been thinking about magic in Daggerfall a lot, and I've been making changes in DFU to help the modding process in that area. Most of them came in 0.11.3 and 0.11.4, but 0.11.5 will have a way to edit the existing spells (or add new ones) through a JSON file, similar to ItemTemplates.json for items. Once 0.11.5 is out, I'll try to give more info on how this is done.

You mention you prefer unleveled spells to skilled spells, and I can understand that. The issue I had with the existing Unleveled Spells implementation is that it gave you level 8 spells right from Privateer's Hold simply due to having a magic school as a Primary skill. I thought it was ridiculous given how level 8 is around where spells start scaling like crazy in the default implementation, so I came up with the "skilled" solution which keeps the leveled component while adding skill into the equation, as a compromise.

While I do identify some of the same problems as you, your solutions are in general quite different from what I had in mind­. It just means I'll have to keep working on my own preferred solution :D

On my end, I was planning on a new version of Skilled Spells that 1) rebalances spell effect costs (lots of them are just straight up bugged) 2) remove the scaling components of most if not all spells in the game, to make them more similar to the later games in the series.
Maybe Destruction will never be viable without real-time spell points regeneration, which I'm trying to avoid at all cost. That's one area I'll have to figure out.

For 2B, you might want to consider a formula similar to what I've used for Scalable Speed. Weapon anim time suffered from the issue where getting past 100 quickly reduced the time value to 0, granting you infinite attack speed. With my formula, there's no hard cap at any point, and the gains are always consistent. Maybe the spell cost formula could use something similar.

kiskoller
Posts: 36
Joined: Fri Sep 27, 2019 11:13 am

Re: [MOD-WIP] Mighty Magick - A complete magic overhaul

Post by kiskoller »

Kab the Bird Ranger wrote: Tue Jul 13, 2021 1:34 pm Author of Skilled Spells here. As you can guess, I've been thinking about magic in Daggerfall a lot, and I've been making changes in DFU to help the modding process in that area. Most of them came in 0.11.3 and 0.11.4, but 0.11.5 will have a way to edit the existing spells (or add new ones) through a JSON file, similar to ItemTemplates.json for items. Once 0.11.5 is out, I'll try to give more info on how this is done.
That sound awesome! Just to clarify, your mod is the active one on my pc at the moment. Unleveled Spells crashes for me, I only know how it works based on the documention, couldn't get it to work.
Kab the Bird Ranger wrote: Tue Jul 13, 2021 1:34 pmWhile I do identify some of the same problems as you, your solutions are in general quite different from what I had in mind­. It just means I'll have to keep working on my own preferred solution :D
That's why I made this post, feel free to offer different solutions :)
Kab the Bird Ranger wrote: Tue Jul 13, 2021 1:34 pm On my end, I was planning on a new version of Skilled Spells that 1) rebalances spell effect costs (lots of them are just straight up bugged) 2) remove the scaling components of most if not all spells in the game, to make them more similar to the later games in the series.
Maybe Destruction will never be viable without real-time spell points regeneration, which I'm trying to avoid at all cost. That's one area I'll have to figure out.
With big enough magicka pool and the crazy scaling it is viable in vanilla, you don't even need to rest to clear a dungeon. We only need to tweak the numbers to make it work across a whole playthough, and without exploits. I also do not like real-time spell point regeneration, this is the reason why I always pick Atronach sign in Oblivion and Skyrim.
Kab the Bird Ranger wrote: Tue Jul 13, 2021 1:34 pm For 2B, you might want to consider a formula similar to what I've used for Scalable Speed. Weapon anim time suffered from the issue where getting past 100 quickly reduced the time value to 0, granting you infinite attack speed. With my formula, there's no hard cap at any point, and the gains are always consistent. Maybe the spell cost formula could use something similar.
I'll look into it! My current implementation works like this:

At 100 and below it: unchanged.

Above 100: <spell cost with 100 skill> * [(99/100)^<points above 100>]

So essentially above 100 every point reduces spell cost by 1%. A better solution would be to be braver and throw out the old calculation and have a linear progression from 0 to 200. So I think I should replace it with one that is similar to what you've described.

Honestly I think if we communicated we could easily work side-by-side and not have overlapping in our mods. For example I do not plan on fixing spell scaling, I'll let your mod handle that responsibility.

Currently I want to bandaid-fix the current exploits regarding spell cost above 100 (first version is released), absorbing your own spells (I'm not sure this can be fixed in a mod) and crazy magicka pool via enchanting (I'm looking into it right now). Then look into more sophistaced overhauls of those systems.

I welcome any ideas or feedback :)

User avatar
DunnyOfPenwick
Posts: 275
Joined: Wed Apr 14, 2021 1:58 am
Location: Southeast US

Re: [MOD-WIP] Mighty Magick - A complete magic overhaul

Post by DunnyOfPenwick »

For item 1E, the entity spell resistance could signify the amount of damage reduction for damaging spells, rather than the chance of no damage.

Something I never liked about the magic system is the fact that the player has access to all spell effects from the outset of the game, robbing the player of the sense of discovery. Is there a lore-based reason for this or is it purely implementation? I think it would be nifty if players discovered new spell effects as they played: possibly as a quest reward, finding research notes on the body of a dead mage, or maybe just a fluke 'random' chance signifying their own researches.

kiskoller
Posts: 36
Joined: Fri Sep 27, 2019 11:13 am

Re: [MOD-WIP] Mighty Magick - A complete magic overhaul

Post by kiskoller »

There is no lore reason. In other games you first learn a spell, and then you can use it's effects to make a new spell.

Yeah, overhauling how spells are learned could also be a nice little mod on it's own.

Each Mage's Guild would have a few trainers with some of the basic spells and magic effects. There could be spell tomes looted in dungeons or even magic effects unlocked via quests.

The fact that a level 1 mage can run into the Mages Guild, make all his spells and never really update it all the way to level 20 just shows how underdeveloped this side of the game is.

DunnyOfPenwick wrote: Tue Jul 13, 2021 3:37 pm For item 1E, the entity spell resistance could signify the amount of damage reduction for damaging spells, rather than the chance of no damage.

That is a good idea! Updating the OG post.

kiskoller
Posts: 36
Joined: Fri Sep 27, 2019 11:13 am

Re: [MOD-WIP] Mighty Magick - A complete magic overhaul

Post by kiskoller »

I've released a new version.

- You gain 10% magicka each levelup. This is an exponential growth, giving mages a hard time at low levels but giving big enough magicka pool at endgame.

- You need 16 hours to regen magicka now instead of 8. I'm unsure of what to do with resting. If I lower this further I have to tweak the fast travel as well, because you automatically get your whole bar back when you travel.


I've tried to add mod settings for these variables but didn't manage to get them to work yet.

As usual, criticisms are welcomed!

Update: And I've also lowered magicka gain from enchanting. If we could fix the "absorb-own-spells" exploit and the frequent enemy resists, I think we'd be in a pretty good place where most of the fundamental issues are band-aided and we can playtest and see how they work out.

kiskoller
Posts: 36
Joined: Fri Sep 27, 2019 11:13 am

Re: [MOD-WIP] Mighty Magick - A complete magic overhaul

Post by kiskoller »

DunnyOfPenwick wrote: Tue Jul 13, 2021 3:37 pm For item 1E, the entity spell resistance could signify the amount of damage reduction for damaging spells, rather than the chance of no damage.

Managed to eliminate the chance based saving throws mechanic in version 0.4.0. Now every destro spell will do damage. Resistances and weaknesses lower or raise this damage.

User avatar
Ralzar
Posts: 2211
Joined: Mon Oct 07, 2019 4:11 pm
Location: Norway

Re: [MOD-WIP] Mighty Magick - A complete magic overhaul

Post by Ralzar »

Loving the idea of this and agree with most of it. At one point the mod Magica Regen tried to fix the problem of rest-spamming as a caster, but this just led to characters becoming over powered because the spells were balanced around limited use.

For the resting thing, something you could do is have magica regen severely limited while inside a dungeon. Or having it only regen at normal rates when resting inside an inn or house. So renting a room has an additional function of making you recharge faster.


As mentioned in the thread here, the guild services for spells is causing a LOT of the balance issues in the game. In addition to just being a bit uninspired. Some ideas off the top of my head. Not necessarily meant to be used together.

* Spell Shop only offers spells that have a base price equal to "GuildRank x 100" gold. Or something like that.

* Spell Shop only offering spells of schools you have a certain % skill in.

* Spell Creator only offering magic effects that you have a certain % skill in. Perhaps even different effects within a school is only available at certain % skill. Alteration 20% unlocks Climbing. 30% unlocks Jumping etc.

* Spell Creator effects limited by guild rank. So you need a certain rank to get access to certain effects. Or maybe rank limits what numbers you can set in the spell?

* Spell Book as loot item. Reading it grants you a random spell.

* Spell Book or scroll as loot item. Reading it grants you an effect in the Spell Creator.

* Spell Book or scroll as spell creation ingredients. Spell Creator only lets you create spells matching the "spell ingredients" in your inventory. Upon creation, the ingredients get destroyed.

* The existing potion ingredients serving the purpose of Spell Creation ingredients. So you want to make a powerful spell? Might need a Daedra Heart, some Mummy Wrappings and a Unicorn Horn.

kiskoller
Posts: 36
Joined: Fri Sep 27, 2019 11:13 am

Re: [MOD-WIP] Mighty Magick - A complete magic overhaul

Post by kiskoller »

Ralzar wrote: Thu Jul 15, 2021 10:48 am Loving the idea of this and agree with most of it. At one point the mod Magica Regen tried to fix the problem of rest-spamming as a caster, but this just led to characters becoming over powered because the spells were balanced around limited use.

For the resting thing, something you could do is have magica regen severely limited while inside a dungeon. Or having it only regen at normal rates when resting inside an inn or house. So renting a room has an additional function of making you recharge faster.
Wow, the magicka regen during dungeon crawl fix is simple, elegant, and does the job well! I am gonna check this out and put it into the mod ASAP.
Ralzar wrote: Thu Jul 15, 2021 10:48 am
As mentioned in the thread here, the guild services for spells is causing a LOT of the balance issues in the game. In addition to just being a bit uninspired. Some ideas off the top of my head. Not necessarily meant to be used together.

* Spell Shop only offers spells that have a base price equal to "GuildRank x 100" gold. Or something like that.

* Spell Shop only offering spells of schools you have a certain % skill in.

* Spell Creator only offering magic effects that you have a certain % skill in. Perhaps even different effects within a school is only available at certain % skill. Alteration 20% unlocks Climbing. 30% unlocks Jumping etc.

* Spell Creator effects limited by guild rank. So you need a certain rank to get access to certain effects. Or maybe rank limits what numbers you can set in the spell?

* Spell Book as loot item. Reading it grants you a random spell.

* Spell Book or scroll as loot item. Reading it grants you an effect in the Spell Creator.

* Spell Book or scroll as spell creation ingredients. Spell Creator only lets you create spells matching the "spell ingredients" in your inventory. Upon creation, the ingredients get destroyed.

* The existing potion ingredients serving the purpose of Spell Creation ingredients. So you want to make a powerful spell? Might need a Daedra Heart, some Mummy Wrappings and a Unicorn Horn.
These are all pretty solid ideas. Basically we need to nerf spell acquisiton and add progression into it. In other TES games warriors progress via new gears and rarely with a few new combat moves, mages progress via new magic spells.
Ralzar wrote: Thu Jul 15, 2021 10:48 am
* Spell Shop only offering spells of schools you have a certain % skill in.
This would essentially re-create the oblivion/skyrim mechanic of novice/apprentice/adept/expert/master tiers, I like it!

I am unsure where to start with this, first thing first I think I'll implement the
Ralzar wrote: Thu Jul 15, 2021 10:48 am Spell Shop only offering spells of schools you have a certain % skill in.
feature. So in order to be able to Teleport around like a madman, you need to learn the Recall spell. But it is not available in SpellMaker at all (why would it be? the circinate spell is exactly the same) and you would need 50% Mysticism skill in order to acquire it from the Spell Merchant.

I think this would be a good first step, and see where it leads.

kiskoller
Posts: 36
Joined: Fri Sep 27, 2019 11:13 am

Re: [MOD-WIP] Mighty Magick - A complete magic overhaul

Post by kiskoller »

In version 0.4.2 I've introduced variable magicka regen rate.

It takes a full day to regen your magicka normally, only 8 hours in taverns and 100 hours in a dungeon.

Since destro spells aren't completely negated anymore and spell points are increased on levelup, I think there is enough magicka to clear a small dungeon even at lower levels.

The only thing missing from a first real complete release is fixing the spell absorb AOE exploit. With that fixed I think pure mage can be playable now, but we need to tweak the numbers some more I think.

Post Reply