Archived

This topic is now archived and is closed to further replies.

Blacktalon

Damage and Armor and equations (oh my!)

Recommended Posts

I''m clipping well along on my first RPG game, and I''ve started coming to a point where I need to get some concrete system for combat down. This game is in a futuristic setting, and the characters will all use guns. I''m not sure if they''ll still use bullets ala Aliens or energy weapons ala Star Wars yet, but that''s beside the point. My first question concerns what type of HP system might best serve this system; one where the charactes have massive HP, almost always hit the target and do damage, or one where the characters have smaller amounts of HP and hit less. I''m thinking of putting an aiming system for head shots, body shots, limb shots, each doing more, average, or less damage and having a greater chance of hitting inversely proportional to the damage. My second question deals with the equations for armor and weapon damage, which I''ve never been real good at. Is there an industry standard for how armor values, damages, etc are supposed to be worked? Or is this just something I need to sit down with a calculator and crunch out? Thanks in advance for any and all replies and critiques.

Share this post


Link to post
Share on other sites


Simple systems use a technique of "ablative" armor -- meaning that it slowly erodes as the entity is "hit". Armor in this sense just adds to your hit points. Somewhat simplistic, but effective.

Another technique is to assume armor removes some of the damage off the top. Like if it''s 10 points of armor, it''ll remove the first 10 points of damage, the rest gets thru and applies to the hit points. This is nice in that it seperates hp and armor, but doesn''t address the armor being tattered after numerous hits.

You could mix the two have armor serve as protection from damage but also get worn with time. I dunno of any pen and paper systems that encorporate this because, after-all, it''s a bit of a head-ache to deal with. But hey, computers don''t have heads to ache, so what the heck.

As for weaponry and actual armor tables, I would look to a pen and paper system and work from there. Most systems have real-world weapons to guage things by. You''ll need to figure out you hit point range and use whatever info you find as a relative measure.

Just a few thoughts...

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Hey all I am either anon or listing as mellonsage (my former EQ name for any who play/played on druzzil Ro).

I am trying to answer these same questions for an RPG that I am trying to put into being but a fantasy based one like D&D or EQ. For the life of me I cannot get a satisfactory equation going but I just started on it so hey I got time.

Anyway I was thinking of doing a linear equation for stuff like hp and mana. I am betting that would work for you as well. Maybe something like dmg = weapon dmg - AC*wear and some catches there so that if the armor is dissolved then the next time a dmg roll/computation is made that is updated. The wear variable would be a number from 0 to 1 (i.e. a percentage) of how intact the armor still is.

Anyway I would love some ideas myself seeing as I am trying to work out how to do a time based attack system rather than turn oriented and to calculate to hits. Then the fun begins to make sure it all balances. joys

ME out

p.s. if you wanna email me about any of this danielwassenaar@hotmail.com is me addy but I doubt I can help much I am way NOOB at this.

Share this post


Link to post
Share on other sites
I think the hp system is very much something you''re going to have to do yourself. Just sit down and figure out what sort of gameplay you really want to happen. Should objects get blown away in a single hit, or shrug under a rain of bullets? Your choice.

Now, once you''ve made that decision, maybe I can be more help.

Share this post


Link to post
Share on other sites
This may be just me, but I''ve always disliked systems where you miss a lot. Give me crappy damage, anything, just don''t make me miss every 2nd time.

Share this post


Link to post
Share on other sites
Rain of bullets seems to be what I''m leaning towards. I still haven''t made much headway determining if I want a maximalist or minimalist HP number, thus determining how the damage will be played out. This might lend itself to a smaller amount of HP, or maybe even big HP with adjusted damage and armor levels.

Some of the stuff I have decided on is the weapons my characters will use, and I''m not sure if this will help or not. The main characters will use twin pistols, then the other characters will use assault rifles, machine guns, shotguns, and maybe, maybe, MAYBE, one guy with some sort of explosive lobber. I can whip out armor on a whim almost. The only thing I''ve decided on is the worst armor, a leather jacket.

