Mod: Levelling Just Happens

Not about OpenMW? Just about Morrowind in general? Have some random babble? Kindly direct it here.
Chris
Posts: 1626
Joined: 04 Sep 2011, 08:33

Re: Mod: Levelling Just Happens

Post by Chris »

Okulo wrote:See, and that's where the insanity lies. Why does someone who has never picked up a sword fare just as well as a practiced fighter? Why does my character who has only learned to fight with sword and board suddenly pass Faralda's test of "hurr, those who wish to enter must show some degree of skill with magic" with flying colours?
Same reason a newbie farmboy with dreams of glory can handle a sword and shield as well as an ex-legionnaire when stepping off that boat. Make up a story and run with it. If you don't want to, then that's fine, but it's disingenuous to say the game is less of an RPG just because it's different.
But sure, let's say they are deteriorated. Apparently it doesn't matter, because everyone being exactly the same is a perfectly valid system, right?
Indeed it is valid for characters to start with the same capabilities. I might not prefer the way Morrowind makes me design specific types of characters, especially when it comes to gameplay design, but I don't say it's not an RPG because of it.
User avatar
Greywander
Posts: 119
Joined: 04 Dec 2014, 07:01

Re: Mod: Levelling Just Happens

Post by Greywander »

You two are getting a little off topic. Maybe start a new thread?

I dropped in the new mod without rebuilding OpenMW and tested it out. There's still a pretty huge bug in this mod, namely that skills will not naturally increase beyond 100. I just tested this by making a bunch of potions and raising my alchemy to 100, at which point it stopped increasing. You cannot increase your skills above 100 without using the console, as far as I can tell. Can anyone else confirm this bug, or is it just me?

I did get neglect to work, but another bug appears to have popped up, although I suspect it's related to the above issue. As I said, I was unable to raise my skill passed 100, but when my skill decayed to 99, it said I had 1500(ish)/100 to the next level, so I only had to make one potion to get back to 100. (However, the next time my skill decayed, it had 0/100 to the next level). Also, it took around 3 days of waiting to get my skill to decay, and it said it would be around 67 hours until the next decay. My initial alchemy was 45 (altmer, magic spec'd, Alchemy as a major skill).

If I may be so bold as to make a suggestion regarding the formulas that should make everyone happy. First, in addition to neglect, you could have skill slowdown, like what GCD did. Generally, people would probably do either/or rather than doing both at the same time (since they both do basically the same thing, but in different ways), but it would give people the choice. Second, I'd use the same basic formula for both (but different sets of variables) to determine when they kick in, namely

flatValue + (initialSkill * multiplier) + (maxSkill * multiplier)

As far as I'm aware, what you have right now is just (initialSkill * multiplier), but this would give players three different ways to adjust either neglect or skill slowdown. By setting both multipliers to 0, you can have neglect begin at the same level for all skills (flatValue). By setting flatValue and one of the multipliers to 0, you can have neglect depend only on your initial skill, or on the highest level you've reached in that skill (maxSkill). Or you can do a mix. But it's good to have options.

EDIT: Actually, there'd be no reason to use maxSkill in a formula for skill slowdown, since barring jail your current skill would always be equal to your maxSkill. It would be silly to adjust skill slowdown as your skill increased; in that case you should just directly adjust the magnitude of skill slowdown. /EDIT

Personally, I'd rather have neglect depend on maxSkill rather than initialSkill as it both allows you to continually push against neglect to raise the threshold higher as well as allowing you to change up your skills if you decide you don't like your major/minor skill choices after all. Options are good.

And lastly, the most critical bug in the entire mod: It's spelled "Leveling". (I'm kidding, nobody cares as long as the mod works.)
Klepto
Posts: 19
Joined: 16 Apr 2015, 03:56

Re: Mod: Levelling Just Happens

Post by Klepto »

