# Trouble figuring out some attack/defense formulas. What should I change? [duplicate]

I'm working on something which requires a hunter to attack an animal. This is what I have so far.

Attacker/Weapon POV

1. Level - 1 to 50
2. Base - base attack level of the weapon
3. Weapon Impact - determines size of prey it can kill - base = 10, +10 every level
4. Marksmanship - this is a skill which the hunter acquire with time. higher level animals will require a higher skill, Let's say it starts off at 50. Then the hunter can buy level 2 which will be let's say 150..so on..
5. Ammo - different types of ammo will give different types of bonuses. Some will increase impact, some skill, some both.
6. Random multiplier - need this to make everything a bit of a gamble. Can't allow users to figure out how the formula works

Animal POV

Defense - based on: base defense of the animal + weight factor + skill required to shoot him down

This is what I have in mind. Now..I tried to come up wth some formulas to represent all this..I made some simulations in excel. They seem to work but I don't know if I took the right approach determining this. It was mostly guess work..trial and error until I got some results which seemed ok. Any advice is welcome !

Each animal has a weight between min and max. However, the Weapon Impact will limit that weight at Weapon Impact / 10 kgs. => 10 Impact = 1 kg max, 20 impact = 2 kg max..etc. To avoid hunters shooting down an animal every time, I will generate animal weights between min and Impact max + a small percentage. For example let's say an animal is between 1 and 10 kg. With 50 impact the animal which we can shoot will have a weight between 1 and 5kg. however i will generate weights up to 5.5..to make hunters miss from time to time because the animal was to large for his level..etc.

Now to determine if a hunter shoots down an animal I compute an attack factor and a defense factor. If attack > defense.. asta la vista baby !

Attack Formula: Weapon Base + Impact + Ammo Bonus + Weapon Base *(lvl/max lvl) * multiplier

multiplier is randomly generated between 0.8 and 1.2 so it could help..or it could harm...

Defense formula = Base Defense + Base Defense*weight

... not sure how this will scale .. any ideas? where do ppl start to generate formulas like this ?

• "Can't allow users to figure out how the formula works" Um, why not? I've never understood this peculiar game design "need" to try to hide the system from players. Especially in RPG-like games that throw numbers at you, acting like you know what they mean without understanding how they are used. – Nicol Bolas Aug 6 '13 at 19:25
• "determines size of prey it can kill" What does that mean? Does this mean that there can be a hard cap on the creatures you can fight, such that you need to constantly increase this number before you can even do damage to them? If so... why do you want that? – Nicol Bolas Aug 6 '13 at 19:27
• for the first question...i always thought if users didnt know how a system works they will try different things and discover different aspets of the game. if they figure it out too fast..then they will all do the same thing to level up. For the 2nd question..i meant that if the hunter's impact is at 100..all animals he encounters will have a maximum size of 10 kg. or maybe a bit more just so he can miss some of them. – Alexandru Lucian Susma Aug 6 '13 at 20:15
• @AlexandruLucianSusma: my non-scientific understanding is that players tend to really dislike black box systems. Players want to win, which implies that they want to know what to do to be better. That means they need to know what stats to increase or skills to buy to be better at a task. Making it secret practically turns it into a gambling game to many players who don't have the time or interest in figuring out the mechanics puzzle. More to your question... draw out some desired success/advancement curves, then match functions to those. – Sean Middleditch Aug 6 '13 at 20:19
• that's actually a good point. figure out how often you want players to level up..then from that find how to level up. thanks ! – Alexandru Lucian Susma Aug 6 '13 at 20:23

When doing game design, it's important to start out with a list of goals, what you expect the design to accomplish. That way, when you've created the design, you can analyze it against your list of goals to see if it actually does what you wanted it to.

For example:

Weapon Impact - determines size of prey it can kill - base = 10, +10 every level

OK, you have this "impact" stat. And you want this stat to "determine size of prey it can kill". I can only assume this means that the prey will have some corresponding "size" field, and if the "size" exceeds the impact, the hunter can't kill them.

So that appears to be your goal with the design. So let's look at the implementation to see if that achieves that goal:

Weapon Base + Impact + Ammo Bonus + Weapon Base *(lvl/max lvl) * multiplier

vs

Base Defense + Base Defense*weight

If the goal of "impact" is to prevent the player from being able to kill creatures beyond a certain "size", then this doesn't do that. Impact is not being compared against size (or weight or whatever). It's just a bonus thrown in.

Furthermore, if it's supposed to be "impact" vs. "weight", it would seem that "weight" is far more effective than "impact". Each unit of "weight" multiplies into the base defense. Whereas each unit of "impact" only adds to the base attack.

Judging by the actual design you've come up with, "impact" is really just the character's "Base Attack Bonus", to use D&D terms. You compute the attack power based on three factors:

• Character-specific info
• Weapon-specific info
• Ammo-specific info

Each of these factors plays a role. The weapon provides the "weapon base". The ammo provides an "ammo bonus". But the character seems to be pulling double-duty, providing both a "level" multiplier (not very much) and this "impact" stat. That's not necessarily a bad thing, assuming you have means of buffing the "impact" stat besides leveling up (equipment, buffs, etc).

• Hmm I kinda get it. Impact is what determines what weight of animal the hunter can shoot. I now realize that it might not be needed in the attack formula. To be more specific..my question is probably more like.. where do you start in terms of numbers. Like..what should the base attack be... 10? 100 ? 1000 ? What scale? Should I just start with a random 50 let's say..and then see where it takes me ? is there any info on how to design a game like this ? How do you figure out proper multipliers? – Alexandru Lucian Susma Aug 6 '13 at 19:47
• @AlexandruLucianSusma: A game like what? You haven't said what your game is. Unless your game really is just a hunter that is confronted by generic "prey", that he may or may not be able to kill given some weapon. As for numbers, I personally prefer keeping numbers small. If a +1 bonus is not a significant bonus, then your numbers are probably too big. Then again, I also wouldn't bother with 50 levels, as that just tends to over-inflate everything. – Nicol Bolas Aug 6 '13 at 19:50
• You're a hunter and using energy you can press a SHOOT button. Based on level, location, weapon you will shoot an animal randomly generated from a pool of animals. I need to find a way to determine if a specific weapon + level would be able to kill a certain size animal. So you really have 2 sides: hunter and animal. Hunter has Marksmanship + weapon + ammo. Animal has weight and certain base defense.i.e. a bear has more base defense than a rabbit - so it takes a stronger weapon or a higher level weapon and a higher marksmanship(skill) to be able to kill. – Alexandru Lucian Susma Aug 6 '13 at 20:06
• thanks for your answers. If you have any other suggestions you're more than welcome ! I think I will try to split things up a big more. For example use Impact to generate maximum weight for animals, and use marksmanship and ammo to generate attack power. however im not sure where to start. Should I just add them up, use multipliers? x^2 functions... no idea. Is a linear increase in Attack with every level ok ? Or too simple ? – Alexandru Lucian Susma Aug 6 '13 at 20:10