From The Mana World
 
(changed some things to be compatible with Attributes)
Line 2: Line 2:
This Article has been written as a counter proposal to the system currently described under [[Stat system]]. Although i support the idea of a learning by doing system because it can be much more plausible than a statpoint based system i think that the system described in that article is not well thought out and makes a lot of errors common for learning by doing systems. A detailed description can be found in this thread on the forum were also most of the contend of this article has been designed.
This Article has been written as a counter proposal to the system currently described under [[Stat system]]. Although i support the idea of a learning by doing system because it can be much more plausible than a statpoint based system i think that the system described in that article is not well thought out and makes a lot of errors common for learning by doing systems. A detailed description can be found in this thread on the forum were also most of the contend of this article has been designed.
http://forums.themanaworld.org/viewtopic.php?t=1305
http://forums.themanaworld.org/viewtopic.php?t=1305
I modified this article to fit into the [[Attributes]] system.


==Preamble==
==Preamble==
Line 11: Line 13:
* '''Customisation'''  Every character should be individual. There shouldn't be uber character stereotypes that excel all other characters. A premise for this goal is a well thought out balance between the different skills.
* '''Customisation'''  Every character should be individual. There shouldn't be uber character stereotypes that excel all other characters. A premise for this goal is a well thought out balance between the different skills.
* '''Encourage Teamplay''' Players should be motivated to play together and help each other. To reach this it has to be impossible to create characters that are good at everything at the same time so that everyone needs party members with different character types to counterbalance the weaknesses of his character. Pushing up low characters quickly with the help of high level characters should not be too easy.
* '''Encourage Teamplay''' Players should be motivated to play together and help each other. To reach this it has to be impossible to create characters that are good at everything at the same time so that everyone needs party members with different character types to counterbalance the weaknesses of his character. Pushing up low characters quickly with the help of high level characters should not be too easy.
* '''Negligibility''' Raising the stats of the character should be an important part of every RPG but it shouldn't be the main concern of the player. He should focus on the parts of the game that are fun like exploring and questing while his character becomes stronger and more adapted to his playing style along the way. Repeating the same task over and over again should not be the most effective way to raise a character quickly like it is in most online roleplaying games nowadays.  
* '''Negligibility''' Raising the skills of the character should be an important part of every RPG but it shouldn't be the main concern of the player. He should focus on the parts of the game that are fun like exploring and questing while his character becomes stronger and more adapted to his playing style along the way. Repeating the same task over and over again should not be the most effective way to raise a character quickly like it is in most online roleplaying games nowadays.  


== Overview ==
== Overview ==


The character has a wide variety of skills that represent the competence of the character. Each skill got an own level and experience  count (exp). Whenever the player accomplishs a task by using his skills the used skills gain exp. The ammount of exp depends on the difficulty of the task. When the exp reaches a fixed amount the skill gains a level making it more efficient. The amount of exp needed for a levelup increases exponentially with every levelup of the skill.
The character has a wide variety of skills that represent the competence of the character at performin different tasks. Each skill got an own level and experience  count (exp). Whenever the player accomplishs a task by using his skills the used skills gain exp. The ammount of exp depends on the difficulty of the task. When the exp reaches a fixed amount the skill gains a level making it more efficient. The amount of exp needed for a levelup increases exponentially with every levelup of the skill.


The player has the following skills:
The player has the following skills:


*'''Toughness''' The main and only skill that explains how much beating the character can take. Many learning by doing system use a lot more stats that define how hard it is to kill a character like hit points, dodging, parrying, shield using, skin-hardness, avoid-damage-by-pure-luck and so on. But they all just represent the same thing: how long the character survives in combat. So i decided to reduce all this to one skill. Its main purpose is to determine the ammount of hit points a character got. I would suggest to increase it exponentially like <code>HitPoints = (Toughness + 10) ^ 1.5</code>. The +10 is to avoid a too steep increase in the beginning of the game. Another purpose might be the resistance against physical conditions like poison or paralysis.
*'''Weapon Provincies''' The characters have a wide range of skills that represent his abilities with various types of weapons like axes, swords, knives, bows, polearms and so on. Increasing these skills increases the hit rate, the parry rate and the palette of active combat moves the character can use with that weapon. These are the formulas i would suggest:
*'''Weapon Provincies''' The characters have a wide range of skills that represent his abilities with various types of weapons like axes, swords, knives, bows, polearms and so on. Increasing these skills increases the damage inflicted by these weapons (i would suggest <code>Weapon_damage + (10% * skill_level)</code>) and the palette of active combat moves the character can use with that weapon. Every weapon type should represent a unique fighting style and should be useful in different situations to encourage players to specialize in different weapons.
**Hit Rate = <code>Agility * (1 + 0.1 * skill)</code>
**Evade Rate = <code>Dexterity * (1 + 0.1 * skill)</code>
The weapon damage is based on the strength attribute of the character. Every weapon type should represent a unique fighting style and should be useful in different situations to encourage players to specialize in different weapons.
*'''Crafting Skills''' These skills cover a wide range of tasks from creating consumable and equipable items over repairing of damaged equipment to service skills like healing wounds or status conditions.  
*'''Crafting Skills''' These skills cover a wide range of tasks from creating consumable and equipable items over repairing of damaged equipment to service skills like healing wounds or status conditions.  
*'''Offensive Magic''' Because the magic is separated into 8 different elements i thought that it would just be logical to do the same with the skills necessary to use them. Increasing these skills makes spells that target an enemy more efficient, allows to cast more advanced spells, and allows to cast less advanced spells more often. For the latter i would suggest a variation of the classic MP based system. Instead of having a MP stat i would suggest a percent based "magic-meter" that recovers quite quickly. When a character reaches the skill level necessary to cast a spell this spell drains all 100% of the magic-meter. When the skill level increases, the needed amount decreases hyperbolic with the formula <code>drained_power = 100% * (required_level / actual_level)</code>. That means that having the double level means 50% power drain, three times the level 33% and so on. This allows to spam low level spells quite careless with a decent skill level while doing the same with a spell that requires a high skill level would require a ridiculous high skill level.
*'''Offensive Magic''' Because the magic is separated into 8 different elements i thought that it would just be logical to do the same with the skills necessary to use them. Increasing these skills allows to cast more advanced spells, makes offensive spells inflict more damage and allows to cast less advanced spells more frequently.  
**Damage = <code>spell_damage * (1 + 0.1 * skill)</code>
**Cast Time = <code>spell_casttime * skill_required / skill</code>
*'''Defensive Magic''' I decided to separate the magical skill levels of the skills that target friendly characters from those that target enemies for reasons of balancing the exp gain. The reasons will be explained later in the section "Indirect Combat Skills".
*'''Defensive Magic''' I decided to separate the magical skill levels of the skills that target friendly characters from those that target enemies for reasons of balancing the exp gain. The reasons will be explained later in the section "Indirect Combat Skills".


Line 33: Line 39:
=== Direct Combat Skills ===
=== Direct Combat Skills ===


This chapter addresses the exp gain rules for offensive magic skills, the weapon provincies and the toughness.  
This chapter addresses the exp gain rules for offensive magic skills and the weapon provincies.


The only way to increase these skills is by using them in combat to kill monsters. Every monster is worth a fixed ammount of exp and has a challenge rating. The challenge rating represents the average level of the main skills the character should have when he wants to face the monster while the exp ammount should represent how long it takes to kill the monster. When a monster is defeated, the following things happen:
The only way to increase these skills is by using them in combat to kill monsters. Every monster is worth a fixed ammount of exp and has a challenge rating. The challenge rating represents the average level of the main skills the character should have when he wants to face the monster while the exp ammount should represent how long it takes to kill the monster. When a monster is defeated, the following things happen:
#the experience is divided up between all characters that took part in the fight.  
#the experience is divided up between all characters that took part in the fight.  
#then the exp each player gets is divided up equally on all skills that the character used enough in that combat to reward exp for them. To reward exp for weapon or magic skills the character has to inflict at least 10% of the total damage by using weapons/spells from that skill category. To reward exp for his toughness skill he has to lose at least 10% of his max hp in the combat.
#then the exp each player gets is divided up equally on all skills that the character used enough in that combat to reward exp for them. To reward exp for weapon or magic skills the character has to inflict at least 10% of the total damage by using weapons/spells from that skill category.  
#when the challenge rating of the monster is higher than the level of the skill the exp that skill receives is divided by <code>Challenge Rating / Skill Level</code>. The reason for this is that it would otherwise be too easy to train low skills at high monsters by using a high skill to inflict the needed 90% damage (even another character could do that) and then finish the last 10% with the low skill.
#when the challenge rating of the monster is higher than the level of the skill the exp that skill receives is divided by <code>Challenge Rating / Skill Level</code>. The reason for this is that it would otherwise be too easy to train low skills at high monsters by using a high skill to inflict the needed 90% damage (even another character could do that) and then finish the last 10% with the low skill.


To prevent killstealing only the character who attacked a monster first and those who are in the same party should be able to gain exp from a monster. Other characters should subtract a share of exp when calculating how much exp every character gets but the skills of the killstealer don't receive the exp. This is another procedure to make it difficult to push up low chars with the help of high chars.
To prevent killstealing only the character who attacked a monster first and those who are in the same party should be able to gain exp from a monster. Other characters should subtract a share of exp when calculating how much exp every character gets but the skills of the killstealer don't receive the exp. This is another procedure to make it difficult to push up low chars with the help of high chars.

Revision as of 13:17, 31 August 2006

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.

This Article has been written as a counter proposal to the system currently described under Stat system. Although i support the idea of a learning by doing system because it can be much more plausible than a statpoint based system i think that the system described in that article is not well thought out and makes a lot of errors common for learning by doing systems. A detailed description can be found in this thread on the forum were also most of the contend of this article has been designed. http://forums.themanaworld.org/viewtopic.php?t=1305

I modified this article to fit into the Attributes system.

Preamble

This system has been designed as a levelless Learning by Doing System for a realtime action combat system. The main goals were:

  • Intuitivity The Players should be able to fully understand the system after a few hours of playing and should be able to create effective characters without having to study guides on the internet. Ruining a character beyond recovery by making errors in the character development should be impossible.
  • Control Despite the above principle the player should still be able to influence the development of his character by changing his playing style.
  • Customisation Every character should be individual. There shouldn't be uber character stereotypes that excel all other characters. A premise for this goal is a well thought out balance between the different skills.
  • Encourage Teamplay Players should be motivated to play together and help each other. To reach this it has to be impossible to create characters that are good at everything at the same time so that everyone needs party members with different character types to counterbalance the weaknesses of his character. Pushing up low characters quickly with the help of high level characters should not be too easy.
  • Negligibility Raising the skills of the character should be an important part of every RPG but it shouldn't be the main concern of the player. He should focus on the parts of the game that are fun like exploring and questing while his character becomes stronger and more adapted to his playing style along the way. Repeating the same task over and over again should not be the most effective way to raise a character quickly like it is in most online roleplaying games nowadays.

Overview

The character has a wide variety of skills that represent the competence of the character at performin different tasks. Each skill got an own level and experience count (exp). Whenever the player accomplishs a task by using his skills the used skills gain exp. The ammount of exp depends on the difficulty of the task. When the exp reaches a fixed amount the skill gains a level making it more efficient. The amount of exp needed for a levelup increases exponentially with every levelup of the skill.

The player has the following skills:

  • Weapon Provincies The characters have a wide range of skills that represent his abilities with various types of weapons like axes, swords, knives, bows, polearms and so on. Increasing these skills increases the hit rate, the parry rate and the palette of active combat moves the character can use with that weapon. These are the formulas i would suggest:
    • Hit Rate = Agility * (1 + 0.1 * skill)
    • Evade Rate = Dexterity * (1 + 0.1 * skill)

The weapon damage is based on the strength attribute of the character. Every weapon type should represent a unique fighting style and should be useful in different situations to encourage players to specialize in different weapons.

  • Crafting Skills These skills cover a wide range of tasks from creating consumable and equipable items over repairing of damaged equipment to service skills like healing wounds or status conditions.
  • Offensive Magic Because the magic is separated into 8 different elements i thought that it would just be logical to do the same with the skills necessary to use them. Increasing these skills allows to cast more advanced spells, makes offensive spells inflict more damage and allows to cast less advanced spells more frequently.
    • Damage = spell_damage * (1 + 0.1 * skill)
    • Cast Time = spell_casttime * skill_required / skill
  • Defensive Magic I decided to separate the magical skill levels of the skills that target friendly characters from those that target enemies for reasons of balancing the exp gain. The reasons will be explained later in the section "Indirect Combat Skills".

