Page 1 of 1

New level-up system?

Posted: 22 Aug 2011, 21:35
by lgromanowski
ezzetabi wrote: The Morrowind level up system is kinda unnatural.
Since skill increasing is based on successes to improve your skills you have to focus on small tasks (Who didn't walked around casting extremely weak spells?). Beside only the Major and Minor skills actually mattered.
Once you increased enough your skills you could level-up and increase your Attributes; you can increase more if you used the related skill more. Consequently most player will not level up until the mythical 5x.

The famous mod Galsiah's Character Development reduces the problem, but I still find it unsatisfying.
In my opinion the initial division of skills (Major, Minor, Others) should be only a background detail and, starting skill value a part, should not influence the game at all.
It is important because Morrowind is long game, and being forced to restart for a mistake in the begin is extremely frustrating and I like the idea that even if the character was a merchant can become a fighter without being punished by the game.


In detail, here is what I would do; since it is plenty of coders around here I have no fear writing few simple formulae.

For each skill there is a counter, this counter increase each time your character do a related action (e.g., Long Sword will increase when attacking) using this formula:

1 - 2*abs(0.5 - c)

where c is the chance of success c \in [0,1].

As you can see the peak is when the player is doing something where the chance of success is 50%, in that case the increase is maximum. This function is normalized to 1, when different actions can be used to increase a skill (i.e., swim or run) you can just multiply. In few cases the chance of success is not available, so the value of c will be something different. For example for Acrobatics Swim I would put the current stamina ratio.

What is the point? The point is push the player to seek challenge to its level, there is no reason to cast weak spell or attack rats when it does not teach anything. On the other hand, for the same reason, there is no reason to cast impossible spells or attack Golden Saints when you are not ready.

Applying a logarithmic function for the counter you get the effective skill value. Logarithm goes to infinity, but it continuously slow down. So that increase 10 to 11 will be easier than 20 to 21.

Skill value = w*log(counter)

w is a weight that must be found playing the game.

For each skill counter I would make an influence table. Increasing the skill counter (using the skill) will consequently increase all the Attributes.

Example, the Long Blade table can be:

Agility 0.15
Endurance 0.2
Intelligence 0
Luck 0.05
Personality 0.05
Speed 0.05
Strength 0.5
Willpower 0

Increasing the Long Blade skill counter will increase Strength a lot; Endurance and Agility quite; Luck, Personality and Speed a little. Luck will be `a little' for every skill.

For the effective increase you just sum all the skill counters weighted with the table and apply a logarithmic function.

The Level is somewhat calculated from the Ability increases and it becomes only a game detail for encounters.


What do you think?
Star-Demon wrote: Firstly, Obligatory "This is post 1.0 or a mod".

Otherwise, since you're using algebra and Calculus, I'm going to assume you have a mathematically fair and logical system.

However, I think it's more appropriate to think of it as this way:

Making cantrip spells for safe and easy skilling up is a pain and very unrealistic. Either failures should produce learning on some level or successful casts should reward more based on skill required. (they kinda do)

The actual problem is the emphasis on successes. Failures don't produce any reward, and now your MP or materials are gone. This is most glaring in Enchanting, where large investments simply get lost. In alchemy supplies are plentiful, so it's not as bad.

But, and let me underline, the problem has a different practical implication for each set of skills. I'm not confident that some math will help, because the process of "practice" and "use" in each set is different.

Therefore, the best solution to the problem is either micromanaging how many times something can be done versus how often it will succeed, fail, and then apply rewards as a function of actions and time.

Lots of work, to be honest.

At any rate - it's nice to hear other ideas...I was thinking of trying to manage a side project that would handle basic Morrowind balance fixes that popular mods could make standard. Among them are regenerating magic, fatigue edits, enchanting balance, and such. It'd play into a lot of the ideas coming in, but the first thing is first: we need a working game to actually make edits to.
ezzetabi wrote: I am not sure what you mean with 1.00 or mod. Not everything I said can be done with the Morrowind scripting system. At least the broken and hacked up official one. So it might need some changes at deeper level, in that sense we do need a working game.

Maybe I did not stressed enough, in my idea you do get experience from failure. You just have to `do the action' and you get the experience. The point is `how much': how much experience you gain is based on the chance of success. And the maximum experience is gained when the chance is 50%.

I do not like to speak about `realism' in a fantasy game (what is a realistic vampire or a realistic magic?). The objective is playability, fun and immersion: if you earn the maximum when you do a 50% chance of success action, it means you are doing something at your level and it is more difficult to abuse.

There is no need for an archmage to cast ``strike a match'' destruction spell and for a novice trying to cast `end of all' destruction spell is at the same way a waste of time.

I did not spoke about, but I was also thinking to something that lowers your skills if you do not use them. To emulate even better the live of the character.

Of course the problem of determining the weights (how much every action gives, the skill to ability influence table...) does exist, but if based on some easy to modify variables it should be somewhat easy to tweak.

The point of thread is talking about a new idea for the leveling system.
Star-Demon wrote: I understand that you have rewards on failure, but you can do more failures or successes per second with in one skill than another. They also have to scale in line with the combat spec and major and minor skills.

And what I mean by "1.0+ or mod" is that there's no plans to change the game's mechanics until after 1.0, in which case mods or alternate packages and settings have to be developed.

Often folks come in with recommendations, and it's cool, but it seems like the project is being treated like a mod because there are people that didn't like morrowind's system.

Anyways, most players not leveling up until they get 5x is not something you should concern yourself with. It's a feature of any system that players MAY (not will, I personally don't care) take advantage of to minmax. Now, that same sample of players will just to the 50% tasks. Highest success, best returns. You can't balance around minmaxing. It's a headache, and usually ends up becoming academic.