Other stuff that might help is that the player''s party will range anywhere from one to three characters, and the opposing party can be anywhere from one to 8 or 10 enemies.

Share this post


Link to post
Share on other sites
These things are quite simple once you have some basic probability theory under your belt. The best way is to think about what you want from the system (how often do you want an attack to hit? How many hits should be necessary to kill or defeat someone? How much should armour affect this? And so on. There can never be a standard because everyone has to do different things to achieve different results in their games. Some people take the ''easy'' way out by using a system from an RPG, but that rarely suits your game exactly. You just have to pick something based on what you want the results to be.

Share this post


Link to post
Share on other sites
I''ve been designing my own RPG lately and working on the math behind battles. Personally I like there to be the possibility of a miss. So I give the player a base percentage to hit for any wepon then add a percentage/accuracy of the weapon. Different weapons have different accuracies. Shot gun wont be as accurate as a sniper rifle. Hence shotgun may have 50% to hit + Players % to hit. Sniper rifle would have around 80-90% to hit + Players % to hit. I could go into range of weapons reach having to do with chance to hit and damage but its a lot more complicated.

As far as hp goes. I like starting with a little hp so its SEEMS(only seems though) that I could die easily. Personally i like the dmg = weapon dmg - AC system but this is all your personal choice. I dont think theres an industry standard thats necesary to follow.

Share this post


Link to post
Share on other sites
Forgot to to tell you how I get the Players base chance to hit. I used one of the stats to calc that. In my case its Vision. But a more realistic way might be to make to a combo of Vision/Dexterity or something for hand eye coordination. It might be to much hassle at this point to add a stat but maybe modifying an existting stat to include this might work. And a quick thought that just occured about taking damage. Endurance or something like that could have an effect. High effect= natural armor or damage points taken from damage being dealt.

Share this post


Link to post
Share on other sites
Hmmm. Ok, with the varieties of weapons, what do you plan on the different functionality of each type to be?

Assault Rifle = multiple hits, medium sized ammo clips
Machine gun = multiple hits (fastest fire rate?), large ammo clips
Shotgun = mutliple simultanious hits, area of effect
Grenade launcher = slow loading, small ammo count, high damage, area affect

Ok, now how do you want armor to interact with that?

Another thing to question is the ability of your character to obtain more hitpoints. After all, if they can get a lot of hitpoints, that would make a gun that is supposed to be able to kill anyone in 1 hit have to do a lot of extra damage.

How should a relatively unexpiernced character, in good armor survive? Think a 10 year old in power armor.

Share this post


Link to post
Share on other sites
One thing I''ve always kinda noticed fell short was good old martial arts. If you watch any movie they almost never hit each other! While martial artists can''t stand up to something like an automatic rifle, they usually are incredibly sneaky and can come up on the enemy and deal a bunch of damage. Anyway, I think each class should have inherent dodge modifiers etc.
This could be accomplished by comparing attacker speed to target distance then using that value against target dodge. Of course, this is only for direct hits. Area affects such as missles or grenades never really hit their exact target but rely on their explosion.

... or maybe I just watch too many kung fu movies

Share this post


Link to post
Share on other sites
Here is a simple idea that I had a while ago that could easily be expanded to (hopefully) help out your final equations.

Player gets hit points, HP.
Weapons get Damage points, DP.

You need to determine these things with some sort of workable relationship, based on how you want your gameplay. Now, add in armor.

Armor gets hit points, AP, perecntage of total AP, A%, and Damage Value, DV.

AP is transparent to the user. They have no idea what there AP is exactly, they only have a percentage to work with, i.e., leather jacket 65% usable. AP should be higher than HP, much higher with good armor, i.e. if main weapons are pistols then Bullet proof vest AP ~= 5 * HP. Damage is the # of DP that it can with hold. If a 9mm does damage 7, a bullet proof vest should be able to stop a few of those, so its DV should be ~12. You figure out the specifics for your game.

Now the damage system.

Enemy Fires. Do your hit check. If a hit is scored, damage as follows:

damage_inflicted = DP - A% * DV;

if (damage_inflicted < 0)
damage_inflicted = 0;

HP = HP - damage_inflicted;

AP = AP - DP;

updateA%();

Basically, the functional percentage of the Armor, multiplied by the Armor''s Damage Value, absorbs that many Damage points from the attack. If there are any leftover, these are removed from the players HP. No matter what, this affects the armor to some extent (but not a whole lot, as the Armor Points should start with a high value). This updates the A%, so eventually it starts absorbing less and letting more damage through. This system is versatile in its tweaking ability, its ease of porting to component style attack/armor/damage, and being able to keep armor found through the course of the game (or scavenged) not ''good as new''.

I don''t know of any pen and paper implementations of this, as it would be a lot of rolls for each hit, but then I don;t play pen and paper games too much.

Let me know if you have any questions and if this was helpful. I am also innterested in other peoples feedback if they see any obvious general improvements (this could obviously be tweaked differently based on game specifics).

--OctDev

Share this post


Link to post
Share on other sites
Since you''re talking about an RPG rather than an FPS, I would think the ability to avoid being hit (or at least avoid taking a lot of damage from a hit) would be good. The idea of "hit points" doesn''t necessarily relate to physical damage. You could think of it as some sort of potential death indicator or some other abstract measure. The classic concept of hit points is that as you attain higher levels in an RPG, you suddenly become resistant to physical damage. You can actually add up the number of shotgun blasts you could take without dying -- sometimes this number is rather rediculous. But it''s tried and true, so I guess why fix it.

Rather than having players have more hitpoints as they advance, you could reduce damage caused to them based on level. It really boils down to the same thing, I suppose, but why not be different? For example at level 1 damage is 100%, at level 2 it''s 90%, etc. Obviously you''d never get to 0%... Maybe it''s staggered based on weapon types. This would fall in line with intrinsic knowledge of the ways those weapons are employed and how best to avoid having them deal lethal damage. Or maybe rather than a hit/miss decision then a damage calculation, maybe it''s all done in one step. A sort of damage "window" that is modified by armor, level, skill, etc. No damage = miss, lots of damage = good hit.

Okay, it''s late, I''m rambling...

Altho, I do think there''s some potential in that last bit...

Share this post


Link to post
Share on other sites
Along those same lines....

I agree (tentatively). Especially for futuristic...focus should be that your hero should get better at avoidance with experience, and also should have better equipment available at higher levels, rather than constantly adding more hit points. Better armor fits nicely into my previous example, as armor with a high damage value will absorb most of the hits that get through. This was also a consideration when I first hammered out this idea a while ago. I do think some strength/vitality/hitpoint increase is justified...I know that when I am in good shape I am a hell of a lot tougher than when I am in bad. This led me to think of an adrenaline factor too. When I played really competitive soccer, I rarely felt pain, even when delivered a brutal hit. A few hours the game though, I would discover cuts, bumps, bruises, and a general body ache. I used that as the basis of my adrenaline theory--the better your training and skill (experience) the less likely you are to be hindered by wounds. My two thoughts were 1.) this justifies hp increase with experience, although it should be something like inverse logarithmic...in the beginning it makes a noticeable difference, later you only rely on your skill to avoid those injuries, or 2.) Factor in the adrenaline factor. Track adrenaline increases, and use this as a hp increaser in situations, calculated with percentages. Upside--your still moving after getting hit by that bullet. Downside--you kill everyone in the room, no more threat, adrenaline starts to slowly dissipate. If you don't find a hospital soon, or some place to rest and stitch up, you get killed after the fact.

