Procrastination

The first idea of the game was to make a clicker stat-builder, e.g. you click on a button and gain experience which results in leveling up and getting higher stats. After one "release" (as in a somewhat working program) I changed the idea to be an automatically running builder where the player choosing between different attack options.


Hard work often pays off after time, but laziness always pays off now.

Irresponsibility

My new project is a single player strategy RPG where you control up to 15 characters at the same time and battle monsters on, to start with, gridded map.

No single raindrop believes it is to blame for the flood.

Tuesday, February 3, 2009

Attributes

Primary attributes are used to calculate secondary attributes which in turn are used for the real interaction such as attacking. Classes have a base in all secondary attributes which the calculations are based on. There are 8 primary attributes: Strength (str), Agility (agi), Intelligence (int), endurance (end), vitality (vit) and luck (luc). Attack (atk) and defense (def) are considered secondary attributes but they are never used directly in calculations. The secondary attributes are life (hp) , magic (mp), armor (arm), resistance (res), dodge (ddg), parry (par), block (blk), block value (blkval), damage (dmg), damage per second (dps), critical strike (crit), accuracy (hit), attack speed, magic power (pow) and movement speed (mspd). Level (lvl) is also used to calculate some secondary attributes. Secondary attributes are also affected by equipment, such as damage and attack speed is mainly affected by weapon used and armor and resistance is mainly affected by armor used.

  • Level (lvl): increases life and magic.
    hp = 5*str + 15*vit + lvl*20
    mp = 15*int + 5*vit + lvl *40
  • Strength (str): Strength increases attack and life.
    atk = 4*str + agi
    blkval = 2 * str
    hp = 5*str + 15*vit + lvl * 20
  • Agility (agi): Agility increases attack, critical strike, accuracy and defense.
    atk = 4*str + agi
    crit = agi/20
    hit = agi/10
    def = agi/4+end/2
  • Intelligence (int): Intelligence increases magic and magic power.
    mp = 15*int+5*vit + lvl *40
    pow = 5*int
  • Endurance (end): Endurance increases armor, resistance and defense.
    arm = end
    res = 2*end
    def = agi/4+end/2
  • Vitality (vit): Vitality increases life and magic.
    hp = 5*str + 15*vit + lvl*20
    mp = 15*int + 5*vit + lvl *40
  • Luck (luc): Luck affects all chances such as when damage, which is ranged, will have higher probability towards the higher end.

  • Attack (atk): Attack increases physical damage done depending on weapon. For example the bonus damage to a normal sword is 1/10 attack times by weapons speed.
    atk = 4*str + agi
    dmg = atk/10*aspd (dps = atk/10*aspd)
  • Defence (def): Defense increases dodge, parry and block.
    def = agi/4+end/2
    ddg = def/10
    par = def/10
    blk = def/5

  • Life (hp): Life basically determines how much damage a character can take.
    hp = 5*str + 15*vit + lvl*20
    Magic (mp): Magic determines how much magic (e.g. how many spells) a character can use.
    mp = 15*int + 5*vit + lvl *40
  • Armor (arm): Armor reduces physical damage with a percentage. Armor is mainly gained from the body armor a character wears but every class has an initial armor and it is also slightly increased by endurance, which covers the first 4% damage reduction.
    arm = end
    ratio = 1 - ((arm/lvl*0,4)-(arm^2/lvl^2*0,0004))/(10+diff+(arm/lvl*0,4)-(arm^2/lvl^2*0,0004)) hp(1) = hp(0) - dmg*ratio
    With this formula it takes about 9 times as high armor compared to level to get 25% damage reduction, 25 times to get 50% damage reduction, 50 times to get 66% damage reduction and 100 times to get 80% damage reduction. Meaning a level 100 will need 10k armor to get 80% damage reduction. The reduction is also decreased if a higher level enemy hits you.
  • Resistance (res): Resistance reduces magical damage by a percentage, resistance is mainly gained from the cloth items that characters wears over their armor but body armor as well as enchants can also increase resistance.
    res = 2*end
    ratio = 1 - ((res/lvl*0,2)-(res^2/lvl^2*0,001))/(10+(res/lvl*0,2)-(res^2/lvl^2*0,001))
    hp(1) = hp(0) - dmg*ratio
    About 40 times as high resistance as level means about 50% reduction.
    From items and talents characters can also get elemental specific reduction, for example 10% fire resistance.
    hp(1) = hp(0) – dmg*ratio*0,90
    for fire in this case.
  • Dodge (ddg): Dodge calculates the probability to avoid an attack. After a block an unarmed character can counter attack.
    ddg = def/10
  • Parry (par): Parry calculates the probability to parry an attack with a weapon. After a parry an armed character can counter attack.
    par = def/10
  • Block (blk): Block calculates the probability to block an attack and deflect a magic attack. A blocked or deflected attack reduces the attacks power with an absolute amount, the block value (blkval). A character can only block once between each strike.
    blk = def/5
  • Block value (blkval): Block value is the absolute value absorbed by a shield when blocking or deflecting. Block value is mainly determined by the characters shield but also increased by strength.
    blkval = str/2
    dmg(1) = dmg(0) – blkval
  • Damage (dmg/dps): Damage determines how much damage can be done on an enemy.
    Critical strike (crit): Critical strike determines the probability for attacks (physical and magical) to do significantly more damage. Most classes have between 1% to 10% critical strike chance as base.
    crit = agi/20
  • Accuracy (hit): Accuracy modifies the probability to hit a target, at higher level the base accuracy is lowered and level difference alters accuracy significantly.
    hit = 99-lvl/4-lvldiff+agi/10
  • Attack speed: Attack speed is based on weapon, equipment and sometimes talents and skills.
  • Magic power (pow): Magic power increases the power of spells, different spells are affected differently.
    pow = 5*int
    ex dmg = spelldmg + pow^2/(level*1000)
  • Movement speed: Is mostly based on class but can be manipulated by items, talents and skills.
  • Range: Range is completely based on weapon, most melee weapons have range 1 (excepting polearms and spears that have range 2). Ranged weapons can have any range.

No comments: