[REL] Automatic Leveling

Post » Tue Sep 01, 2015 12:15 am

Since it seems there's some interest in this sort of thing lately, I thought it was time to share. :smile:

This mod is almost complete. There's still a very annoying display bug to resolve (which will likely take a MWSE update to fix).

It's not an overhaul of the character progression system (though it might be useful as a starting point for one). While I might work on something more drastic in the future, this mod will maintain its vanilla flavor.

This mod automates all aspects of leveling while preserving vanilla leveling mechanics. Vanilla leveling rewards players for micromanaging skill increases, which I find distracting and immersion breaking. This mod attempts to remove the micromanagement aspect and the perceived need to level efficiently, while providing character progression similar to vanilla.

Leveling occurs automatically when the player has earned enough skill increases in major/minor skills to qualify for the next level. Attributes are increased based on the number of times an associated skill has increased since the last level was earned. Any partial progress is carried over to the next level. Changes in strength and endurance award health retroactively. Luck increases by one each time a new level is earned.

Some customization of the above behavior is supported.

See the readme for more details.

Comments, criticism, bug reports, etc., are much appreciated.

Download:
https://www.dropbox.com/s/zgedupfxy8uow0b/AutomaticLeveling-v0.3.7z?dl=0 Adds option to hide progress to next level.
https://www.dropbox.com/s/dqwp89n18ydg8xr/AutomaticLeveling-v0.2.7z?dl=0 Adds option to disable health calculations.
https://www.dropbox.com/s/h6xg4cj1c9oyq3a/AutomaticLeveling-v0.1.7z?dl=0
User avatar
stacy hamilton
 
Posts: 3354
Joined: Fri Aug 25, 2006 10:03 am

Post » Mon Aug 31, 2015 2:34 pm

Thanks for sharing this. I will take a close look if any of the character progression scripting I've been working on can be improved with your implementations (likely).

About the annoying display bug, are you referring to the player level increase not getting updated in the menu display until reload? If so, I believe there is solution using standard scripting functions.

User avatar
Megan Stabler
 
Posts: 3420
Joined: Mon Sep 18, 2006 2:03 pm

Post » Mon Aug 31, 2015 6:57 pm

Yes, the level doesn't update in the character window. I know it can be done by forcing the window open and closed with ToggleMenus and MenuTest, but I was hoping to avoid that, if possible.

User avatar
Richard
 
Posts: 3371
Joined: Sat Oct 13, 2007 2:50 pm

Post » Tue Sep 01, 2015 12:45 am

Yeah, I was planning myself to use ToggleMenus and MenuTest plus Nigedo's HUD reset NPC method to do the job. I believe there should be a working script for it in Galsiah's GCD. Possibly the MenuTest function needs to be placed in it's own separate script for MWEdit to compile correctly (at least that was my experience with another usage). If you do develop some alternative menu functions with MWSE that would certainly more straightforward!

User avatar
Sarah Evason
 
Posts: 3507
Joined: Mon Nov 13, 2006 10:47 pm

Post » Mon Aug 31, 2015 12:11 pm

I'd like to use this mod with the T's Stat Based Hit Points mod on mw.modhistory. I'm a big fan of how it calculates health. Will they work together?
User avatar
Isabella X
 
Posts: 3373
Joined: Sat Dec 02, 2006 3:44 am

Post » Mon Aug 31, 2015 7:45 pm

They might work together as is, but I've added a flag that lets you disable health updates. With them disabled, they should work fine together.
User avatar
Elizabeth Lysons
 
Posts: 3474
Joined: Fri Feb 02, 2007 7:16 am

Post » Mon Aug 31, 2015 10:12 pm

I've d/l'd the beta (?) 0.1 although I see you released an update already - that was fast :smile: but haven't installed it yet in a game to see how it looks/works. I'll have to go back and grab ver 0.2.

Is it recommended to start a new game or is it safe to use in an existing game? I'm using Galsiah Character Development (GCD) mod in my current game.

Neither having played your mod yet nor knowing how GCD handles the on-the-fly leveling and not opening a window, unless you mean those message boxes that appear announcing skill or level increases, I hope you can emulate that GCD behavior. I might be alone, but I actually like the messages themselves because they're to the point, quick and don't seem as intrusive or immersion breaking like the leveling up window in vanilla MW seems to me.

Looking forward to trying this out. Thanks for all the work you've been doing, sith with this and with MWSE.

Edit: typo

User avatar
Soph
 
Posts: 3499
Joined: Fri Oct 13, 2006 8:24 am

Post » Mon Aug 31, 2015 9:23 pm

The v0.2 update just adds an extra flag to allow disabling health updates. Everything else is functionally the same.

It will work with an existing character. Be sure to remove any fortify health effects before loading it the first time. On the first run, it will update your health based on base strength and endurance values. The next time you level up, you'll receive attribute increases based on skill increases since the mod was activated.

The comments about forcing windows open and closed relates to refreshing the level displayed on the character screen, not level up or other messages.

You'll see messages when you increase a skill and reach a new level. It does not inform you of attribute increases. I'm considering adding them, but I'm not sure of the best way to handle that yet. A message will work, but with potentially 8 attributes increased, there's a lot of information to read in a few seconds. If you're in the middle of combat, for example, it could be very easy to miss. I don't want to make it a message box with a button, since that interrupts the player.
User avatar
Silvia Gil
 
Posts: 3433
Joined: Mon Nov 20, 2006 9:31 pm

Post » Tue Sep 01, 2015 12:28 am

A mod like this is very needed IMO. The vanilla system is terrible, and whilst I like some of the ideas behind GCD, it is notoriously unstable and strays very far vanilla.

I didn't look at the script too much, but perhaps it's worth assigning the PC reference in your init script instead of the main. That way you'd only need to do it once on startup rather than every frame.

Also, how similar with vanilla values is the retroactive health in this? I've noticed most mods that feature retroactive health end up with quite different results which can have a significant impact on game balance. I messed around with an https://repl.it/BE4I/2 awhile ago, but I'm not sure if anyone else would care about health values enough to warrant all that. :D

User avatar
Esther Fernandez
 
Posts: 3415
Joined: Wed Sep 27, 2006 11:52 am

Post » Mon Aug 31, 2015 10:31 pm

Yeah, there's no need to assign it each frame. Thanks for pointing that out. The goal was to keep MWSE functions out of the init script. That way, users can update the configuration flags with the construction set instead of MWEdit. However, the real solution is to implement MWSE config file support already. :smile:

Health is calculated using the same formula as vanilla, but using your base endurance and strength at level up as if those were their values all along.
Health at level 1 is (str + end) / 2.
Health increase at level up is end * 0.1 (assuming the GMST hasn't changed).
The mod calculates health at level x as (str + end) / 2 + end * 0.1 * (x - 1)

It definitely means more potential HP than vanilla, but removes the penalty for not pumping endurance and strength early. You'll have more HP at a given level when you max them out early, but you don't lose potential HP if you don't.

Assume we have a character with 100 strength and endurance at level 50.
With this mod, he'd have 590 HP. (100 + 100) / 2 + 100 * 0.1 * 49

Here are the best and worst case starting conditions in vanilla. Assume the player maxes endurance each level.

Best case: Nord Male, class with Strength and Endurance, Lady Birthsign (birthsign not counted at level 1)
He starts with 60 strength and 85 endurance.
By level 50 he'll have 548.5 HP. The mod gives ~8% more HP.

Worst case: Bosmer Male
He starts with 30 strength and 30 endurance.
By level 50 he'll have 474.5 HP. The mod gives ~24% more HP.

I don't think it's too unbalancing and I'm inclined to leave it as is, though I'm open to suggestions.

A simple tweak would be to limit HP at level 1 to 60 (or 72.5 if you consider the missing birthsign a bug). That gives us:
550 or 562.5 for the mod vs.
Best case: 548.5 (~0% and ~3% more)
Worst case: 474.5 (~16% and ~19% more)
Of course, this starts to break down if someone's using a custom race that has high starting strength and/or endurance.

I'm not sure I understand the goal of the alternate formula you posted. The results at each level are the same. It looks like it's just rearranging the equation. What am I missing? Am I holding it wrong? :smile:
User avatar
Mariaa EM.
 
Posts: 3347
Joined: Fri Aug 10, 2007 3:28 am

Post » Mon Aug 31, 2015 5:05 pm

Sorry, it's probably not clear from the link I posted. :D

My main issue was that getting +0 end/lvl made for really weak characters, but +5 made for overly tanky characters. The goal was for HP to be retroactive and consistent as if the character took the average of the two.

In vanilla if you added no endurance on your first two levels but +4 on the following two levels you would have less HP than if you'd done it in reverse. The formula I posted would get the average END/LVL (avgMult) that you've added and use it to recalculate your HP using exact vanilla mechanics. So instead of your HP being calculated from the +0/+0/+4/+4 values it would instead be done as if you added +2/+2/+2/+2. It doesn't show in the example code because I was lazy and it's just adding a static amount of END every level, which ends up making both formulas have the same result.

User avatar
Shannon Lockwood
 
Posts: 3373
Joined: Wed Aug 08, 2007 12:38 pm

Post » Mon Aug 31, 2015 9:17 pm

Simple and elegant. Too bad I am already too invested into my current game, but definitely going to try this next time I start a game.

*reading a bit more carefully* So it works for existing char too? Great, I'll have to try. I am using BTB's Game Improvements right now. Will report back to say how it worked out.

User avatar
Angelina Mayo
 
Posts: 3427
Joined: Wed Jan 24, 2007 4:58 am

Post » Mon Aug 31, 2015 8:18 pm

I've always been a fan of Talrivian's calculation.

( (Strength + Endurance) / 2 ) + ( ( Endurance / 10 ) x ( Level - 1 ) )

User avatar
Trevor Bostwick
 
Posts: 3393
Joined: Tue Sep 25, 2007 10:51 am

Post » Tue Sep 01, 2015 2:05 am

IMO Strength is already a very good (probably the best) attribute, and making it contribute so much to health in addition it its other benefits puts it way too far ahead in comparison to other attributes.

I used his mod on my last playthrough it was pretty good. I liked that it didn't give so much HP as a *5 END spamming character. My main issue with it was how it treated the player differently from NPCs. Not only does it give a different formula for HP, but it also makes spells like fortify endurance very powerful for yourself and useless for your enemies.

User avatar
Matthew Barrows
 
Posts: 3388
Joined: Thu Jun 28, 2007 11:24 pm

Post » Mon Aug 31, 2015 3:42 pm

Perhaps a calculation that uses endurance (warriors), agility (thieves), and willpower (mages) to calculate health would be best.

( (Endurance + Agility + Willpower) / 3 ) + ( ( Endurance / 10 ) x ( Level - 1 ) )

User avatar
Carlos Rojas
 
Posts: 3391
Joined: Thu Aug 16, 2007 11:19 am

Post » Mon Aug 31, 2015 11:40 pm

A quick and probably dumb question. You say the level isn't properly updated in the character window, but does the game knows what actual level you are? I'm content with being lvl 1 (visually) throughout the game as long as the leveled lists scale with your power (your actual, hidden, level). I just want to be sure.

Regarding retroactive health calculation, if you need a simple user's opinion: micromanagement of endurance and strength gains is extremely annoying and absolutely kills your freedom as a player. That's why I used Talrivian's stat-based HP like for ages. This vanilla mechanic is one of the major flaws of the game.

Looking forward to use the mod in my game. The idea is brilliant.

We need to do away with minmaxing in Morrowind. This is a huge step in this direction.

User avatar
Sarah Knight
 
Posts: 3416
Joined: Mon Jun 19, 2006 5:02 am

Post » Mon Aug 31, 2015 11:52 am


Ah, I see what you're going for. :smile: How do you plan to handle reaching max endurance?
Nevermind, I see that doesn't affect the calculation.


This is basically the vanilla formula and my mod uses it too. :smile: The key difference is that Talrivian's mod updates health constantly and uses modified strength and endurance, making fortify/drain attribute very powerful and drain/damage attribute deadly. In contrast, my mod uses base strength and endurance and only updates health at level up. If you had somehow increased your base strength or endurance, you wouldn't see a change in health until you level. If you like his approach better, you can use them together. Just set the update_health flag to 0 in the init script (see readme).


I like the idea of adding other statistics to the mix, but it's out of the scope of this mod. I want to keep it as close to vanilla as possible. :smile:


That's right, it's just a display issue. The game's internal value is up-to-date and should be used for leveled lists, etc. Saving and loading (no need to exit the game completely) will refresh the display and show the correct level.
User avatar
Angela Woods
 
Posts: 3336
Joined: Fri Feb 09, 2007 2:15 pm

Post » Mon Aug 31, 2015 5:49 pm

I just did a test run. The level up went smoothly, but I only raised my test char one level before stopping. I understand now what you mean that you won't see your actual level unless/until you do a save/load game sequence. Things may change once you get past the first level, but, for the first level anyway, I still find I was trying to micromanage leveling up because the char sheet reported how many of the major/minor skills you had increased till the next level increase kicked in. In my test run, I deliberately focused on two or three major/minor skills and found myself continually looking at the info in the char sheet to see where I stood. I'll have to think about it. Perhaps there's some way to discourage using the char sheet window's char level guage to keep stock of many increases in major/minor skills you need to level up.

Will magicka regeneration mods work with automatic leveling? I've considered Raym's magicka regenerartion, but ISTM that there were about five other mods that handled the mechanics differently.

User avatar
cassy
 
Posts: 3368
Joined: Mon Mar 05, 2007 12:57 am

Post » Mon Aug 31, 2015 10:18 pm

That's a good point. I hadn't considered that the progress indicator might be distracting. v0.3 turns it off by default (but it can be turned back on via the init script). Let me know if that's an improvement.

I expect magicka regen mods to work. If there are specific mods you're curious about, post links and I'll look at the scripts.
User avatar
Gemma Woods Illustration
 
Posts: 3356
Joined: Sun Jun 18, 2006 8:48 pm

Post » Mon Aug 31, 2015 9:43 pm

This is a PM I sent to Logitech about my feelings about leveling in MW, and the future of the game.

Hey! So I have a good amount of ideas for a leveling mod. Basically the way GCD scripts work is they make starting attributes affect health magicka and fatigue a lot more, and then there is of course no cap on the attributes and skills themselves. So one could have a 500 blunt weapon skill and 350 strength. There is no level-up screen either as the leveling is done via scripts in the background. There is actually a .ini file that comes with the mod DL that exhibits exactly how the leveling is done, and how much each skill affects each attribute. You can also slow level progression or speed it up if you'd like. I'm sure you're aware. The idea I have though is that I feel it could be scripted a lot easier (read, thinner) with MWSE, and there could also be a lot of perks added into the leveling system itself. Maybe after a skill reaches 100 there would be a way to give certain weapons more of an 'oomph' than simply making it more likely for you to hit with that weapon. One thing I was thinking of would be giving a critical strike % for every 10 levels or so after 100 that a weapon has, and with magick skills like destruction/alteration/illusion there could be a perk of either a chance to have the casted spell be more powerful than it would normally be.

Say for instance you have a fireball spell with base damage of 20 within 5 feet of target for 3 seconds. At destruction level 110 it would have a small chance to actually do 22 damage within 6 feet of target for 4 seconds. At destruction level 120 it would be 23 damage within 7 feet of target for 5 seconds, etc etc, if you get the gist? It would only be a small change of it happening, though. Also, SLOWER leveling. The main issue with vanilla is that at around level 18 or so, you're unstoppable. So what I purpose is a leveling system where the first 4 levels or so progress a little bit easily, say getting a skill to level 30 isn't too hard. But after that, you hit almost a wall where leveling above that takes time and practice. Taking a look at GCD scripts is a good start, as the leveling pace is ok in GCD, but I'm thinking of having it be even slower. Let's say once the PC hits level 12 it takes a LOT of time to level up. Not excruciatingly long, but long enough to justify being at a pretty decent point in the game where things can still be a challenge (i.e., there's still a pretty good chance to die to things if you're not careful.) and then from level 20 on, it's a pretty slow process. I personally play with a difficulty of 100 too, so the slower leveling really helps extend the playtime for me. Also taking into account TR, P:C, and SHOTN, there's going to be a LOOOT of stuff for people to explore one day, so a slower leveling pace is a good thing I think.

User avatar
Nymph
 
Posts: 3487
Joined: Thu Sep 21, 2006 1:17 pm

Post » Mon Aug 31, 2015 9:05 pm

I agree; there's a lot of room for improvement over vanilla character progression. I like the idea of adding special effects for extremely specialized characters. That said, I want to keep this mod focused on streamlining, but not substantially altering, the vanilla experience.

There are two easy ways to slow down leveling that don't involve writing scripts or redesigning character progression.

First, you can increase the value of the iLevelupTotal GMST The default is 10. Increasing it to 20, for example, would double the number of skill increases needed to level and would also cut the maximum achievable level in half.
(In the CS: Gameplay->Game Settings->Gameplay tab)

Second, you can reduce the amount of progress each use of a skill gives. This will make it require more uses to level up a skill, which in turn makes leveling take longer.
(In the CS: Character->Skills)

A mod that incorporates one or both of these techniques will work fine with this one.
User avatar
Hearts
 
Posts: 3306
Joined: Sat Oct 20, 2007 1:26 am

Post » Mon Aug 31, 2015 12:05 pm

Well I was thinking have progression change dynamically. Say levels 1-5 take a bit of time, a little slower than vanilla, then 6-10 is a bit faster, nearly vanilla rate, then 10-14 or so, make it slow down a lot, like hitting a wall with mastery of your skills, then from 15-19 have it be somewhat faster than vanilla, then onward have it slow back down. I guess I'm just thinking in terms of changing those variables on the fly once a player level or skill level hits a certain level, that way it will allow the game to still reward becoming a god from being a nobody, but it makes it slower, therefor more rewarding.

User avatar
Emmie Cate
 
Posts: 3372
Joined: Sun Mar 11, 2007 12:01 am

Post » Mon Aug 31, 2015 9:35 am

GCD has text boxes appear when your skills are a higher level that replace the actual leveling of the skill, as well. It'll say something like 'You are nearly at the point of progress, but must practice a bit more.' or something along those lines, which is immersive and helps with the slowing down of the leveling of skills (and therefor attributes) as well. For instance, on my vanilla leveling character right now I'm at level 3 with a 40 blunt skill. By that logic I could easily have a 100 blunt skill by level 6 or 7, and I think that's a bit far-fetched. I think having a level 100 skill in something should take place at around level 11 or 12, and from there any additional levels of that skill come with the so-called 'perks' I mentioned above. IDK, it's kind of a shoddy system but it's mainly just a basis for a larger idea and a better re-working of the leveling system to accommodate for the extra content we're going to see with TR, P:C, and SHOTN, and also Lythodena and such mods that add a LOT of new content. After level 10 all the content will be too easy and there will be literally little use to explore these multiple new, beautiful, unique places with the same character, and I like to get invested as much as possible in a character.

So perhaps it's not the focus of this mod, per se, but I can see it being used as a base for something in the future to really show that progression and make it feel like a real damned achievement when you get that long blade or medium armor skill up to 100 after HOURS of working on it. I think there's an OpenMW mod that also causes loss of skill level after a period of time not using that skill, which is something to consider as well I suppose....

User avatar
REVLUTIN
 
Posts: 3498
Joined: Tue Dec 26, 2006 8:44 pm


Return to III - Morrowind