Greywander wrote:skills will not naturally increase beyond 100
Oops, fixed, I think. You'll need to recompile OpenMW for that one, the mod is unchanged.
Greywander wrote:I did get neglect to work, but another bug appears to have popped up, although I suspect it's related to the above issue. As I said, I was unable to raise my skill passed 100, but when my skill decayed to 99, it said I had 1500(ish)/100 to the next level, so I only had to make one potion to get back to 100. (However, the next time my skill decayed, it had 0/100 to the next level).
Hmmm, that should not be possible, and if you had rested it would have triggered vanilla level up. The bit of script that sets the level meter should discard any values outside the proper range. It happened when neglect was appllied? I'll keep an eye out for that one.

Code: Select all

set i1 to ( kpt_ljh_fModLevel * 100 )            ; level meter
if ( i1 < 0 )
  set i1 to 0
elseif ( i1 > 99 )
  set i1 to 99
endif
Player->SetLevelProgress, i1
Greywander wrote:Also, it took around 3 days of waiting to get my skill to decay, and it said it would be around 67 hours until the next decay. My initial alchemy was 45 (altmer, magic spec'd, Alchemy as a major skill).
The most likely cause for this is that the character was created with the old version so it still has the old defaults for settings, a new character with the new version of the mod should be fine if that is the case. It could be that I was testing using settings that I didn't update in the version I uploaded, I'll test again.

I started off using slowdowns, added neglect and ran both systems in tandem for a while, then got rid of slowdowns. If neglect is implemented properly it's almost identical to slowdown, it's just it can slow all the way into reverse. At some point I'd like to make neglect apply directly to skill progress rather than removing whole skill points, so it will act as slowdown until you stop using the skill or the neglect rate overtakes the speed you can advance it (the cap). I am indeed just using ( initialSkill * multiplier ) to calculate thresholds and I agree that this needs to change. Tracking the maximum attained value for a skill is certainly an improvement.

I'm thinking that a way that doesn't actually use initial values may be useful. Deriving the initial skills of a pre-existing character is the only thing holding back character import. I could add all the relevant scripting commands, but I don't want to go overboard with that as at some point there will be de-hardcoding of OpenMW and the mod will have to be ported to use whatever commands it provides.
Greywander wrote:EDIT: Actually, there'd be no reason to use maxSkill in a formula for skill slowdown, since barring jail your current skill would always be equal to your maxSkill. It would be silly to adjust skill slowdown as your skill increased; in that case you should just directly adjust the magnitude of skill slowdown. /EDIT
I want the facility for levelling to be able to freely run in reverse. Other mods can use LJH to make attribute and level modifications by adding/subtracting to/from global variables. It would be nice to see quests and spells that could alter things like that. Level drain was a thing in Neverwinter Nights, it would be nice for it to be a thing in Morrowind too, although level (re)gain would have to be synthesised to some extent.
Greywander wrote:And lastly, the most critical bug in the entire mod: It's spelled "Leveling". (I'm kidding, nobody cares as long as the mod works.)
I did actually have to go check that. Leveling is the correct American English spelling, but I'm Scottish so Levelling is correct here. I should probably change it anyway, to make it international. I got quite a few errors from my internal autopilot putting a u in armour when I was writing LJH :D
User avatar
Greywander
Posts: 119
Joined: 04 Dec 2014, 07:01

Re: Mod: Levelling Just Happens

Post by Greywander »

That was actually with a brand new character, not loading up an old character. In every test I've done, I've always started with a new character.

Anyway, I just tested and skills will now level beyond 100. However, the progress meter is still replaced with "Maximum proficiency reached". I don't see this as a major issue as long as the mod itself works but you'll probably want to fix it sooner or later.

The reason I suggested skill slowdown is because some people (me included) won't be too keen on losing work. I wouldn't want to spend time leveling up a skill only for that skill to decay back down. However, I think it kind of depends on how harsh neglect is. If skill leveling is faster when using neglect versus using skill slowdown, then it might be worth the compromise. This is especially true if neglect is made dependent on the highest skill level achieved and/or you get an XP bonus for that skill when leveling it back up to its highest level after it's decayed.

Oh, and a thought for random Luck gains: Maybe have a meter that runs from 0 to 100, with it giving a point of Luck at 100 (and making sure any extra rolls over into the next Luck point). Then, at a level up, the player gets a random amount between 50 and 100 added to that meter. This way, Luck is still random, the player still averages a 75% chance of increasing their Luck every level (I think?), but the player can no longer save scum to get that "perfect" level up, and the player is guarantied a minimum of 1 Luck every two levels.

Also, I think the source code for 0.36 might be available. See this thread. Not sure if it would be better to wait for it to be officially released.

Oh, one last question, on that note. What happens if I update to a newer version of OpenMW or LJH? Will I need to start a new character, or will it work with a saved game that was already using LJH? I'm eager to get back into Morrowind, but I don't want my save to break if/when I update.
Klepto
Posts: 19
Joined: 16 Apr 2015, 03:56

Re: Mod: Levelling Just Happens

Post by Klepto »

Greywander wrote:That was actually with a brand new character, not loading up an old character. In every test I've done, I've always started with a new character.
My bad then, I'll get that sorted soon.
Greywander wrote:Anyway, I just tested and skills will now level beyond 100. However, the progress meter is still replaced with "Maximum proficiency reached".
Fixed, I think, needs recompile, mod unchanged.
Greywander wrote:The reason I suggested skill slowdown is because some people (me included) won't be too keen on losing work. I wouldn't want to spend time leveling up a skill only for that skill to decay back down. However, I think it kind of depends on how harsh neglect is. If skill leveling is faster when using neglect versus using skill slowdown, then it might be worth the compromise. This is especially true if neglect is made dependent on the highest skill level achieved and/or you get an XP bonus for that skill when leveling it back up to its highest level after it's decayed.
Don't be concerned, I won't force it anything, everything will continue to be configurable, I see that the current system is both too rigid and too arbitrary. Hopefully I'll be able to get a new system knocked up over the weekend.
Greywander wrote:Oh, and a thought for random Luck gains: Maybe have a meter that runs from 0 to 100, with it giving a point of Luck at 100 (and making sure any extra rolls over into the next Luck point). Then, at a level up, the player gets a random amount between 50 and 100 added to that meter. This way, Luck is still random, the player still averages a 75% chance of increasing their Luck every level (I think?), but the player can no longer save scum to get that "perfect" level up, and the player is guarantied a minimum of 1 Luck every two levels.
I think that repetition should even out the changes so the results at higher levels will tend to be the same, although I'm no statistician. The method you propose is more predictable however, and I agree about save scumming being an issue. There's a problem with the timing of scripts right now, I think it's got something to do with global scripts not being able to use StopScript to stop themselves in which case I can compensate. Anyway, luck increases should usually not happen for hours after the level up, that should help avoid save scumming, you won't know if you got a point of luck or not for a few hours. I'll give the luck thing some thought, perhaps have something like initial skill influence where you can scale between completely random and completely predictable.
Greywander wrote:Also, I think the source code for 0.36 might be available. See this thread. Not sure if it would be better to wait for it to be officially released.
I've been meaning to merge upstream changes for a while, and the new release is a good reason to do it now. I need to learn how, but it can't be hard, I don't expect there will be any conflicts.
Greywander wrote:Oh, one last question, on that note. What happens if I update to a newer version of OpenMW or LJH? Will I need to start a new character, or will it work with a saved game that was already using LJH? I'm eager to get back into Morrowind, but I don't want my save to break if/when I update.
It seems LJH is in a state of greater flux than I had anticipated, hopefully that will lead to a better finished mod. After the neglect and possible luck updates and a few other things I'll stop messing about with the global variables and add versioning so you won't need to start a new character with every update to the mod. I hope to be at that stage in a couple of weeks, but things often take longer I expect.

OpenMW is a different thing. Right now the team is busy working on the push towards 1.0 so I suspect it will be a matter of several months at least before the de-hardcoding begins. Until then you will need to use my fork of OpenMW which I will most likely update each release. Once the mainstream OpenMW supports the features needed by LJH a fork won't be needed all.

I am anxious to get a proper game going myself, which is why I decided to do this in the first place. Last night I levelled a character to level 6 and it felt pretty natural. The attribute and level time delays may need shortening a bit, but then again I was an atronach and therefore didn't sleep much. I even managed to suffer a point of block neglect, the skill started at 5 and got as high as 12 before the first point of neglect kicked in, I'd guess it will go as high as perhaps 20 before it tops out.
User avatar
Greywander
Posts: 119
Joined: 04 Dec 2014, 07:01

Re: Mod: Levelling Just Happens

Post by Greywander »

Thanks for all the hard work. Mod compatibility is one of the things that's holding me back from starting a game in OpenMW, and GCD was near the top of my list of necessary mods (although now I wonder if it would have worked properly even in vanilla Morrowind). There's still a lot of mods that I'd want that aren't yet compatible, but maybe that's for the best (in many cases, the incompatibility is due to issues with the mod, not OpenMW, and those issues would be present regardless).
Klepto wrote:I'd guess it will go as high as perhaps 20 before it tops out.
20 seems really low, even for a misc. skill. I get what you're going for, but I feel like there needs to be a compromise between immersion and usability. There will be times where a player feels like they need a certain skill (for example, Levitation in Tel Fyr, and yes I realize you can just buy a potion). Players should be able to reach skill levels that are at least functional, if not optimal. 40 is probably a better general upper limit in misc. skills, as it still gives them access to any skill features they might need without allowing for gross powerleveling. Personally, I kind of like powerleveling, so I'd probably adjust the variables to be a bit more favorable. All this becomes a moot point, however, if neglect becomes dependent on the highest skill level reached rather than initial skill, as if they really need a skill, they can just level it up to the point where it's still usable even with neglect.

Hold on to your hat, passionate rant incoming...
Klepto wrote:
Greywander wrote:Oh, and a thought for random Luck gains..
I think that repetition should even out the changes so the results at higher levels will tend to be the same, although I'm no statistician.
I'm not sure you fully understand why I'm so averse to random stat growth, and this ties back into why I despise the vanilla leveling mechanic so much that I wouldn't play it without a mod like GCD. (Just to highlight the degree of my obsessive perfectionism, I've done playthroughs of Morrowind using the vanilla leveling system wherein I got "perfect" level ups, every time, until my attributes (besides Luck) where maxed out at 100. And no, it wasn't fun. Level ups in Morrowind aren't randomized, but they do require a heck of a lot of careful micromanagement to get "perfect", and that includes save scumming when you accidentally level the "wrong" skill.)

In games that feature random stat growth at a level up, I will obsessively save scum in order to get those "perfect" level ups. And it's not because I'm a dirty cheater, in fact, it's quite the opposite. I feel like the game is cheating me when it gives me anything less than an optimal result. Intellectually I know this to be false, but emotionally I can't help but feel like the game is cruelly toying with me. I'm a perfectionist, so this sort of randomness is positively infuriating to me, and I will go to great lengths to control it as well as I am able.

In fact, this extends to any gameplay feature that is subject to save scumming, even if it doesn't feature randomness. If a game gives me one chance to hack a computer, but lets me save first and reload as many times as I want, then the whole "one chance" is a farce, and it would actually be better to just go ahead and give me unlimited chances to hack the computer.

Any game where save scumming is an issue is a poorly designed game. Either embrace the fact that players will try as many times as is necessary to get the results they want and build that into the game without the need to save scum, or else rework the design so that save scumming is no longer an issue.

On the subject of randomness, there's another issue, too. Namely that good and bad luck tends to compound itself. Sure, most of the time things will fall into the range of "average", but people don't really notice that. What they do notice is when their luck swings consistently in one direction to the point where the gameplay experience suffers. Let's take a JRPG with random stat growth as an example. If they get good luck (whether on accident or through save scumming), then the player can end up with a character that is ridiculously overpowered for their level, at which point the game can become too easy. When the player gets bad luck, it can result in one character that is significantly weaker than the others, making the game too hard. These are what the player will remember after playing your game, not all the times that were "average".

So what can you do? Well, one way is to make every result a positive result, while still being random. To continue the JRPG example, let's say that characters earn a fixed number of stat points when they level up, but the way those stat points are distributed is random. (This assumes that each stat is equally useful for every character.) Now the power gain is always the same every level up, but the distribution of that power is still randomized. For your Luck gains, what you could do is make it so that, over the course of 20 level ups, the player always gains 15 Luck, but which levels increase your Luck and which ones don't is completely randomized.

Another way is to remove the ability to reload and try again. Autosave games like Dark Souls work this way. For a slightly different example, a JRPG with random stat growth could determine the algorithm used to calculate that growth on a new game, which means reloading always gives you the same results. Save scumming thus becomes impossible. The issue of compounding good or bad luck would still need to be addressed, though. And yes, I realize I can choose to not reload, but that's like saying I can choose not to pick up a heart container while playing Zelda. Unless you're doing a self-imposed challenge, there's no reason for it.

And here's where the lazy design of games that allow save scumming comes to light: Imagine if the game in question used an autosave feature, and you could never reload your game. Would you eventually ragequit the game in frustration because it screwed you over without the possibility of (for lack of a better word) redemption? Autosave games have to account for the fact that you will screw up in every way imaginable. Failing is taken for granted, and the only question is how failure should be dealt with.

A game like Super Meat Boy deals with failure by having relatively short levels and by respawing the player immediately after death. Instead of being taunted with a Game Over screen, you jump right back into the action and you're almost never more than 30 seconds from where you died. Dark Souls deals with failure by taking away valuable (yet infinitely renewable) resources (souls and humanity) on death, but this is tempered with the possibility of regaining what you lost if you can get back to where you died without dying again. It's enough to make you fear death, but without making you ragequit when you do die. Both of these games assume you will fail, and build that into the game in a way that isn't frustrating.

So, how can you use this knowledge to redesign your Luck mechanic? Well, you have a couple different options:

I've already mentioned using a 100 point meter and randomly awarding 50 to 100 points at a level up. The problem with your 75% system is that it's binary: either you get a Luck point, or you don't. It's this coarse randomness where good and bad luck will compound itself. If instead of having 2 possible results, you have 50, then the fine grain insures that you're much more likely to remain in an average range. The guarantied minimum of 1 Luck every two levels also insures that bad luck wouldn't completely cripple the character. Furthermore, not knowing the exact number of points you earned or how many you need to get the next luck point makes save scumming impossible.

Another possibility I mentioned in this post was always giving 15 Luck over 20 levels, but randomizing which levels will give Luck. This way, the player can remain confident that they'll always have the same amount of Luck once they reach a certain level, they just can't be certain about their Luck for the interim levels. Not getting Luck at a level up is no longer a bad thing, it just means you have to wait a bit longer, and you'll be guarantied to have certain results by a certain level.

Another option is to have your Luck randomized, but entirely dependent on your current level. For example, every time you level up (or down), calculate the average Luck for that level, add a random number between +5 and -5, add in the player's initial Luck, and if that amount is greater than your current Luck (or less than for leveling down), then that becomes your new Luck. This way, the slate is wiped clean with every level up. Even if you have the worst luck possible at one level up, at the next level up you get a second chance to start over fresh and any previous bad luck becomes irrelevant. Getting screwed over by the Random Number God is now only a temporary setback, not a permanent handicap.

I should probably mention that I play single player games considerably differently than I do multiplayer games, and CRPGs differently from PnP RPGs. I'm much more willing to make concessions when there are other people involved. Also, I find it much easier and more enjoyable to roleplay in PnP RPGs than in CRPGs (where I generally find it pointless).
Last edited by Greywander on 07 May 2015, 08:30, edited 1 time in total.
User avatar
Greywander
Posts: 119
Joined: 04 Dec 2014, 07:01

