Ideas:chad3f:SkillsSystem: Difference between revisions

Jump to navigation Jump to search
Content deleted Content added
imported>Chad3f
imported>Olush
mNo edit summary
 
(74 intermediate revisions by 2 users not shown)
Line 3: Line 3:
Some of these ideas may have already been mentioned in some form, but this will cover my ideas as a whole.
Some of these ideas may have already been mentioned in some form, but this will cover my ideas as a whole.


=== Acquired Sklls ===
=== Acquired Skills ===


Instead of limiting skills to general attributes such as atk and def, create itemized skills that map to realistic real-world skills (where possible, as a few synthetic ones may be needed).
Instead of limiting skills to general attributes such as atk and def, create itemized skills that map to realistic real-world skills (where possible, as a few synthetic ones may be needed).
Line 28: Line 28:




Except for ''Enemy experience'', all of these skills would also be assigned to creatures. And with persistent non-player storage support, even specific player experience could be a factor for creatures. So the more you fight a specific create (or type in an area), the better it is against you. as if it learns to anticipates your combat.
Except for ''Enemy experience'', all of these skills would also be assigned to creatures. And with persistent non-player storage support, even specific player experience could be a factor for creatures. So the more you fight a specific create (or maybe type in an area), the better it is against you, as if it learns to anticipates your combat.


=== Item Skills ===
=== Item Skills ===
Line 88: Line 88:
The proportional skills from the item is then scaled (multiplied) against the player's current value for the corresponding skill. All of these values are added together, which have a maximum total of 1.0. This total is then use to apply/scale the item's normal potential (like atk, or whatever might replace it) and applied as needed. As skills are gained from use of an item, the gain is divided up based on the proportion each skill's weight and added to the player's skills (based on it's independent implementation).
The proportional skills from the item is then scaled (multiplied) against the player's current value for the corresponding skill. All of these values are added together, which have a maximum total of 1.0. This total is then use to apply/scale the item's normal potential (like atk, or whatever might replace it) and applied as needed. As skills are gained from use of an item, the gain is divided up based on the proportion each skill's weight and added to the player's skills (based on it's independent implementation).


To allow externally defined/gained skills (like those that may be taught by an NPC) which shouldn't be implicitly increased by using them, another option could be added to the [xml] description for those skills. In this case, gained skills could either be distributed as normal (skipping updates for those skill(s)), or calculate update proportions as if those special skills didn't exist.
==== Example Case ====


=== Example Case ===
Assuming a new player, that has no skills except the default ''attacking'' skill that has a value of 0.5. The player has a knife a preceeds to use it, over time gains skills related to it. The maximum atk potential of a knife for this example is 10.

Given a new player, that has no skills except the default ''attacking'' skill that has a value of 0.5. The player has a knife and preceeds to use it, over time gains skills related to it. The maximum atk potential of a knife for this example is 10.


Here are the calculated proportions for a knife, along with the player's skills and scaled result:
Here are the calculated proportions for a knife, along with the player's skills and scaled result:
Line 112: Line 114:
effective_atk = (10 * 0.074) +/- (10 * 20%) = 0.74 +/- 2.0 = [0.00 - 2.74]
effective_atk = (10 * 0.074) +/- (10 * 20%) = 0.74 +/- 2.0 = [0.00 - 2.74]


In this case, let's assume the the number 1.60 was generated. Assuming this was enough to kill something after a few hits (perhaps a rat), and the total xp earned was 20, the amount of xp given to each skill is:
In this case, let's assume the the number 1.60 was generated. And assuming this was enough to kill something (or accrue per-hits xp), with the total xp earned being 20, the amount of xp given to each skill is:


portion skill xp

portion xp
attacking 0.147 2.94
attacking 0.147 2.94
knife 0.294 5.88
knife 0.294 5.88
Line 123: Line 124:
agility 0.102 2.06
agility 0.102 2.06
strength 0.014 0.29
strength 0.014 0.29

These dived xp points are then added to each skill (this example assumes skill is stored as xp and converted to [0-1] skill values when needed). The next time the weapon is used, the new skill values contribute to it's potential as before, only this time resulting in a slightly better use (statistically speaking, given the random factor and other optional external effects [like karma]).

Now let's say that many days (or weeks/months) have passed with the player constaintly using only their knife and improving their associated skills.. so much so, they have maxed out all those skills to their full potential (1.0) and finally decide to upgrade to a short_sword with a full atk of 20.

As before, here are the calculated proportions/player skills/totals for the sword:

portion player final
attacking 0.118 1.000 0.118
sword 0.235 0.000 0.000
short_sword 0.235 0.000 0.000
slash 0.118 1.000 0.118
stab 0.035 1.000 0.035
range_close 0.118 1.000 0.118
range_medium 0.024 0.000 0.000
agility 0.059 1.000 0.059
strength 0.059 1.000 0.059
+ =====
0.507

In this case all the common skills have been transfered, but the ones not related to a knife as still their untrained defaults. So the final scale is 50.1%, or an effective atk of 10 +/- 4.

Now the values shown may not be very realistic, as they were just needed to demonstrate the algorithm.


----


Other pages
* [[Ideas:chad3f:CombatSystem|Combat System]]