Sign in to follow this  
cbreiny

RPG Weapon Stats

Recommended Posts

cbreiny    327
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
OscarYang    96
[quote name='breinygames' timestamp='1315361855' post='4858435']
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?
[/quote]

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: [code]attack = level*(attack_increase_per_level) + baseAttack[/code] You may also use this on other variables so that it scales with level. You might want to add a [code]levelUp()[/code] function to the weapon so that you can change the level.


Share this post


Link to post
Share on other sites
OscarYang    96
Hidden
[quote name='breinygames' timestamp='1315361855' post='4858435']
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?
[/quote]

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: [code]attack = level*(attack_increase_per_level) + baseAttack[/code] You may also use this on other variables so that it scales with level. You might want to add a [code]levelUp()[/code] function to the weapon so that you can change the level.


Share this post


Link to post
OscarYang    96
Hidden
[quote name='breinygames' timestamp='1315361855' post='4858435']
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?
[/quote]

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: [code]attack = level*(attack_increase_per_level) + baseAttack[/code] You may also use this on other variables so that it scales with level. You might want to add a [code]levelUp()[/code] function to the weapon so that you can change the level.


Share this post


Link to post
geekyware    102
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


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


That's an example, I hope it helped.

Share this post


Link to post
Share on other sites
laztrezort    1058
[quote name='breinygames' timestamp='1315361855' post='4858435']
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?
[/quote]

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 [i]single place, separate from your logic that uses them, [/i]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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this