Advertisement

New health-system for an action-game?

Started by January 08, 2006 02:32 PM
8 comments, last by sirGustav 19 years, 1 month ago
Since you guys and gals have given great comments on previous health-system designs, I thought it might be a good idea to run my design through you. About The Game The game is a one-man-army 1st / 3rd person action/adventure shooter with an aim to have the same person-to-person action sequences as action movies (like Heat). Enemies range from resident evil inspired zombies to half-life inspired soldiers and other un-friendly people (including vampires, werewolves and something that can be classified as mutants). You can choose to take out the enemies with hand-to-hand, by shooting them or by running them over with some vehicle. The Previous System My first implementation of this game incorporated a hit-points and armor health-system (since hl had that and I liked hl (I still do btw)). As I started to implement the different damages that the player could encounter I started to feel that this system, while simple, it had it's drawbacks. All damages were divided into 2 categories: Damages that always resulted in health loss called armor-piercing damage, or damages that could result in health-loss (armor-loss first, then health-loss), called direct damage. Hazards such as radiation, fire and poison existed through a simple representation called time-damage. Basically this meant that I could add a damage type (direct or armor-piercing, mostly armor-piercing) and a value how fast and how much it would damage the player. It works, but it doesn't feel right somehow. The New System I've tried to represent the damages that can come to the player and keep it rather realistic. Realistic enough so that it isn't one value that tells if you are dead, yet still keep it within the scope of a fun game. The values are: Body, Protection, Stamina, Consciousness, and Blood. The only time you get full health is by: starting a new level/chapter or going to see a medic/doctor. Half of the values regenerate though. The New ValuesBody. This is what's left of the original health system and it can easily be called health. It represents how much more damage your bones and your body (as whole) can take. If this reaches 0 you die. This value doesn't regenerate. Protection. This is your armor. I've been toying with the idea to have different kinds of armor (Kevlar against low-powered, flak-jacket against high-powered and Teflon vest against fire/heat) and reducing the importance of the armor (i.e. not the I got armor I am un-destroyable). Perhaps 75% armor equals a 75% damage absorbed, or 75% that the armor takes the damage. Recent addition to this value is that only some types of damages should be able to deplete it (bullets cant deplete it, but flames could easily). Some damage-types benefit from having protection, like fire. Stamina determines how long-time you can sprint. If it is low it can affect other stuff as accuracy, and the melee damage. Takes about 10 seconds to refill while standing. If it is low your character/avatar breathes heavily and perhaps running a bit slower. Consciousness determines how much stamina you can have. If this reaches zero you faint and stay out of control until it is filled, possible the world around is speeded so you only have to wait for about 5 seconds - max. When this is low it will be some visuals, perhaps a blurred screen. It should take about 20 seconds to refill while standing. Blood. This is the amount of blood you have. When this reaches zero you die. This determines the level of Consciousness. It should take about (surprise!) 30 seconds to refill. With a low value you should see some visuals degradations, perhaps some more red-colors that usual. With a value somewhat lower than usual, you could hear your heartbeat pulsating. The new time-damage I came to the conclusion that poison isn’t just something that you constantly loose health for some time and then you are fine. A poison temporarily changes your stats, and it may kill you. Having two different poisons in your body shouldn't kill you any faster (but it may), however pumping your body with one poison may seriously reduce your life-time. You may need to take an antidote, but your body may take care of it. That being said, how have I applied it to the health-system? Well, named it time-damage (since it may inflict damage over time). I got one value for each TD (actually I will probably load in TD definitions at startup) indicating how much TD there is (i.e. how much poison you have in your body, or how much you have left to burn before the fire goes out). Time may increase or decrease this value if it is above zero, or your actions may also alter this. Running and rolling around while being on fire makes you loose the fire TD-value faster and jumping into water sets it to zero. Between different values of the TD stuff may happen. Stuff like:
  • Changing the maximum of the stats (body, stamina, consciousness, blood)
  • Changing the stats overtime (this may be dependent on a few predefined values like "have I moved?" and "am I in air/water?")
  • Override the original "what happens if this stat-value if below zero?" – some drugs may result that you can run for a longer time, but instead of getting tired, you die.
  • Apply different effects
These effects may be selected randomly from an effect-list in the TD definition. The effects are predefined and affect the input and output to the user (among other things), some examples:
  • The EAX "psycho" effect
  • Less damage in close combat(you are weaker)
  • The HUD displays wrong values
  • Illusions (crawling spiders, people calling for help, fake enemies, fake sound of enemies)
  • Simulating, ignoring and/or modifying input (suddenly your characters starts shooting, refuses to or starts to punch when you want to shoot)
  • Multiplying the recoil value
  • Your character starts to talk to someone in his imagination and a bar appears and you have to start "button mashing" to regain control.
  • Strange being-high comments like "I am the lizard king", "Baby I got a hat" and "Juicy stuff"
