From The Mana World
(improved documentation of magic-related attributes)
m (get rid of unused template)
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Category_gameconcept}}
{{Category_gameconcept}}
{{Status_yellow}}
{{Status_yellow}}
{{Gaps|
*Formulas for more derived attributes that are important
*Nail down the attribute increase rules
}}
== Attributes ==
== Attributes ==



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.