From The Mana World
(CBLADE and STATS)
m (get rid of unused template)
 
(36 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{Category_gameconcept}}
{{Status_yellow}}
{{Status_yellow}}
== Attributes ==
== Attributes ==


Below a list of attributes encountered in today's role playing games. The idea is that we'll pick a subset of these that gives enough flexibility and allows for a nice combat system, but is also easy to understand.
We have the following 6 attributes:
 


{| border="1" cellspacing="0" cellpadding="3"
{| border="1" cellspacing="0" cellpadding="3"
! style="text-align: left; background-color: rgb(240,240,240);" | Name
! style="text-align: left; background-color: rgb(240,240,240);" | Name
! style="text-align: left; background-color: rgb(240,240,240);" | General effect
! style="text-align: left; background-color: rgb(240,240,240);" | General effect
! style="text-align: left; background-color: rgb(240,240,240);" | 1
 
! style="text-align: left; background-color: rgb(240,240,240);" | 2
! style="text-align: left; background-color: rgb(240,240,240);" | 3
! style="text-align: left; background-color: rgb(240,240,240);" | 4
! style="text-align: left; background-color: rgb(240,240,240);" | 5
|-
|-
|''Strength''
|''Strength''
|Increases damage and max inventory weight
|X
|X
|X
|X
|
|
*[[Damage_calculation|damage with melee weapons]]
*inventory weight
*prerequisite for string-based ranged weapons
*prerequisite for heavy melee weapons
|-
|-
|''Strength Type 2''
|''Dexterity''
|Increases maximum inventory weight, Maxium Stamina and Stamina Regeneration
|
|
|
|
|X
|-
|''Combat''
|Increases Damage and Combat Hit Probability
|
|
|
|
|
*[[Hitting_and_dodging|chance to hit]]
|X
*damage with ranged weapons.
*prerequisite for elegant melee weapons
|-
|-
|''Agility''
|''Agility''
|Increases chance of evasion and walking speed
|
|X
|
|X
|
|-
|''Dexterity''
|Increases chance to hit and missile accuracy
|X
|
|X
|X
|
|-
|''Dexterity Type 2''
|Missile accuracy and Critical Hit Ratio
|
|
|
|
|X
|-
|''Dodge''
|Increases Evasion Rate
|
|
|
|
|X
|-
|''Parry''
|Increases the chance for a retalitation strike
|
|
|
|
|
|X
*[[Hitting_and_dodging|chance to dodge]]
*Running speed
|-
|-
|''Vitality'' / Endurance / Constitution / Fortitude
|''Vitality''
|Increases health and stamina regeneration rate
|X
|X
|X
|X
|
|
*maximum hit points
*hit point regeneration rate
|-
|-
|''Consitution Type 2''
|''Intelligence''
|Increases health and health regenration, resistance to desease, poison and other ailments
|
|
|
|
*Spell recharge speed. See [[magic system]].
|
|X
|-
|-
|Energy / ''Intelligence'' / Magic / Mentality - Basic
|''Willpower''
|Increases mana and mana regeneration rate
|X
|X
|X
|X
|
|
*Spell damage. See [[magic system]]
|-
|-
|''Wisdom - Basic''
|Increases how much you can remember (spells)
|
|
|X
|
|
|-
|''Spell Evasion''
|Increases magic evasion rate
|
|
|
|
|X
|-
|Spirit / ''Willpower'' / Awareness
|Increases magic defence
|
|X
|
|X
|X
|-
|Personality / ''Charisma''
|Related to bartering, getting information, getting into fights, diplomacy skills
|
|X
|X
|X
|X
|
|-
|''Luck''
|Increases luck in many areas
|
|X
|
|
|X
|-
|''Speed''
|Determines how fast you can do things
|
|X
|
|
|X
|-
|''Magic Speed''
|Like Speed, but Speed is combat and Magic Speed is Spell Casting
|
|
|
|
|X
|-
|''Wisdom - Expanded''
|Determines Magic Regeneration Rate and Spell Failure, and Sanity
|
|
|
|
|X
|-
|''Intelligence - Expanded''
|Determines Maxium Mana, and Maximum Spell Levels, Skill Points needed to learn Skills, Experience Gains and Spell Power.
|
|
|
|
|X
|-
|''Injury Tollerance''
|How much injury can occur before taking stat penalties. (Healing Items do not effect injury, only health.)
|
|
|
|
|X
|}
|}


# Diablo ([http://en.wikipedia.org/wiki/Diablo_(computer_game)#Character_Attributes attributes])
The effective value of attributes may never be below one. Even when modificators push it to zero or below the value used by formulas is always at least 1 to avoid divisions by zero.
# The Elder Scrolls (attributes in [http://www.svatopluk.com/arena/manual/stats.stm Arena], [http://www.uesp.net/wiki/Daggerfall:Character_Creation Daggerfall] and [http://www.uesp.net/wiki/Oblivion:Attributes Oblivion])
# Angband ([http://www.zangband.org/Docs/Character-Attributes.aspx attributes])
# The Mana World (proposal)
# CBlade Also Discovered for the consideration of the mana world...
At the moment, ElvenProgrammer and Bjørn agreed to have the following 7 attributes:


''Strength, Agility, Dexterity, Vitality, Intelligence, Willpower and Charisma''.
===Derived Attributes===
;Hit points: (vitality + 10) * (level + 10)
;Hit point regeneration: (vitality + 10)² hp per minute
;Hit accuracy: Agility + Weapon Skill
;Dodge Accuracy: Dexterity * 10 / (10 + equipment weight in kg)


=== Derived attributes ===
== Deriving level from skills ==


Derived attributes are the ones that are visible to the player, representing certain necessary concepts. These include:
The character level depends mostly on the best skills of the character and less on the less good skills.


* Your maximum health, mana (or magicka) and stamina (or fatigue)
We multiply the skill level by a factor based on to what extent the skill is one of your top skills, and divide the sum by a given amount. When ''n'' is the index of the skill in the list sorted on skill level, 0.9<sup>''n''</sup> could be the factor. An example with 10 skills for a typically average trained character (with skills and level going from 1 to 100):
* Damage dealt on hit (usually comes with min and max)
* Chance to hit when attacking
* The amount you can carry (encumbrance)


== Skills ==
<pre>
n  Factor        Skill
0  1.0        *  78  = 78.0
1  0.9        *  65  = 58.5
2  0.81        *  53  = 42.93
3  0.729      *  40  = 29.16
4  0.6561      *  40  = 26.244
5  0.59049    *  38  = 22.43862
6  0.531441    *  33  = 17.537553
7  0.4782969  *  23  = 11.0008287
8  0.43046721  *  20  =  8.6093442
9  0.387420489 *  15  =  5.811307335
  -----------            -------------
  6.513215599            300.231653235


Interesting notes about possible skill systems were made at [[skill system]], [[skill system 2]] and at the [[master skill list]].
Sum of factors: 6.513215599
Sum of skills * factors: 300.231653235


:''I think that the [[master skill list]] is still a nice proposal, but I think we should leave out the "Stat skills".'' --[[User:Bjørn|Bjørn]] 11:53, 10 June 2006 (CEST)
300.231653235 / 6.513215599 = 46.0957646298544
::''I tweaked the [[skill system 2]] propoal to work together with this article. I hope you like it better now. It shouldn't be left out because it is the first well thought out proposal for exp gain of skills. The "1 exp per action" concept of the [[skill system]] is just too simple to work. When you want to have some skills from the master skill list you should think about how the concepts of skill system 2 can be applied to those.'' --[[User:Crush|Crush]] 15:34, 31 August 2006 (CEST)


=== Deriving level from skills ===
Character level: 46.0957646298544 (level 46, 10% progression to next level)
</pre>


Several choices will have to be made. For example whether we'll have character levels at all and how skills and attributes are increased. This section describes a possible was to derive the character level from his skills. In Daggerfall, this was done as follows:
When the character level is used in any formula, it is always rounded down to the next lowest integer (floored). Should the character lose skill levels for some reason, the level will never be reduced. That way we don't have to deal with loss and regain of attribute increase points.


<pre>
The best thing the character can do to work towards the next level is to raise its highest skill. The downside to do this is that this will be the hardest thing to do because it will be exponentially harder to increase in a certain skill.
  (A - B + 28)/15 = level.


      where  A = All Primary Skills + The 2 Best Major Skills + Single Best Minor
== From level to character attributes ==
            B = the starting value of these same skills.
</pre>


In TMW we do not have a distinction between primary, major and minor skills. However, if we want to derive the character level from his skills it is important that its not easy for the player to increase his level simply by training his not so popular skills. Crush and Bjørn discussed another way of doing this, but with less arbitrary numbers and without any assumptions about the skill category.
Every levelup the character receives a number of points that can be used to increase its attributes. Every point can at any time be exchanged in raising one attribute by one point. When we assume that every attribute starts at 10 and we have a maximum of 100 per attribute a maxed out character would need 540 points. When we assume that characters have a theoretical maximum of 100 levels then 5 points per levelup would be adequate.


We could simply multiply the skill level by a factor based on to what extend the skill is one of your top skills, and devide the sum by a given amount. When n is the index of the skill in the list sorted on skill level, 0.9^n could be the factor. An example with 10 skills for a typically average trained character (with skills and level going from 1 to 100):
Crush has noted that he'd like players to be able to decrease their attributes as well, in order to increase others and thereby allowing the players to "correct their mistakes" if they think they have previously made the wrong choices when distributing the points for their attributes. As a solution we could choose for a system where for each level increase, one or more points can be substracted before proceeding with distributing points amongst attributes.


<pre>
More refined, the idea is now that for each level increase you get a certain amount of '-' points and a certain amount of '+' points. The '-' points can be used to decrease an attribute, and results in the gain of a '+' point. '+' points can simply be used to increase an attribute. To make sure that players cannot collect '-' points in order to make big changes to their character attributes later, the maximum amount of '-' points that can be accumulated should be restricted.
0  1.0 * 78 = 78.0
1  0.9 * 65 = 58.5
2  0.81 * 53 = 42.93
3  0.729 * 40 = 29.16
4  0.6561 * 40 = 26.244
5  0.59049 * 38 = 22.43862
6  0.531441 * 33 = 17.537553
7  0.4782969 * 23 = 11.0008287
8  0.43046721 * 20 = 8.6093442
9  0.387420489 * 15 = 5.811307335
 
Sum of factors: 6.513215599
Sum of skills * factors: 300.231653235
Character level: 46.0957646298544 (level 46, 10% progression to next level)
</pre>