Poison, Diseases, (Love? ;) ) and Drugs are all classified time-damages. How I reasoned myself to these values Basically I listed all the damages that the character could be exposed to, and thought about how a movie/real life person would react to that kind of damage. So there is no science behind this "real-life" health simulation. Then I removed those values that would effect the game-play is a drastically bad way, like getting hit in the leg and walking/crawling at reduced speed to the nearest medic for hours. With these effects I grouped them and gave them a somewhat logical names. Damage and modifier listPunch: loss of Consciousness and Body Flash bang: Some visual effect, perhaps some “button mashing” to regain control of your chocked character, but this feels like a game-play killer. Getting shot: Loosing protection and (then) Body. If Body is lost, you loose roughly one-second blood. Sharp attack or slash from a knife: Same as Bullet, but perhaps more Blood. Vampire bite: Lost of Blood and Body. Smoke/Gas: Loosing stamina slow while coughing. This could be altered to add some TD, if the smoke is poisoned Drowning: Drowning is implemented through time-damage. Loosing Consciousness and when it reaches zero you die. Radiation: Yet another time-damage. Being radiated makes you loose Consciousness and Body really slow. Fire: Being in fire adds to the fire-time-damage value. Loosing Body fast. Acid: Similar to fire, but can’t be shaken of with movement. Also there are no flames coming from you, more like smoke (from your flesh). Combined:Zombie bite: Zombie Poison + Slash Explosion: punch and fire Display of this health system Unlike my previous games, I want to hide the numbers by displaying the bars. However displaying 5 bars doesn’t sound like a great idea. It may frighten the casual gamer. I've come up with this: An advanced and a simplified view. The advanced view displays all the bars (5x) and the simplified combines some values. Protection and stamina are standard values so I display them with no modification. Health is computed by Body * Blood * (Consciousness * 0,5 + 0,5), assuming that all values range from 0 to 1. If you have come to this point I must congratulate you. I believe this is my longest post ever :) So… What do you think? Have I overcomplicated things or could this system work, or perhaps event make the game more realistic but still keep the game-play? Do you have any suggestions that could make this system better? Or should I really ditch this new idea and use the old (boring) but classic hp/armor system like I always used to?
It's an awful lot to keep track of for a one-man-army kind of game. I think it would hijack too much of gameplay. If you were making a strategy/horror/survival game, it would be okay.

I think you should try something like FarCry with bleeding. The "Breath-o-Meter" took care of things like sprinting, accuracy, holding your breath to aim, and swimming. You could reduce the max "breth" as health drops to cover fatigue and pain and whatnot. Then just have an Action Quake-style blood system, where a wound has a chance to inflict the "bleeding" condition on you, and your max health will decrease until you either bandage or die.

A few simple, intuitive dynamics that a player can keep track of can elegantly take the place of a huge library of effects and conditions.

I think that status ailments are okay as long as they don't ruin gameplay. If I'm better off quickloading every time I get a burn or other lasting injury, I'll just quickload myself into a perfect run.

Flashbangs are fine. Don't do the button-mashing thing. Players know how to run like hell and try to remember where cover is when their screen goes white. Leave that in.
Advertisement
Quote:
It's an awful lot to keep track of for a one-man-army kind of game. I think it would hijack too much of gameplay. If you were making a strategy/horror/survival game, it would be okay.

Really? It's "only" 2 additional values, and in "simple" mode they will look and (roughly) act as one. On the other hand, perhaps you're right. I maight have listened too much at Ernest Adams when he complained about "the simple economy in FPSs" ;)

Quote:
I think you should try something like FarCry with bleeding. The "Breath-o-Meter" took care of things like sprinting, accuracy, holding your breath to aim, and swimming.

Perhaps I have to replay the first levels from far-cry :) I got pretty bored when the invicible mutants started to appearing, so I basicly switched to windows, whatched all the movies to find out how it ended(pretty boring) and unistalled the game.

Bleeding? Bleeding spoils the fun IMHO so it isn't around. Getting shot and start to bleed without something to stop it, seem like a gameplay killer to me, and just another reason to load the latest save ;) Yes I do have blood, but no bleeding. The wounds auto-magicly close after having dropped a little blood :)

Perhaps blood isn't such a good name, more like mental-stability. Getting stuck twice in a row is alot worse than getting struck once and then a few moments later once again.

Quote:
I think that status ailments are okay as long as they don't ruin gameplay. If I'm better off quickloading every time I get a burn or other lasting injury, I'll just quickload myself into a perfect run.

good point, never thought of that :) Perhaps a re-design is needed.
"I got pretty bored when the invicible mutants started to appearing" what? they aren't really invinceble, they are actually quite fun to snipe. I liked far cry's health system, it took into account most of the basic things, you don't want a health system too complicated for the player or else it will distract from the actual game, a simple yet effective health system is the way to go.
-------------------------Only a fool claims himself an expert
Quote:
Original post by sirGustav
75% armor equals a 75% damage absorbed, or 75% that the armor takes the damage. Recent addition to this value is that only some types of damages should be able to deplete it (bullets cant deplete it, but flames could easily).


