BGS can give us a simple but powerful tool to add new flavors to the character leveling system.
=== === === === === === === === === ===
Character leveling has always been one of my main concerns with TES series and I have always had a lot of ideas to improve them, but the released information of the current method used in Skyrim does seem a lot better than the previous methods, and has reduced my concern in this era a lot.
But it does not mean that I do not have new ideas for Skyrim.
We know that initial character classes and attributes are out and IMHO this is good news, as it removes the artificial bounds on our characters and our activities, and remove the reasons to grind and power-game.
And we know about how we gain levels and how it encourages us to specialize, but it is not completely true and specialization only increases the speed of level progression and with some patience, we can still make our omnipotent jack of all trade characters, skill-wise, if not perk-wise.
The TES leveling method always encouraged this approach and in Skyrim, a big part of the problem still remains.
Lower level skills DO still progress a lot faster than higher level skills, so you can abandon some skills, and any time you can return to them and speedily increase them to reach the other skills, and the higher level skills have lowered progression rates, so it is still encouraged to become jack of all trades, a bit, as the cost is not much.
The normal human beings are always better with what they currently do and if they want to try some other action which is completely different with the actions that they are actually good, they start slow with new ones, and gradually gain momentum with them, especially with the actions that are totally different with their current specializations.
So for instance if I am good at physical actions, I can learn new physical actions sooner than new mental ones, and wise versa.
=== === === === === === === === === ===
I fear there would be a bit of technical info in the lines, but for a quick and simple view of what is coming, I like to quote a friend:
Simplified version:
First, he wants to be able to affect and alter the progression rates of all the skills (how fast they advance), but he wants to be able to layer these multiple factors so that more than one factor is influencing those progression rates at the same time.
Factors include:
-Aging (you can't teach an old dog new tricks) the longer you ignore a skill the harder it becomes to increase it later on, which would go against Skyrim's vanilla system.
-Don't use a well developed skill for awhile; then maybe you begin to lose some of the progression you already achieved with it, or at the very least it has less of an effect on your character's overall growth when you finally do start using it again. ... For another type mod.
-Similar skills will allow for faster progression. If you've already trained hard with a sword, then when you pick up an axe for the first time, you will gain levels faster with it, because of the fact that you have already studied hard with a sword.
-Your skill advancement will peak and plateau at certain predetermined levels (25, 50, 75, etc.) and require you to seek out the aid and apprentice under an in-game trainer of higher level(journeyman, master, etc.) before further advancement is realized through that skill's use.
-Having not slept in awhile will slow the rate of progression when using intelligence based skills.
-Having not eaten in awhile will slow the rate of progression when using physical skills.
-Training with a trainer will not increase your skill level, but instead it will give a boost to that skill's rate of progression for a limited amount of time after training.
The possibilities are plenty and the list goes on and on, but what Sphagne wants is the proper programming, or a more efficient tool that is a part of the creation kit that can balance and layer all of those effects at the same time and apply them in the proper circumstances of the game, as well as a way for mods that alter skill progression in conflicting ways to be able to be used at the same time....I THINK.
Yes, with this tool, mods can alter the skill progression rates for different skills as layered effects that would not conflict with each other and a mix of all those effects is applied to the core leveling system.
As for the technical info, they are there to show that this idea is not just a whim and IMHO relatively quite easy to implement with a great result.
=== === === === === === === === === ===
Here I wanted to suggest a variation of the current confirmed character progression method, and I will suggest it later, but for now, I thought better of that, and I just suggest to them to give us a simple and easy to develop tool, that would give us all the power we need to develop any variation of the current character leveling that we like to have, regarding the progression rates, and the like.
And I would give examples of what can be done with this system, and maybe they like them and implement them internally, or they might just give us the tool, so that we could develop them ourselves.
And as I have been a programmer myself, I can guess that this tool would not need more than a few days to develop, and would give us a very versatile tool to develop our flavor of character leveling method.
So here it goes.
=== === === === === === === === === ===
Let's start simple, and develop on that:
We can have an array of 18 floating point numbers, (real number as opposed to integer), that get multiplied to the amount of skill gains each time we do an action that would result in our skill gains, one element of the array for each skill.
This array can reside in memory and two simple script functions can give the modders access to the array, one to check an element value and other to change that value.
So in the real time the modders can change the value related to a skill, from 1.0 to any number above or below 1.0, to increase or decrease the amount of that skill's progression rate.
So after that, the skill could advance in an increased or decreased rate, and we can reset the progression rate, by setting the value to 1.0.
Each time the game starts it can fill the array with 1.0 s and let modders change them after that.
=== === === === === === === === === ===
Using this tool, I can make a mod that would introduce a new character leveling method that in one integrated formula addresses all the above mentioned problems, and become as natural, believable, and enjoyable as possible.
In this method, your race defines your initial specialization, but early on you can easily mold your character as you like, but the more your character grows and specializes, the more fixed it becomes and the more time it takes to alter your specialization, but it would never become impossible, only more time consuming.
So if you want to become a spell caster, you are better off if you select a race which is better spell caster, but if you select an Orc for example, then you'd better start to practice spell casting as soon as possible before it becomes too late to alter your brute nature.
And it would be a challenge of sorts to make characters that are not compatible with the initial choice of the race, but an interesting one.
I would use a formula in which your level affects the rate of your skill progressions, but it should affect the lower skills more than the higher level skills, so I would suggest the following formula as the initial mold, but I might change it a bit later on:
Skill Progression Rate (SPR) = A * ( B + Skill_Level ) / (B + Skill_Level + C * Character_Level )
OK, typically the coefficient A should be a bit larger than 1.0, so it affects the skill progression rate of earlier levels positively.
B would be the softening effect for the formula, so the higher rates for B would decrease the effect of the formula, and the "Aging" effect of the character.
On the other hand, C would affect the effect of the character level on the aging formula, and I would play with the numbers to reach a good result, and would give the players the option to change them as they like.
=== === === === === === === === === ===
This would add a great tool for the modders, but could not support more than one mod at a time, so how can we eliminate the conflicts between different mods.
Because for instance I might want to add the aging effect for the characters, but another mod might want to alter the skill teaching mechanism so that each lesson do not increase the skills instantly and only give a boost to the skill progression rate of that skill for a while and reduce the boosted rate gradually until it returns to the normal rate.
Another mod might add the similarity effect between skills, and similar skills affect the progression rate of each other positively and affect non-similar skills negatively.
And another mod might want to provide a soft cap over each skill mastery level until we find a proper tutor for that skill, and convince him/her to accept us as a trainee, so after we reach to level 25 in a skill, our progression rate of that skill would start to fall progressively after that level, until we find a journeyman of that skill, (or higher level teacher), and convince him to accept us as an apprentice.
After that our progression rate would revert to normal for that level, and this would happen again for the next levels of mastery and so on...
In fact I had planned to add all the above effects in a single mod called DICE for oblivion, but I dropped the project, and I might tell you why, in the end of this post.
Another mod might want to add a realism effect and decrease the progression rate of mental skills when you need sleep, and decrease the progression rate for physical skills when you need nourishment, and so on...
=== === === === === === === === === ===
So how can we eliminate the conflict between the mods?
We can have more than one "Skill Progression Rate Factor" array, SPRF array, and tag each array by the name of its effect, so one array can be called "Aging" effect, and another one can be called "Tutor" effect, and another one can be called "Mastery" effect, and another one can be called "Realism" effect, and so on...
A mod can check if there is a SPRF array tagged "Aging", and if so then get a hook to that array if available, or create a new SPRF array, if not currently available, and check or alter its elements after that.
As the game starts, there are no SPRF arrays, but at the initialization stages, the mods can add their arrays, and keep a hook for each of them, and work on those arrays in the run time.
There is no need to save those values in the save games, and there is no need to alter anything in the current game, except adding the system to manage those SPRF arrays and five scripting language functions.
- A function to check to see if an SPRF array is already made, by another mod probably, and get access to its hook.
- A function to make a new tagged SPRF array and fill it with 1.0 s and give a hook for the new one to the modder.
- A function to dismiss a hooked SPRF array.
- A function to check the value of an SPRF array element.
- A function to alter the value of an SPRF array element.
And each time that the value of an element in an SPRF array is changed, they have to multiply the values of all the elements of that index in all the current SPRF arrays and keep the result in another array, and multiply the value in that resulting array with the skill gain of each skill as we are advancing our skills by actions.
That's all and nothing more is needed, and the rest can be done by modders.
=== === === === === === === === === ===
Here I wanted to tell the detailed tale of how I suggested such a system to the OBSE team, and how they initially accepted the suggestion, and how one other guy in the forums talked them out of it, and how this resulted in the complete loss of my already decreasing interest in Oblivion, so that as a result, I dumped my last projects "Dynamic Danger Zone" and "DICE" for Oblivion.
But that's over now, and I moved forward, and now I have my full sight and attention focused on the next game, Skyrim, and if they provide us with this nice tool, we all can easily add our different flavors to the character development system.
Edit: Reverted to the original fonts, because some people had difficulty reading it, but for myself, Verdana is a great font.