• Advertisement
Sign in to follow this  

RPG Weapon Stats

This topic is 2330 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have a weapon generator for a 2D roguelike RPG I am developing. It has variables that store the name of the weapon, the base damage output, the base attack speed, the required strength to equip, and the gold value of the weapon. For example.... A Short Sword could have 5 base damage, and 3 attack speed with 10 required strength to equip and a gold value of 200. But what would be a good way to add weapon "levels"? So the damage would be greater if the level was higher. I don't want the attack speed to change but what would be a good equation to use to increase the damage, required strength, and gold value of the weaon if the weapon is of a higher level?

Share this post


Link to post
Share on other sites
Advertisement

I have a weapon generator for a 2D roguelike RPG I am developing. It has variables that store the name of the weapon, the base damage output, the base attack speed, the required strength to equip, and the gold value of the weapon. For example.... A Short Sword could have 5 base damage, and 3 attack speed with 10 required strength to equip and a gold value of 200. But what would be a good way to add weapon "levels"? So the damage would be greater if the level was higher. I don't want the attack speed to change but what would be a good equation to use to increase the damage, required strength, and gold value of the weaon if the weapon is of a higher level?


One possible way is to add a level scaler variable such that when you create the weapon variable, you would supply it's level along side with its power, requirements etc. All its attack or level sensitive data would be multiplied or added to the level scaler. For example, the attack would be: attack = level*(attack_increase_per_level) + baseAttack You may also use this on other variables so that it scales with level. You might want to add a levelUp() function to the weapon so that you can change the level.


Share this post


Link to post
Share on other sites
Hidden

I have a weapon generator for a 2D roguelike RPG I am developing. It has variables that store the name of the weapon, the base damage output, the base attack speed, the required strength to equip, and the gold value of the weapon. For example.... A Short Sword could have 5 base damage, and 3 attack speed with 10 required strength to equip and a gold value of 200. But what would be a good way to add weapon "levels"? So the damage would be greater if the level was higher. I don't want the attack speed to change but what would be a good equation to use to increase the damage, required strength, and gold value of the weaon if the weapon is of a higher level?


One possible way is to add a level scaler variable such that when you create the weapon variable, you would supply it's level along side with its power, requirements etc. All its attack or level sensitive data would be multiplied or added to the level scaler. For example, the attack would be: attack = level*(attack_increase_per_level) + baseAttack You may also use this on other variables so that it scales with level. You might want to add a levelUp() function to the weapon so that you can change the level.


Share this post


Link to post
Hidden

I have a weapon generator for a 2D roguelike RPG I am developing. It has variables that store the name of the weapon, the base damage output, the base attack speed, the required strength to equip, and the gold value of the weapon. For example.... A Short Sword could have 5 base damage, and 3 attack speed with 10 required strength to equip and a gold value of 200. But what would be a good way to add weapon "levels"? So the damage would be greater if the level was higher. I don't want the attack speed to change but what would be a good equation to use to increase the damage, required strength, and gold value of the weaon if the weapon is of a higher level?


One possible way is to add a level scaler variable such that when you create the weapon variable, you would supply it's level along side with its power, requirements etc. All its attack or level sensitive data would be multiplied or added to the level scaler. For example, the attack would be: attack = level*(attack_increase_per_level) + baseAttack You may also use this on other variables so that it scales with level. You might want to add a levelUp() function to the weapon so that you can change the level.


Share this post


Link to post
I can give you an example for the multiplier. In this example we add 0.1 for each level, but you can change it with whatever you want. Of course this would be a linear incresing, but they're simple maths, and I hope you can do it with this example.

level1 - multiplies by 1
level2 - multiplies by 1.1
level3 - multiplies by 1.2
and so on

we can see we add (level-1)/10 to the base multiplier, which is 1. So we got it:

1+(level-1)/10 = (9+level(/10


int multiplier = (9+weaponlevel)/10;
attack = damage_it_should_do*multiplier



That's an example, I hope it helped.

Share this post


Link to post
Share on other sites

I have a weapon generator for a 2D roguelike RPG I am developing. It has variables that store the name of the weapon, the base damage output, the base attack speed, the required strength to equip, and the gold value of the weapon. For example.... A Short Sword could have 5 base damage, and 3 attack speed with 10 required strength to equip and a gold value of 200. But what would be a good way to add weapon "levels"? So the damage would be greater if the level was higher. I don't want the attack speed to change but what would be a good equation to use to increase the damage, required strength, and gold value of the weaon if the weapon is of a higher level?


There are numerous ways this can (and has) been done. One way is as suggested above to simply multiply the level by a value and add it to the base stat. You could have different multipliers for each stat, or you can base certain stats (such as gold) off the others.

Instead of a simple level, you can have descriptive tags that get added to items, each tag having its own modifiers. Examples include material ("Mithril knife", where "mithril" has +2 damage and +500 gold), a quality ("Well-balanced cudgel", +1 speed, +1 damage, +20 gold), or magical ("Katana of Destruction", +10 damage, +10 min strength). Certain tags can get mixed for powerful items: "Epic Dragonbone Spear of Slaying Rodents". In this scenario, tags are statically defined, but added randomly to items during generation.

Expanding on the "tag" system, you could have special items ("runes", "enchantments", etc.) that get added to items to enhance their effect. Items only get a certain number of "slots" for enhancements. This could be a form of rudimentary crafting, where enhancements can only be added to items at special places (e.g. a forge) or by certain NPCs.

Whichever path you choose, you are going to want it to be easily tweakable - balancing these types of games can be a major (oft times seemingly impossible!) task. Keep all multipliers, tag modifier data, etc. in a single place, separate from your logic that uses them, and somewhere that it can be easily changed, like a config file or a section of static code.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement