From The Mana World
m (get rid of unused template)
 
(45 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{Category_gameconcept}}
{{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
|-
|-
|''Strength''
|''Strength''
|Increases damage and max inventory weight
|X
|X
|X
|X
|-
|''Agility''
|Increases chance to hit and walking speed
|
|X
|
|
|X
*[[Damage_calculation|damage with melee weapons]]
*inventory weight
*prerequisite for string-based ranged weapons
*prerequisite for heavy melee weapons
|-
|-
|''Dexterity''
|''Dexterity''
|Increases chance of evasion and missile accuracy
|X
|
|
|X
*[[Hitting_and_dodging|chance to hit]]
|X
*damage with ranged weapons.
*prerequisite for elegant melee weapons
|-
|-
|''Vitality'' / Endurance / Constitution / Fortitude
|''Agility''
|Increases health and stamina regeneration rate
|X
|X
|X
|X
|-
|Energy / ''Intelligence'' / Magic / Mentality
|Increases mana and mana regeneration rate
|X
|X
|X
|X
|-
|Wisdom
|Increases how much you can remember (spells)
|
|
|X
|
|
*[[Hitting_and_dodging|chance to dodge]]
*Running speed
|-
|-
|Spirit / ''Willpower'' / Awareness
|''Vitality''
|Increases magic defence
|
|X
|
|
|X
*maximum hit points
*hit point regeneration rate
|-
|-
|Personality / ''Charisma''
|''Intelligence''
|Related to bartering, getting information, getting into fights, diplomacy skills
|
|
|X
*Spell recharge speed. See [[magic system]].
|X
|X
|-
|-
|Luck
|''Willpower''
|Increases luck in many areas
|
|X
|
|
|
*Spell damage. See [[magic system]]
|-
|-
|Speed
|Determines how fast you can do things
|
|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])
===Derived Attributes===
# The Mana World (proposal)
;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 ==


At the moment, ElvenProgrammer and Bjørn agreed to have the following 7 attributes:
The character level depends mostly on the best skills of the character and less on the less good skills.


''Strength, Agility, Dexterity, Vitality, Intelligence, Willpower and Charisma''.
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):


=== Derived attributes ===
<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


Derived attributes are the ones that are visible to the player, representing certain necessary concepts. These include:
Sum of factors: 6.513215599
Sum of skills * factors: 300.231653235


* Your maximum health, mana (or magicka) and stamina (or fatigue)
300.231653235 / 6.513215599 = 46.0957646298544
* Damage dealt on hit (usually comes with min and max)
* Chance to hit when attacking
* The amount you can carry (encumbrance)


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


Interesting notes about possible skill systems were made at [[skill system]], [[stat system 2]] and at the [[master skill list]].
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.


:''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)
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.


=== Deriving level from skills ===
== From level to character attributes ==


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:
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.


<pre>
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.
  (A - B + 28)/15 = level.


      where  A = All Primary Skills + The 2 Best Major Skills + Single Best Minor
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.
            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.
:''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)


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 of the top 10 skills for a typically average trained character (with skills and level going from 1 to 100):
=== 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)


<pre>
''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)
0  1.0 * 78 = 78.0
:''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)
1 0.9 * 65 = 58.5
''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 equipmentA "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 threeThat 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/100This system would prohibit single attribute specialization, and slightly discourage dual attribute specialization.'' --[[User:Ogre|Ogre]] 00:38, 19 October 2007 (CEST)
2  0.81 * 53 = 42.93
:''But what logical and plausible explanation would you give for the behavior of those items?''--[[User:Crush|Crush]] 01:07, 19 October 2007 (CEST)
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
== Implementation status ==
Sum of skills * factors: 300.231653235
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.
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.
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.