Hitpoints, Damage, Experience

Started by
9 comments, last by OctDev 22 years, 8 months ago
Well this is basically going to be cut and pasted from some replies I made to another thread Damage and Armor equations (oh my!) last night, so sorry if it seems garbled. I want the design forum to take a look. This was in response to a futuristic rpg based around projectile weapons (guns) and various levels of armor. Many rpgs increase hp in direct proportion to experience. How can you create effective damage equations and allow the player to get stronger while not incresing there hp 10 fold (somewhat unrealistic, but soooo many games do this). One attempt to level this is to not increase the hp in crazy amounts, but make new armor available with a significant increase of protection. Now how do you effectively balance damage and armor equations and still attain some degree of realism (armor degrades with time, etc). My thoughts: 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 withstand. 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, while still deteriorating at the same rate. 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''. Now, for adding hitpoints but making things somewhat more believable than "you killed the Boss, good job, your life doubles!''. 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 shape. This led me to think of an adrenaline factor too. When I played really competitive soccer, I rarely felt pain during games, even when delivered a brutal hit. A few hours after 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.) (the easy way) 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.) (the cool way) 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
The Tyr project is here.
Advertisement
You don''t need to increase every statistic that a characters has to make it stronger when it levels. You can increase how often it hits, how much damage it does when it hits, how often it can dodge a hit, some or all of its skills, all without having to change hit points or health. And that is the method I use in my game. To me, this simplifies things greatly, since the ratio of weapon damage to character capacity for damage is fixed. This means I have fewer factors to balance which makes gameplay better.
I think your armor system is pretty good, at least concept-wise. Real-life modern weapons are very deadly for unarmored folks, so the game can fit player expectations pretty easy. I also like the separation of dv and dp.

I think the mechanics are ok, but it has some implications for the rest of the game.

First, from the player point of view, combat can go from being invulnerable to being dead pretty fast. You can tweak the scales this way or that, but once the armor starts to degrade then the player is on a steep slope to death.

This is good if combat is meant to be infrequent, or risky, but it might not work for a mindless hack n'' slash. Depends on what you''re designing.


If armor is permanently damaged then there needs to be something to handle repairs or replacement. Fixing armor during an adventure becomes important. Replacing player hitpoints is often accomplished by a convenient plot device (magic potion, heal patch, duct tape, whatever). There might need to be something similar for armor (quick-weld patches or whatnot).


You double count the full applied damage. If an attack does 12 pts and the armor stops 7, then the player takes 5, but the armor also takes the full 12. It''s not good or bad, just something to remember when you''re balancing the numbers.


I''ll think about this some more and post if I come up with anything useful.

You might also consider the pen and paper game Shadowrun (flawed, but it separated weapon penetration strength from weapon damage)

JSwing
Kylotan--
Well, this is at a conceptual stage, so I am trying to build a lot of factors into the design to make gameplay seam more relisic; I haven''t implemented any of this yet so I do not have insight into some of the problems it will cause when attempting to balance gameplay, but by acknowledging these possible problems you raise a good point.

JSwing--
To keep armor from deteriorating too quickly, I intended it to have massive armor point values. Example: 20 hp character wearing 200 ap armor. This should make it deteriorate at a reasonable rate. Additionally, I thought about compnent armor, and how this would allow components to take damage seperately and function at different rates. But then this directly correlates to the point you made later--armor deteriorates with the full impact of each attack, despite the amount of damage that got through. This strikes me as more realistic--the armor takes it no matter what; you being protected from damage is an added bonus. This will require some juggling of the numbers to make gameplay plausible and balanced.

This is intended for a more realistic game, or at least a game that can factor in some avoidance (dodging most enemy bullets), rather than a hack n'' slash. I totally agree that this would not be a good design for Diablo. I have never played thief, but supposedly avoiding fights was really good; and that may be along the lines of this type of system. I.e. avoiding fights is usaully best, but when you have to go to war, at least you have some means of protection.

In adventure repair is an excellent point that I hadn''t considered yet. I am designing a RTS at the moment; if I start really designing for this, I will get back to you and ask for some suggestions!

I''ve never played Shadowrun, but I''ll try and peruse its rules. Thanx for the tip.

Thans for the feedback guys.







--OctDev
The Tyr project is here.
Massive armor numbers might prevent the player from shedding armor all the time, but the balance problem is between the armor values and weapon strength, rather than hit points.

By increasing the armor numbers you''ve stretched out the curve, but not changed the shape - the problem doesn''t go away.

If the typical weapon strength is slightly less than the armor dv (2-3 points) then due to the slow rate of armor degradation combat drags to a crawl.

If the typical weapon strength is slightly higher than the armor dv (2-3 points) then the armor hardly degrades in the time it takes to kill the person wearing it.

When the weapon strength is about equal to the armor dv (+1 to -1) then you get a balanced, if fairly risky system. But once the armor suffers some degradation you end up with the second case (rapid death). If the player doesn''t keep the armor in top shape they won''t last long.

Such a large difference in effect from a small range of attack values makes it difficult to provide both variety and keep things balanced. Worse, you''ve got one scale that goes up to 200 with very little difference in effect (the armor AP) and another much smaller scale where small differences cause a tremendous effect. You can of course mask this wish analog graphics or somesuch, but it doesn''t quite balance well.

The numbers:
For a 200 ap armor with 10 dv (pulled out of the air) on a person with 20 hp,

a 13 weapon str attack (net +3) will kill in 5 hits, inflicting damage from the first hit on

a 12 weapon str attack (net +2) will kill in 6 hits, ditto

a 10 weapon str attack (net 0) will kill in 10 hits, and the first two cause no damage to the player

an 8 weapon str attack (net -2) will kill in 16 hits, doing no damage for the first 7 hits


So you might be able to balance a single armor versus a single weapon, but it becomes difficult to balance against a range of weapons unless you add in some other number to change the shape of the curve.


Another game system you might look at is one called JAGS - it''s available for free download on the web, I don''t have the url handy. It''s horrendously complicated (way too many die rolls), but it does armor effects ok.

Basically damage is divided into two types, impact and penetrating. Penetrating is deadlier, representing internal damage. Armor both protects from damage (using one number), and it may also turn penetrating into impact damage (using another number). The armor stops the bullet from touching flesh, but the person can still be wounded from bruising.

It''s also got rules for armor degradation, and partial coverage, but they aren''t as well crafted IMO.

You could use something similar but with your degredation system - the key being that what degrades is the ability of the armor to reduce penetrating damage to the less dangerous impact damage. The armor will always provide some protection, but worn out armor puts you at greater risk primarily when facing a lucky or skillful opponent.

JSwing
Hey, folks! This may not be exactly what you''re looking for, but have you considered eliminating the PC''s hit points altogether?

I wonder whether you might try something like this: The player''s character has no hit points. Anything which hits him causes fatality. The hit points are restricted to the character''s armor. Anything which gets past the armor is lethal.

This would seem bizarre in most cases. But if you''re using futuristic weaponry, such as lasers, this might be appropriate. A character who is caught unarmored is going to be an automatic kill anyway, right?

Rather than making each piece of armor conform to a standard number, it might be more interesting to give them differing properties. For example, one type of armor might be very good against a particular type of weapon, but rather weak against another.

One type of armor could consist mostly of very heavy ceramic plates which do an excellent job of absorbing or reflecting harmful lasers. But because it is so heavy, only the front of the person may be armored - full armor would just be too heavy to wear. This would be very good armor to wear, until the character faced enemies using a weapon which could ricochet off walls, catching him from behind.

The resulting gameplay element would ensure that no one type of armor would be the best in all situations. Each is strong in some situations, but weak in others. Wouldn''t this help to lead to some sort of balance?

The idea of changing armor, not on the basis of how strong that armor is, but how practical in the current situation, might be a nice change of pace. It would also help to ensure that no player is ever invincible, even at the most advanced levels.

Of course, this would entail a bit more work, and the system would be a good deal more complex. So this may not be what you''re looking for at all. But I think it might make for a very interesting system.

Good luck!


Jonathon
quote:"Mathematics are one of the fundamentaries of educationalizing our youths." -George W. Bush
Jonathon[quote]"Mathematics are one of the fundamentaries of educationalizing our youths." -George W. Bush"When a nation is filled with strife, then do patriots flourish." - Lao Tzu America: Love it or leave it ... in the mess it's in. [/quote]
Anothing thing to consider is the way stat advancement is handled.
In many RPGs, there is of course HP, which determines how much damage a character can sustain. Then there is some kind of "stamina" stat that has the effect of reducing the damage the character recieves. And in most games, both stats go up every level. The way I see it, increasing both stats every level is somewhat redundant. One solution I came up with involves the characters having fixed stats, with only HP increasing every level, and with HP increasing in a linear rather than exponential fashion. The problem with exponential increase rates is, of course, that either HP is obscenely high at higher levels, or HP increases at lower levels are insignificant.
Another option would be fixed HP with stats ioncreasing every level; in other words, the character can only sustain a fixed amount of damage, but experience has improved their evasion ability and their capability to resist damage. The justification for this is simply that there are relatively few wounds that are in themselves fatal, mostly extreme situations such as decapitation, reduction to ash, being crushed to extreme flatness, etc. The main killer is the shock that accompanies the damage, and the more often someone is injured, the more damage-tolerant their body becomes, and the less likely they are to die of shock. An extreme variant of this that I''ve experimented with doing away with levels altogether, and instead having stats that increase as they are used, i.e. swinging swords and carrying heavy loads increases strength, casting spells increases inteligence, geting hit increases stamina, etc. This also results in more customization of characters, so they player will feel that they have more input into their character''s development.

One suggestion, if you intend to use degrading armor, is that degredation tends to be sudden; i.e. armor tends to fuction at full effectiveness for most of its lifespan, and only really starts to lose its ability to reduce damage as it gets close to being destroyed, although its resale value tends to go down in a simple linear fashion with the damage recieved. So my suggestion would be to replace your damage_inflicted equation with something like

damage_inflicted = DP - [(1 - [(1 - A%)^2]) * DV]

This way, armor that has lost 25% of its AP still reduces damage by 94% of its DV, but armor that has lost 50% of its AP protects with only 75% of its DV, and armor that is at 10% AP only protects with 9% of its DV. Of course, you''ll want to provide the player with some method of evaluating the condition of his armor ("It''s brand new!", "It''s got a few scorch marks...", "It''s so full of holes I''d be better off naked!") so that when they''re characters start dying beacause their armor is giving out,it the player''s fault for not paying attention.

You also might consider including a damage scaling factor for each weapon, so you can have things like heavy weapon that can be stopped by light armor and armor piercing rounds than don''t do a lot of damage, but can punch through any armor, so that the equations become

HP = HP - damage_inflicted*DS;

AP = AP - DP*DS;

With some sample data such as

Light Armor, 200 AP, DV 3
Ballistic Armor, 500 AP, DV 7
Battlesuit, 1600 AP, DV 20
Laser Rifle, DP 6, DS 1
Plasma Rifle, DP 12, DS 2
Laser Cannon, DP 8, DS 4
Armor-piercing Rifle, DP 60, DS 0.1

so that if you were fighting, say, an enemy soldier wearing a battlesuit, your only options would be to pelt him with armor-piercing rounds at 4 damage per hit or try to destroy his armor with a laser cannon inflicting 32 damage per hit. This would also require more strageic thinking on the part of the player, as certain armor would necessitate certain strategies; for example, with the data above, an Armor-piercing Rifle is useless against lightly armored foes, while a Light Armor-clad villain is most vulnerable to Laser Cannon shots and Ballistic armor doesn''t protect very well against a Plasma Rifle.
Actually, now that I think about it, I think I might use this system myself! Although anyone else is certainly free to use it as well.

Also, consider that part of the problem is that many RPGs have ridiculous amounts of variance in weapon power. After all, is a finely crafted katana REALLY going to have 20x the attack power of a wimpy bronze sword?

Another idea is, instead of making enemies tougher by giving them more HP (the Final Fantasy appraoch) why not give them better defences? I personally would prefer games with fewer random battles and stronger enemies, rather than having to face an onslaught of enemies I''d have to TRY to lose to...

Sorry if I''m a little long-winded; this just happened to get me thinking...
quote:Original post by OctDev
Kylotan--
Well, this is at a conceptual stage, so I am trying to build a lot of factors into the design to make gameplay seam more relisic; I haven''t implemented any of this yet so I do not have insight into some of the problems it will cause when attempting to balance gameplay, but by acknowledging these possible problems you raise a good point.

First point: remember that realism isn''t always a good aim. See the other thread on this board for some reasons why.

Besides... if you want realism, you''d keep hps pretty static, and have most firearms deal about 25%-150% of the average hps in terms of damage each time. Is that fun? Probably not, for many games.

Regarding balance: the best way is to start simple, balance what you have, then add a factor. Balance that, and repeat. Otherwise you''re left with too many factors to balance where changing one has an adverse effect on others. Whereas if you are careful to balance a system before adding a new factor, you know that you can fix any problems simply by removing that factor. And you only have 1 factor to really concentrate on at a time.
I have to agree with Kylotan about realism not necesarily being the best way to approach design. A certain amount IS necesary for the world to be believable BUT many game players play games hoping to escape reality. Here''s an example of realistic versus a few liberties(fun games). Realistic:Getting shot once can be fatal even if it doesnt hit a vital organ. Fun:Being able to take a bullet or two and not having to worry about bleeding to death. (Not sure if this example made sense or not, hope it did)

Although as game designers we''d like to make it all as real as possible, from a game PLAYERS point of view reality is somewhat restricting. In my opinion, if were making a game we want others to enjoy, it''s the game players opnion that must be seriously taken into consideration. So although realism is nice, perhaps we should be reevaluating some of our designs here.

I''m not dissing anyone here, just trying to point something out that we need to keep in mind. There''s a line between real+fun and just real. Its easy to cross but hard to walk.
IF you''re really interested in some methods to do damage and armor class calculations, pick up two very obscure RPGs. I''m not sure if you''ll be able to find them save on something like eBay, since they''ve been long out of print.

The first was by the BlackBurg Tactical Research Group, and they made the games, SpaceTime, and TimeLords. In SpaceTime, they have perhaps the most ingenious and realistic system I''ve seen for damage and armor modelling. Weapons had a lethality rating which gauged whether they did actual letahl damage or more submission damage. As an example, a knife or gun bullt would be 100% lethal. A black Jack might only be 25% lethal and 75% submission however. Then after factoring out armor, damage was modeled after where the person was hit, and depending on the type of weapon, would inflict various types of damage. For example, a bullet which is very lethal, but is concentrated at one point had little chance of breaking a bone. However, a lead pipe, while not as lethal had a very good chance of breaking a bone. It even accounted for stun type damage. Just because a weapon is lethal doesn''t mean it''s going to make you reel in pain (a fact which the filipinos noted, and was why they preferred using sticks to swords....a hit from a club was far more "painful" than a hit from a sword, causing the opponent to lose his reaction, allowing more follow up hits).

The BTRG group made a supplement called 3G, for Guns Guns Guns, and it had mathematical models on how to create create guns. IT let you design the armor penetration factor based on simple pressure formulas (pressure=force/area), so that the smaller the bullet diameter, the better armor penetration it had....up to a point. Because it also factored in Kinetic Energy. The more mass a bullet has, the more kinetic energy it can carry. Therefore, the most penetrating rounds are saboted rods...very long needle shaped rounds which due to their length carried lots of kinetic energy. If you can get ahold of SpaceTime and 3G, you will find a WEALTH of information for your calculations

The other game was called Phoenix Command/Living Steel, and I don''t remember who made it now. If you wanted to look at how to model armor penetration, and realistic values of penetrations of weapons, look no further. This was the first role-playing game I saw where one hit=one kill came into being. Just like Rainbow 6, when I used to GM games, players became a lot more cautious than they had been and planned things out.

Unfortunately as I said, these games have long been out of print, but they are real gems if you can find them.
The world has achieved brilliance without wisdom, power without conscience. Ours is a world of nuclear giants and ethical infants. We know more about war than we know about peace, more about killing than we know about living. We have grasped the mystery of the atom and rejected the Sermon on the Mount." - General Omar Bradley

This topic is closed to new replies.

Advertisement