Your thoughts?

--OctDev

Edited by - OctDev on July 25, 2001 6:36:36 AM

Share this post


Link to post
Share on other sites
That sorta touches on bleeding rules. You could liken the effect of ignored damage to damage that creates more damage later. Both of these could follow the same basic rules. Like a wound of a certain magnetude will continue to cause damage till it''s tended to. So a smallish wound that continues to affect you might not be as much a problem as the bad guys with guns. Once they''re outta the way, you can stop and lick your wounds. At which time, you''ve taken more damage and are perhaps not so well off...


I really like the idea of non-lethal damage being different from lethal damage. The Hero pen-and-paper system does this with STUN and BODY. BODY damage is physical damage your being takes (or walls, or other physial entities) whereas STUN is very temporary. You generally get knocked out before killed, unless a weapon is designed to kill. If you take too much STUN in one round, you''re stunned for a moment.

Share this post


Link to post
Share on other sites
quote:
Original post by Thrump
This may be just me, but I''ve always disliked systems where you miss a lot. Give me crappy damage, anything, just don''t make me miss every 2nd time.


I hadn''t really thought about it before, but I agree with you. Missing too much can be frustrating. Movie makers must agree too. Just look at all these movies where the combatants take major beatings, but are still standing. It might not be realistic, but it works and looks good too.


--
http://www.3dcgi.com/

Share this post


Link to post
Share on other sites
miles vignol: While cutting damage is nice, one reason people add hit points is that it gives the player a feeling of accomplishment and continuity(sp?). Players get bored if they character never changes and numbers getting bigger represents more power. Its a simple mind thing but not everyone that plays games is an avid pen''n''paper fan. They want "real" results!

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
>You could mix the two have armor serve as protection from
>damage but also get worn with time. I dunno of any pen and
>paper systems that encorporate this because, after-all, it''s a
>bit of a head-ache to deal with. But hey, computers don''t have
>heads to ache, so what the heck.

Sneak into a fantasy store of your choice and read the

CYBERPUNK

rulebook. It incorporates exactly that: Gunfights, Armor,
Armor piercing, Armor gets worn down the more you get hit...


It''s a great system that relies on really easy to implement
principles. After all some juveniles with a pen should get it ;-)

hth
-nv

Share this post


Link to post
Share on other sites
Some systems use shock points or some such, where you regain some shock points every round, but if you get down to 0 you go unconscious (you can probably also get into negatives (to a point) so that if you get knocked out you stay down for a while). Then just have weapons deal both kinds of damage.

Also, many systems have armor absorb a certain amount of damage (but always taking a minimum amount), and then either have a durability that gets knocked down a certain percent of the damage it absorbed each time, or the actual armor rating goes down a certain percent each time (and then eventually gets destroyed at a certain point).

And there should probably be a chance to hit and some variance in damage. Perhaps you hit 60%-80% of the time? And a weapon would do like 25-30 damage (opposed to some crappy systems where it''s like 1-50 damage).

I dunno, just spilling some ideas.

-----------------
The Goblin (madgob@aol.com)
-----------------
"Before critisizing somebody, walk a mile in their shoes. That way, when you do critisize them, not only will you be a mile away, but you''ll also have their shoes!"

Share this post


Link to post
Share on other sites
As far as figuring out whether or not an attack hits or misses, I have a simple function that I wrote.

  
typedef struct CHARINFO
{
USHORT HitPercent;
USHORT Evade;

... //other stats


USHORT ErrorFactor; // The key to the whole thing...


}FAR* LPCHARINFO;

bool CheckHit(LPCHARINFO Attacker, LPCHARINFO Defender)
{
// This function returns true if the attack was a hit.

// Basically, a random factor is figured for each character

// and then subtracted from the character''s Hit/Evade.

// If the attacker''s result is better than the defender''s

// result, BAM!


int AttResult;
int DefResult;

Attacker->ErrorFactor = rand() %100;
Defender->ErrorFactor = rand() %100;

AttResult = (Attacker->Hit - Attacker->ErrorFactor);
DefResult = (Defender->Evade - Defender->ErrorFactor);

bool RetVal = (AttResult >= DefResult ? true:false);

return RetVal;

}


I''m not exactly sure if this is what I had, but it''s pretty close.

Good luck in getting this figured out.




DracosX:

Master of the General Protection Fault

Share this post


Link to post
Share on other sites