Tiny Heroes combat system in Off Topic
|
|
Tiny Heroes is an action-platform game I'm working on. I want to include some light RPG elements. The purpose of the RPG elements is to let you customize your character so that two different characters give you different gameplay experiences. This lets you tailor the game to your preferences to make it more enjoyable, it also gives you a reason to play through it multiple times.
I want to do this without making things too complex. You'll have items and stats, but you won't go crazy trying to figure out the optimal way to allocate points in skill trees.
Combat Math
Here's an overview of how the combat math will work:
Mobs have four stats: power, speed, mind, and armor. Each attack has a constant damage value that's a weighted sum of those stats (the first three of them, at least). For example, a wizard's attack might deal (2*mind) damage while an assassin's attack might deal (power+speed) damage. The sum of the coefficients will generally be 2 (like it is in those examples), but a strong attack (with a longer cooldown or higher mana cost) might deal (3*power+speed) damage.
The randomness is introduced by armor. Each attack's damage is reduced by a random value between (armor) and (2*armor). Because the lower bound of the random value is your armor value, armor gives you some guaranteed reduction in damage.
If the enemy's armor value is greater than the damage done, they'll take zero damage. If it's less than the damage done, you're guaranteed to do at least one point of damage. This way you can tell the difference between an enemy you can't kill yet (because their armor is so high) and bad luck (when they keep rolling high values for damage reduction).
I'm not sure how I want to handle non-physical damage. I don't know if I want to consider damage physical or magical, or if I want to have separate elements. The math would work the same way except a resistance stat would be used in place of armor. I think having separate elements allows for more interesting things. For example, a player can do an optional quest to get a fire resist item, which comes in handy later. If all magic damage is resisted by the same stat, you just have to get one "magic resist" item and you're set.
Stat Growth and Items
I'm not entirely sure how stat growth will work. I like the idea of having the player accumulate stat points which they can distribute however they'd like, but I often don't like the way it works in games. I wouldn't want the allocation to be permanent, but if it can be changed, it's less meaningful. Players will also be able to equip items to increase their stats.
The reason I'd want to go with letting the player allocate stat points is that the player chooses major and minor classes. My plan is that you pick a major class, then part-way through the game you pick a minor class. If your stats grew in a way based on your class, being an assassin-knight would be better than assassin-wizard because, while you're an assassin, your stats will grow in a way that doesn't benefit wizard abilities.
I'm almost convinced to go this route and have a way for players to reallocate all stat points, I just need a way to limit how often or when that can be done. I wouldn't want a player going all power/speed because assassin is their major class, then reallocate to speed/mind once they take wizard as a minor class.
My Concerns
1. Because the damage reduction is rand(armor, 2*armor), the damage you take varies more as your armor stat gets higher. I'm not sure I like this. I suppose I could use a non-uniform distribution and call the unlikely event that the damage is only reduced by (armor) a critical hit, but then I probably wouldn't like how this works when the numbers are smaller.
2. I'm concerned that it'll only be well-balanced for attacks where the sum of the coefficients is 2. Attacks with higher coefficients will be guaranteed to do significantly more damage. I can try to balance this out by making their mana cost and cooldown greater, but I would've done that anyway.
3. Initially, before I had thought of the system defined here, I had decided that I wanted to have a way that some enemies will just be invincible to you. This system sort of accommodates that. When the enemy's armor value is greater than the damage you're doing, you can't deal any damage to them. The problem is that this is specific to one attack. You might have one ability with a higher damage value that can hurt the enemy but your weaker ability doesn't do anything. I'm not sure if this is a good or bad thing.
Questions
1. Is it too simple?
2. Do you have any suggestions?
|
Maybe not too simple, but it's kind of set in stone. I would like to see more room for 'surprises', such as 'critical hits' or 'dodging', even if those are only superficial elements. I also think it's better if attacks didn't have a constant potency, it just seems too mathematical (in a shallow way). I think you should allow for a range of possible damage points per ability, maybe something dependent on the coefficients like [2*min{mind,power},2*max{mind,power}].
I think this is a good idea which could allow for interesting encounters. Think a strong, glass monster, that is invincible (reflects?) most attacks, but has few hit points. Players would need to think of ways to cross the 'invincibility threshold' and activate a strong enough ability such that the monster is actually damaged (status effects? combos?), which is more interesting than a situation where just any attack would work.
Another thing. You seem to have only one 'mind' attribute, which may make wizards overpowered, as they only need to care about one attribute for damage, whereas say, an assassin needs to spend points on two different attributes. To see why this is bad, consider the three seemingly equally powerful abilities: mind*3, power*1.5+speed*1.5,speed*3. Clearly at least one of the latter two will be less effective for an assassin than mind*3 is for a wizard, no matter the attribute distribution. This also makes it tempting to play a 'pure' wizard rather than multiclass (an assassin-wizard needs to have mind, power AND speed to be effective, for example). This is why a lot of RPGs make attribute effects interdependent, and try to avoid a linear relationship between attributes and abilities.