Although I'm still confused on why any player would want to have a %50 success once in a task that requires higher investments in time and materials. Just spam failures or low success en masse at faster rate. Unless you have the coefficients in place to offset every individual skill to match the performance of a user from actions over time...but by then you now have a high-complexity system for each skill...

What I would do in that problem is to simply apply stat changes on the fly, force levelup assignments, or something similar, unfortunately, you're robbing the player of choice no matter what.

I think your system is fairly well-thought out, but ultimately it's something I have to play out. The math is fine and sound, but the practice is what matters. (The rest is probably academics.) I have a bad feeling that, with your final words on levelups really make suspect every NPC and creature in the game. Can you really write-off the implications of this when so much content depends on it?

Personally, I think it's worth a shot. So save it - we'll see, come time, if it works out better when OpenMW can be played like original Morrowind. :)

Get a lot of feedback on what contingencies it depends on, then test it. Test test test.
ezzetabi wrote:
Star-Demon wrote:I understand that you have rewards on failure, but you can do more failures or successes per second with in one skill than another. They also have to scale in line with the combat spec and major and minor skills.
It is the weight problem, we have already the default Morrowind ones to start. But of course it needs some testing.
Star-Demon wrote:And what I mean by "1.0+ or mod" is that there's no plans to change the game's mechanics until after 1.0, in which case mods or alternate packages and settings have to be developed.
It is reasonable, after all it is a reimplementation.
Star-Demon wrote:Often folks come in with recommendations, and it's cool, but it seems like the project is being treated like a mod because there are people that didn't like morrowind's system.
After all if I just want play vanilla Morrowind... Why not just use Morrowind?
Star-Demon wrote:Anyways, most players not leveling up until they get 5x is not something you should concern yourself with. It's a feature of any system that players MAY (not will, I personally don't care) take advantage of to minmax. Now, that same sample of players will just to the 50% tasks. Highest success, best returns. You can't balance around minmaxing. It's a headache, and usually ends up becoming academic.
Trying always to get the 50% is a good choice, but thats the point. It forces the player to seek new and greater challenges.