Sooooooo... if you have 100% armor, and you fight bullet using enemies, you are virtually in god mode.

Make the armor max value 50%.


Now, about the displaying of the bar, what about using a pentagon like some RPGs(like phantasy star online) use for stats display. The player can throw a glance to the pentagon, and if it's too small, he will know he is in trouble. I suggest putting this pentagon inside a larger bounding pentagon what shows the max values of each value.

Also, don't forget to flash the screen or put some annoying sound when one of the values is too low(but don't do it for armor)
-----------------------------------------Everyboddy need someboddy!
Armor / Health
100 100
Damage 10p: 1,00*10=10
90 100
Damage: 10p = 0,90*10=9
81 99 (100 - (10-1))
etc. There probably will be some lower level on this value(so that it doesn't go on and on all the time ;) , quicktest: 23 10 damages to reduce armor from 100 to 0), but the general idea is that the armor will let through some damage even if you got some, and you shouldn't loose your armor in a snap (unless you burn), even if you are under heavy fire.
Perhaps this is a stupid idea, and I always should leave it at a constant value.

invicible=invisible (typo), not invinceble ;) It seemed like the designers ran out of ideas. "Hmmm, we already got mutants and evil soldiers, why not add mutants that are hard to see and packed with silencers so they can shoot more before the player notice the last one". Sure you had infra-red or whatever it was that made you see them, but you couldnt see the beautiful enviroments while using it. Enough ranting, to little programming and sleep - yawn ;)
Advertisement
Far Cry was really hard toward the end, even on easy mode, but I blame that on all those jerks with rocket launchers and perfect aim on top of mountains. Whose idea was that?

In an action game, it's important for a player to be able to understand the health system. Doom, Halo, Far Cry, et al all had a simple system that allowed players to assess in under a second what was wrong and how to fix it. If your health is low, find a medkit. If your shields are down, hide for a second. If you can't jump, catch your breath.

If a player has to try to figure out that fire is bypassing their shields, or that AP rounds are defeating their armor, or that percussion blasts are giving them a concussion from the other side of the wall, it'll take them too long, and they'll get the "WTF just killed me?" syndrome that the explosions in Goldeneye gave to newbies.

You seem attached to the different damage types and sophisticated system you've described. Maybe some kind of turn-based strategy (Fallout/Silent Storm) or RTS-type game (Diablo/Dungeon Siege) would be a better vehicle for the health system you describe.

Edit: I don't like the juxtaposition of zombies/mutants/soldiers as enemies. Just like you hated the invisible mutants in Far Cry and so many people hated The Flood in Halo, people will say of your game, "Man it was great fighting through streets against soldiers, but when the hellgate opened and all those vampires and werewolves starting ghosting around, I just switched to Windows, watched all the movies to find out how it ended (pretty boring) and uninstalled it."
An interesting system, and very similar in some ways to one i designed myself awhile ago for a FPS/Exploration/Survival game. I wanted the gameplay to have a slower pace and gritty atmosphere requiring thought and tactics, so if the player tried to pull a super rambo he'd likely be shot to pieces.

I think Iron Chef's suggestions are good if your going for faster paced gameplay, since the player will be thinking about alot of other things ontop of his current status while mowing down the enemy.

Quote:
Iron Chef Carnage wrote:
so many people hated The Flood in Halo


Really? I always liked the flood personally, they always gave me an ample supply of shotgun ammo and reminded me alot of zombies, which i like to shoot. :D
Quote:
Original post by Gyrthok
An interesting system, and very similar in some ways to one i designed myself awhile ago for a FPS/Exploration/Survival game. I wanted the gameplay to have a slower pace and gritty atmosphere requiring thought and tactics, so if the player tried to pull a super rambo he'd likely be shot to pieces.
Sounds a lot like Far Cry to me. If only it had been a little bit less objective-oriented...
I always play on easy, since I'm not so good, and farcry was a bit (too) hard for me I guess. I'v re-installed it and I'll see if I have the time to play it through. Maybe it's only bad memories but I remember that after I got killed by thoose invisible mutants all the time on the same place.
I didn't hate the invisible mutant design, but rather the invisible mutant enemies. Theye were to hard to fight IMHO, the invisible enemies in fear though were great fun. To be honest I don't care about the design that much, I care more about the gameplay.

Quote:
and they'll get the "WTF just killed me?" syndrome that the explosions in Goldeneye gave to newbies
Can't that be countered with something like: "You were killed by a grenade, whatch out for grenades?"

Quote:
I think Iron Chef's suggestions are good if your going for faster paced gameplay, since the player will be thinking about alot of other things ontop of his current status while mowing down the enemy.

perhaps your right
*to the valus* good bye my lover, it's been fun but were no good for eachother [sad]

I'd like to thanks everyone who helped, gave it a thought, posted etc. and I'm satisfied, unless anyone wants to keep on discussing ;)

This topic is closed to new replies.

Advertisement