Re: Mod: Levelling Just Happens

Post by Greywander »

Klepto wrote:
Greywander wrote:Anyway, I just tested and skills will now level beyond 100. However, the progress meter is still replaced with "Maximum proficiency reached".
Fixed, I think, needs recompile, mod unchanged.
I just tested it again and I'm still getting this problem. I even redownloaded and rebuilt OpenMW just in case I hadn't done it properly the first time.

EDIT:
I was thinking some more about the Luck mechanic, and I like that third option I presented in my last post, but I think it could use some tweaking. Instead of recalculating the player's Luck at a level up/down, do it periodically (every day, every hour, every eight hours, whatever) and apply the new Luck value regardless of whether it's greater than or less than the player's current Luck. You could factor in the player's level when determining the range of Luck values. For a formula, you could have something like

Luck = (Level * 0.75) + random(-luckRange...+luckRange) + initialLuck

where luckRange = 10 + (Level / 10).

This way, sometimes the player will have good Luck, and sometimes bad Luck, but the player's Luck will still generally trend upward as their level increases, and poor luck (as well as good luck) is only temporary.
Tinker
Posts: 231
Joined: 06 Mar 2013, 17:35

Re: Mod: Levelling Just Happens

Post by Tinker »

My own take on savegames, the way I always play, except for testing, is there is only one save game per character, that is made when I need to stop playing and is reloaded when I next start. If my character dies for any reason then the save is deleted, that character is dead and cannot be resurrected. Not for everyone, I know, but I find it much more involving.
User avatar
Okulo
Posts: 672
Joined: 05 Feb 2012, 16:11

Re: Mod: Levelling Just Happens

Post by Okulo »

Klepto wrote:I should probably change it anyway, to make it international.
Fun fact, American English is not international - it's... well... American. Over here we learn words in English English, so 'levelling' is just fine. :p

@Greywander: Could you do more rants on game design? That was a pleasure to read. Spot on, too.
Klepto
Posts: 19
Joined: 16 Apr 2015, 03:56

Re: Mod: Levelling Just Happens

Post by Klepto »

@Greywander...
I broadly agree with what you are saying, thanks for your insights, I think we both have similar view of the problems with gameplay and what to do about them. I'm no stranger to powerlevelling, I used to play NWN on the 3 Towns server and every time anyone levelled the whole party would have to wait about until they got a perfect hit point roll. No saved scumming there of course, but it's a good example of the problem with random stat growth that you identify.

Some of the most enjoyable games of Morrowind were played using the Advanced Save System mod. It only allows you to save your game at specific locations, generally in towns. It forced me to play my game in a more cautious way and removed the ability to save before every fight and every new zone. There was also the Hardcore Rule Book mod which I never used but which restricted saving to temples and added resurrection for the player, ie. respawning. I'd like to do something along these lines for OpenMW at some point, if no one else does it first. I do however understand that this doesn't really solve the issue, removing the ability to save-scumm isn't the same as removing the urge to do it, and the urge is caused by broken or ugly mechanics that are open to exploitation.

I don't think the only answer is ensure that nothing bad can happen unless the player does stupid things, for fear that the player will simply reload. Permanent bad things can and should happen, and they need not be fair. They should never be game breaking, and in time they become part if your character's rich and varied history, one of the things that makes the character unique. A good thing not happening is not the same as a bad thing happening. Over recent years CRPGs have tended to shy away from frustrating the player and I think it's that change that's behind the accusations of '"dumbing down". Perhaps frustration is the wrong word, challenge might be better, or something between the two. I think the perfect system would be one in which perfectionism was not possible, relevant or desirable.

I was aware that the luck mechanic was open to exploitation but I hadn't figured out quite how to deal with it. With save scumming you could even take a point of luck from a level, go to jail and lose a level but not lose a point of luck, and repeat until you have luck a billion. Your solutions should remedy that, I'll certainly do something about it, but I do like that luck can have a real impact on a character. As with everything it should remain optional and configurable.
Post Reply