Star-Demon wrote:Although I'm still confused on why any player would want to have a %50 success once in a task that requires higher investments in time and materials. Just spam failures or low success en masse at faster rate. Unless you have the coefficients in place to offset every individual skill to match the performance of a user from actions over time...but by then you now have a high-complexity system for each skill...
High complexity? Am I speaking with people who are trying to remake Morrowind?

Anyhow, the original formula was:

(1-((cos(2*pi*c)+1)*.5))^w

where w>=1 is another weight :S This one reduces the experience near 0% and 100% of c.
Star-Demon wrote:What I would do in that problem is to simply apply stat changes on the fly, force levelup assignments, or something similar, unfortunately, you're robbing the player of choice no matter what.
In my idea the player would only decide Major, Minor, Other skills and this would set the starting values. And naturally using the skills everything would be left to the computer.
Star-Demon wrote:I think your system is fairly well-thought out, but ultimately it's something I have to play out. The math is fine and sound, but the practice is what matters. (The rest is probably academics.)
Well said... but as scientist academics is my life. I seldom forget the rest. (now I think about it... how long is I do not play Morrowind?)
Star-Demon wrote:
Get a lot of feedback on what contingencies it depends on, then test it.
Yeah. So be it.

Btw, I noticed I put the thread in `off-topic'? It is not random.
Star-Demon wrote: Hehe it's okay, it's all cool. As I said, I personally wouldn't mind testing it somehow.
Star-Demon wrote:
ezzetabi wrote:Well said... but as scientist academics is my life. I seldom forget the rest. (now I think about it... how long is I do not play Morrowind?)

Btw, I noticed I put the thread in `off-topic'? It is not random.
I hear ya. Experimental science versus Theoretical science, and so on. :P

http://www.phdcomics.com/
:D
pogzy wrote: Hi,

OK with the fact that what is proposed not a 1.0 Vanilla Morrowind stuff, but perhaps (I do not know the code) the code could be put in a way so that it could be easy to switch between different functions of level up. So that after all a switch in config that enables the player to choose between several type of game should be fun. And it could be done for every aspect of the game that need functions that could be changed later, if they are coded now in a way that make it easy to try other functions.

Is it OK that anybody can code post v1.0 functionalities if it does not slow the project?
Star-Demon wrote: Recent mod came out on PES that has skillup on failures - might want to take a look at that one for comparison.
ezzetabi wrote: I did not only took a look... I wrote that mod. It seems someone liked it so I am fairly happy of it.

However there is still (at least) a dumb bug: when your handtohand skill increase the message that appears says `alteration' :S.

I think I found a quite ok leveling system: the failure increase and GCD with
SKILL_SLOWDOWN_START 90
SKILL_SLOWDOWN_SPREAD 0
Gals_SKILL_SLOWDOWN_RATE 1.04
ATTRIBUTE_SPREAD 0
RACIAL_ATTRIB_PROGRESS 0
INITIAL_SKILL_OFFSET 65536
so that the initial choices do not influence the future. As default GCD makes initial choices even more important than the original system.

Just imagine your Steel Mace wielding hero:
- Oh. It just happen there is a egg mine here: Maesa-Shammus... Cool! Let's explore a bit.
...
- Oh, it just happen there is a dead body here with a... A daedric dai katana?!? Drop the mace, I wanna use this weapon.

With failure increase and GCD with those settings you can do it in a equilibrated way (imo).
Star-Demon wrote: Hehe Oh! I'm surprised! I didn't think you'd do it. I should take a look for sure, then.
ezzetabi wrote: Oh? Why not?


Time ago I also worked on a new level-up system.
But I never finished it...

Now that I got interest back in MW (overall thanks the fact this project is not dead) I read the old code and I remembered it actually misses only an health system (now health never changes). It has already uncapped skills used to increment uncapped abilities and levels (up to 200) and a magicka regen script. Most of it should work as it is based on the ideas of the well tested GCD.

So I might release it too. (Or just play... :S)