The best thing the character can do to work towards the next level is to raise his highest skill. The downside to do this that this will be the hardest thing to do because it will be exponentially harder to increase in a certain skill.
:''I think a good rule for '-' points would be to allow no more than 1/2 the number of accrued points.  So, a player at level 10 with 40 points, could reduce his or her attributes by no more than 20 total, subject to normal increase rules as outlined below, only in reverse.'' --[[User:Ogre|Ogre]] 00:15, 19 October 2007 (CEST)
:''Come to think of it, a great way to encourage the player economy would be to create rare items that "unassign" points when consumed.  Furthermore, those items could have level caps, e.g. Brown Mysterious Potion (up to level 5 character may unassign 10 points, Yellow Mysterious Potion (level 10, 15 points), Blue, Copper, Silver, Platinum, etc.'' --[[User:Ogre|Ogre]] 00:26, 19 October 2007 (CEST)
::''This would be very hard to balance. How would you prevent a very rich character from rebuilding itself or it twinks to whatever character it wants regularily?''--[[User:Crush|Crush]] 01:03, 19 October 2007 (CEST)


=== From level to character attributes ===
=== Attribute increase rules ===
{{Status_red}}
To avoid unbalanced characters players should have some restrictions when distributing the stat points. Without any restrictions a level 18 character could already have one stat maxed out under the conditions mentioned above. To make this impossible I would suggest to use one of the following restrictions (or a combination of several):
# The game design has to be made in a way that every character type needs a bit of every stat so unbalanced characters are unplayable (I would not suggest this because it is a) very hard to realize and b) very hard to combine with encouraging character specialisation)
# The highest attribute may not be higher than all other attributes together (not that good because it would work against single stat specialisation but not against double stat specialisation)
# Add a special penalty for unbalanced characters (I think this would just feel too artifical)
# Making attribute increase cost more points the higher the attribute is (That's the way Ragnarok Online does it. And as Ragnarok Online shows this works against maxing stats too early but not against one-sided characters)
# No attribute may be higher than the character level (would require all characters to start with all stats on 1)
# No attribute may be higher than double as high as the lowest attribute
# The difference between the lowest and the highest attribute may not be larger than the character level (I would favor this solution because it means more choices the further your character advances while inexperienced players with low characters have no possibilities to ruin their character and it is a good compromise between allowing specialisation and maintaining balanced characters)


:''I think when you increase level you should get a fixed amount of points that you can use to increase your attributes. Let's say attributes go from 1 to 100, and start at 20. With the current number of attributes, that's 7 * 80 = 560 points necessary to get the theoretical maxed out character. The character goes from level 1 to 100, so per level increase we need to get 560 / 99 = 5 points. I said "theoretical maxed out character" because with it being exponentially harder to increase your skills as they come closer to 100, we can easily make it virtually impossible to actually achieve this. When starting with attributes at 20 seems too high, we can also start with attributes at 5 and go for 6 points per level.'' --[[User:Bjørn|Bjørn]] 17:13, 10 June 2006 (CEST)
''I think number one isn't hard to realize at all. Diablo 1/2 did the same, you got like 5 points each level and of course you could choose to maximize one of your attributes, but this wasn't particularly useful. A very strong character (strength) isn't useful when it can't hit anything (dexterity) and neither when it has very low health (vitality) or is hit all the time (agility), and I think this should go for any case where you max out just one attribute. Another reason not to max out just one attribute was that many items came with a minimum demand on a certain attribute before you could equip them. The problem with most of the other restrictions (except 4 and 5 I'd say), is that they're hard to communicate intuitively to the user.'' --[[User:Bjørn|Bjørn]] 14:03, 26 March 2007 (CEST)
:''Remember that Diablo had a strict class system while we give the player much more freedom in character creation. Attributes are the only thing that separates a warrior from a mage. So when every attribute is important for every character it would be very easy to create omni-characters that can do everything.'' --[[User:Crush|Crush]] 23:42, 11 July 2007 (CEST)
''What about adding a "balanced" requirement to equipment, especially more powerful equipment?  That way, a player could have an unbalanced character if they desired, but they wouldn't be able to equip more potent pieces of equipment.  A "balanced" character could be defined many different ways, but I would suggest something like the following: A balanced character is one that has no attribute by itself that exceeds the total of the other three.  That way, a character could have 99/33/33/33 or 33/99/33/33 or something like 100/40/40/20 or 10/20/70/100.  This system would prohibit single attribute specialization, and slightly discourage dual attribute specialization.'' --[[User:Ogre|Ogre]] 00:38, 19 October 2007 (CEST)
:''But what logical and plausible explanation would you give for the behavior of those items?''--[[User:Crush|Crush]] 01:07, 19 October 2007 (CEST)


Crush has noted that he'd like players to be able to decrease their attributes as well, in order to increase others and thereby allowing the players to "correct their mistakes" if they think they have previously made the wrong choices when deviding the points for their attributes. As a solution we could choose for a system where for each level increase, one or more points can be substracted before proceeding with distributing points amongst attributes.
== Implementation status ==
The six basic attributes and their communication via the netcode is implemented. The player characters can gain character levels through training their skills and distribute character points and correction points when gaining levels as described above.


More refined, the idea is now that for each level increase you get a certain amount of '-' points and a certain amount of '+' points. The '-' points can be used to decrease an attribute, and results in the gain of a '+' point. '+' points can simply be used to increase an attribute. To make sure that players cannot collect '-' points in order to make big changes to their character attributes later, the maximum amount of '-' points you can have is the amount you gain on a level increase.
The attributes already do some of the things described here, but the following effects are still missing:
*Anything related to magic (requires implementation of [[Magic system]] first)
*Inventory weight restriction
*Equipment prerequisites
*Variable running speed
*Distribution of attributes at character creation is just provisorical for now.

Latest revision as of 14:28, 10 March 2015

This article collects information regarding the conceptualisation of the gameplay of The Mana World

This proposal has been accepted

The development team has discussed the contents of this article and has decided that it should be implemented as described. But the implementation is not finished yet. You can help to bring the features described here into the game.

Attributes

We have the following 6 attributes:


Name General effect
Strength
Dexterity
  • chance to hit
  • damage with ranged weapons.
  • prerequisite for elegant melee weapons
Agility
Vitality
  • maximum hit points
  • hit point regeneration rate
Intelligence
Willpower

The effective value of attributes may never be below one. Even when modificators push it to zero or below the value used by formulas is always at least 1 to avoid divisions by zero.

Derived Attributes

Hit points
(vitality + 10) * (level + 10)
Hit point regeneration
(vitality + 10)² hp per minute
Hit accuracy
Agility + Weapon Skill
Dodge Accuracy
Dexterity * 10 / (10 + equipment weight in kg)

Deriving level from skills

The character level depends mostly on the best skills of the character and less on the less good skills.

We multiply the skill level by a factor based on to what extent the skill is one of your top skills, and divide the sum by a given amount. When n is the index of the skill in the list sorted on skill level, 0.9n could be the factor. An example with 10 skills for a typically average trained character (with skills and level going from 1 to 100):

n  Factor         Skill
0  1.0         *   78   = 78.0
1  0.9         *   65   = 58.5
2  0.81        *   53   = 42.93
3  0.729       *   40   = 29.16
4  0.6561      *   40   = 26.244
5  0.59049     *   38   = 22.43862
6  0.531441    *   33   = 17.537553
7  0.4782969   *   23   = 11.0008287
8  0.43046721  *   20   =  8.6093442
9  0.387420489 *   15   =  5.811307335
   -----------            -------------
   6.513215599            300.231653235

Sum of factors: 6.513215599
Sum of skills * factors: 300.231653235

300.231653235 / 6.513215599 = 46.0957646298544

Character level: 46.0957646298544 (level 46, 10% progression to next level)

When the character level is used in any formula, it is always rounded down to the next lowest integer (floored). Should the character lose skill levels for some reason, the level will never be reduced. That way we don't have to deal with loss and regain of attribute increase points.

The best thing the character can do to work towards the next level is to raise its highest skill. The downside to do this is that this will be the hardest thing to do because it will be exponentially harder to increase in a certain skill.

From level to character attributes

Every levelup the character receives a number of points that can be used to increase its attributes. Every point can at any time be exchanged in raising one attribute by one point. When we assume that every attribute starts at 10 and we have a maximum of 100 per attribute a maxed out character would need 540 points. When we assume that characters have a theoretical maximum of 100 levels then 5 points per levelup would be adequate.

Crush has noted that he'd like players to be able to decrease their attributes as well, in order to increase others and thereby allowing the players to "correct their mistakes" if they think they have previously made the wrong choices when distributing the points for their attributes. As a solution we could choose for a system where for each level increase, one or more points can be substracted before proceeding with distributing points amongst attributes.

More refined, the idea is now that for each level increase you get a certain amount of '-' points and a certain amount of '+' points. The '-' points can be used to decrease an attribute, and results in the gain of a '+' point. '+' points can simply be used to increase an attribute. To make sure that players cannot collect '-' points in order to make big changes to their character attributes later, the maximum amount of '-' points that can be accumulated should be restricted.

I think a good rule for '-' points would be to allow no more than 1/2 the number of accrued points. So, a player at level 10 with 40 points, could reduce his or her attributes by no more than 20 total, subject to normal increase rules as outlined below, only in reverse. --Ogre 00:15, 19 October 2007 (CEST)
Come to think of it, a great way to encourage the player economy would be to create rare items that "unassign" points when consumed. Furthermore, those items could have level caps, e.g. Brown Mysterious Potion (up to level 5 character may unassign 10 points, Yellow Mysterious Potion (level 10, 15 points), Blue, Copper, Silver, Platinum, etc. --Ogre 00:26, 19 October 2007 (CEST)
This would be very hard to balance. How would you prevent a very rich character from rebuilding itself or it twinks to whatever character it wants regularily?--Crush 01:03, 19 October 2007 (CEST)

Attribute increase rules

This article is currently only a proposal

The features or design guidelines described in this article are only a proposal made by one or some persons. It has not been evaluated or accepted by the core development team yet. Feel free to add your personal opinion about them or make counter proposals.

To avoid unbalanced characters players should have some restrictions when distributing the stat points. Without any restrictions a level 18 character could already have one stat maxed out under the conditions mentioned above. To make this impossible I would suggest to use one of the following restrictions (or a combination of several):

  1. The game design has to be made in a way that every character type needs a bit of every stat so unbalanced characters are unplayable (I would not suggest this because it is a) very hard to realize and b) very hard to combine with encouraging character specialisation)
  2. The highest attribute may not be higher than all other attributes together (not that good because it would work against single stat specialisation but not against double stat specialisation)
  3. Add a special penalty for unbalanced characters (I think this would just feel too artifical)
  4. Making attribute increase cost more points the higher the attribute is (That's the way Ragnarok Online does it. And as Ragnarok Online shows this works against maxing stats too early but not against one-sided characters)
  5. No attribute may be higher than the character level (would require all characters to start with all stats on 1)
  6. No attribute may be higher than double as high as the lowest attribute
  7. The difference between the lowest and the highest attribute may not be larger than the character level (I would favor this solution because it means more choices the further your character advances while inexperienced players with low characters have no possibilities to ruin their character and it is a good compromise between allowing specialisation and maintaining balanced characters)

I think number one isn't hard to realize at all. Diablo 1/2 did the same, you got like 5 points each level and of course you could choose to maximize one of your attributes, but this wasn't particularly useful. A very strong character (strength) isn't useful when it can't hit anything (dexterity) and neither when it has very low health (vitality) or is hit all the time (agility), and I think this should go for any case where you max out just one attribute. Another reason not to max out just one attribute was that many items came with a minimum demand on a certain attribute before you could equip them. The problem with most of the other restrictions (except 4 and 5 I'd say), is that they're hard to communicate intuitively to the user. --Bjørn 14:03, 26 March 2007 (CEST)

Remember that Diablo had a strict class system while we give the player much more freedom in character creation. Attributes are the only thing that separates a warrior from a mage. So when every attribute is important for every character it would be very easy to create omni-characters that can do everything. --Crush 23:42, 11 July 2007 (CEST)

What about adding a "balanced" requirement to equipment, especially more powerful equipment? That way, a player could have an unbalanced character if they desired, but they wouldn't be able to equip more potent pieces of equipment. A "balanced" character could be defined many different ways, but I would suggest something like the following: A balanced character is one that has no attribute by itself that exceeds the total of the other three. That way, a character could have 99/33/33/33 or 33/99/33/33 or something like 100/40/40/20 or 10/20/70/100. This system would prohibit single attribute specialization, and slightly discourage dual attribute specialization. --Ogre 00:38, 19 October 2007 (CEST)

But what logical and plausible explanation would you give for the behavior of those items?--Crush 01:07, 19 October 2007 (CEST)

Implementation status

The six basic attributes and their communication via the netcode is implemented. The player characters can gain character levels through training their skills and distribute character points and correction points when gaining levels as described above.

The attributes already do some of the things described here, but the following effects are still missing:

  • Anything related to magic (requires implementation of Magic system first)
  • Inventory weight restriction
  • Equipment prerequisites
  • Variable running speed
  • Distribution of attributes at character creation is just provisorical for now.