Exp Gain

Crafting Skills

The most boring part of most learning by doing systems is the crafting part. We have to create a crafting system that does not force the player to repeat the same mouse clicks over and over again for hours to level up quickly like many crafting systems do. We have to challenge the player on an intelectual level. I would suggest to discuss the topic in another article. See Item_creation_system

Direct Combat Skills

This chapter addresses the exp gain rules for offensive magic skills and the weapon provincies.

The only way to increase these skills is by using them in combat to kill monsters. Every monster is worth a fixed ammount of exp and has a challenge rating. The challenge rating represents the average level of the main skills the character should have when he wants to face the monster while the exp ammount should represent how long it takes to kill the monster. When a monster is defeated, the following things happen:

  1. the experience is divided up between all characters that took part in the fight.
  2. then the exp each player gets is divided up equally on all skills that the character used enough in that combat to reward exp for them. To reward exp for weapon or magic skills the character has to inflict at least 10% of the total damage by using weapons/spells from that skill category.
  3. when the challenge rating of the monster is higher than the level of the skill the exp that skill receives is divided by Challenge Rating / Skill Level. The reason for this is that it would otherwise be too easy to train low skills at high monsters by using a high skill to inflict the needed 90% damage (even another character could do that) and then finish the last 10% with the low skill.

To prevent killstealing only the character who attacked a monster first and those who are in the same party should be able to gain exp from a monster. Other characters should subtract a share of exp when calculating how much exp every character gets but the skills of the killstealer don't receive the exp. This is another procedure to make it difficult to push up low chars with the help of high chars.

Indirect Combat Skills

Indirect combat skill that do not weaken the enemy but strengthen the allies like heal or buff spells are difficult to implement into the above concept. First it is difficult to rate their importance for the outcome of the fight and second healing spells might be cast not while but after a fight. For those reasons i would suggest to threat them more like crafting skills than combat skills. In the end it is not that different if you cure a wound or repair an armor or if you forge a shield of metal with your hammer or if you forge a shield of magic with your wand.

The ammount of exp gained by healing spells should depend on the number of Hit Points healed. So healing people who already are at full health does not give any exp. How many exp points for how many hit points is a question of ballance that should be solved during the alpha test.

The exp for curing status alligments should depend on the type of alligment and how hard it is to cure it. Stronger monsters should have much nastier poisons and curses that are much harder to cure und are worth more exp points for the healer than weak ones. For that reason every status alligment should have a level. When a character attempts to heal an alligment a random number between 0 and his skill level is rolled. When the outcome is higher than the level of the alligment the alligment is healed. To make it a little bit more tricky some allgments like diseases or certain curses could be infectious. That means that when the healer fails at curing he has to do a second test and when he fails again he is infected, too.

Buff spells that increase the strength of other characters should give a fixed ammount of exp. To prevent the players from casting those spells on everything that moves instead of reserving their use to combats in which they are needed i would suggest to make ingredients necessary to cast those spells. Those should be easy enough to obtain to use them when the skills are necessary but hard enough to prevent people from wasting them just to gain exp.

"Forgetting" of unused skills

The above systems got one major drawback. We want the players to specialize on single skills so that they have to work together to be successful. But the system described here would make it possible to learn every important skill so that the character can play completely alone and doesn't have to interact with other people. So we have to make it difficult to train and maintain a large palette of different skills.

I had a long discussion with different people to find a solution for this problem and we came to the conclusion that the following method is the best:

Whenever a skill receives exp half of the gained exp are deducted from a random other skill making it possible to lose levels in it. This won't be a problem for characters with a very small palette of skills because it would almost always hit skills that are on level 0 anyway. But the more different skills the character tries to master the more difficult will it be to keep them all on a constant level. The players that try anyway will eventually give up and concentrate on the skills they really want while letting the other skills degenerate slowly.