Tiny, tiny hitboxes and how they're being used to balance an armour system

Started by
9 comments, last by JLW 6 years, 10 months ago

One of the goals of my game project is an armour system that's engaging and functional, one that makes the player think about it during combat and respond to its presence. In other words, not a uselessly small percentage resistance like you see in most games. The result has been armour that is, on the face of it, extremely overpowered. Almost realistically overpowered, even. This is done with a damage reduction system and high-end armour has so much damage reduction that it can sometimes be difficult or impossible to deal any damage through armour. Even clothing provides a fair amount of DR, even if it isn't anywhere near the same league as armour. This pairs with strong dodge, block and parry mechanics to make some characters appear near impossible to fell. So here's how I'm balancing it.

1. Damage types and type advantage.

This is very straightforward. Armour is not equally effective against all damage types. an opponent

2. Buffel.

Even more straightforwad, if you can find an opportunity to do so hold the attack button down and you will make a buffel, an impractically heavy attack that has double attack power, but takes twice as long and consumes four times as much stamina. This can breach much heavier armour than a regular attack, but it rarely actually works because the attack is so slow and easy to respond to.

3. Back attack.

The previous options are often defeated by the enemy's guard, but if you dodge past an enemy and attack from behind an enemy can't block your attack and while you won't deal more damage any damage you do inflict will stagger more and usually deal more body damage, helping set you up for a combo. Of course, that doesn't help if the enemy's armour is just too thick for you to penetrate, especially since many enemies will have a cloak that actually gives them slightly MORE damage reduction on their back. (Though only slightly. Even with type advantage it's +3, when their armour could in theory have as much as 44 already and their natural armour another 5.)

4. Use non-kinetic damage.

To some extent, energy and poison are the Achilles' heel of armour. It still works on them, but not to nearly the extent it does on kinetic attacks. Delivering poison is easy, but requires you do at least some damage, but it can make just a little damage something functional and the more the better. The player can also deliver heat and chemical damage easily enough, and the armour system there will prevent damage for some time but enough damage in a short enough period will wear through it and start dealing damage. Poison is slow, though, and energy damage has a hell of a time actually killing anything, so keep that in mind.

5. Attacking weak points for massive damage.

This is the one referred to in the title of the thread. Armour is extremely locational in this game, protecting exactly as much of the body as it appears to, so aiming where your opponent doesn't have armour (or just has less) can allow you to sneak in damage. Most of the body can have two layers of armour, the head can fit a layer of clothing over the top of that, but some body parts can't get nearly that much. The face and neck can both only have one layer of armour and one layer of clothing, the feet can only have a layer of armour, and the hands can only have a layer of clothing. That's four places where weak spots are almost guaranteed. The hands in particular are a good target because they are so exposed and the hand is a 2x body damage hitbox for the arm. Sure, it's hard to land a hit on the hands without it being blocked, but if you do you're likely to cripple in one hit and it's almost impossible the attack will fail to deal damage.

Here's the problem. I know it's only one of five options, but as it's such a useful option I'm concerned players just won't be able to perform such extreme precision shots like hitting a character's hand while it's attacking or in a parry recovery, or just otherwise not blocking. I'm not even sure most players will think to do that. So, how do I ensure players are thinking of doing that and give them good opportunities to practice? I've got a few things already, but the more I can do the better.

There's two of us on this account. Jeremy contributes on design posts, Justin does everything else, including replying on those threads. Jeremy is not a people person, so it's Justin you'll be talking to at any given time.

Aelsif's Patreon.

Advertisement

World of Tanks has the same system, certain tanks have small weak points in their armor. Here's an example, notice the small areas of green.

Whether players can actually hit the spots or not is just a matter of how your controls handle. If players are going to be asked to hit very small weak points, they better be able to control their attacks easily and precisely.

Okay, but how do I make it clear this is a thing they need to do and should practice? The weak points aren't neon green, they're just places where other characters are wearing less armour (or possibly none). It may seem obvious that an enemy who is, for example, not wearing any greaves should be stabbed in the shin, but most players don't think about that because that doesn't actually work in most games.

In most games, any armour you wear protects your whole body and even when there is some division it's usually simple enough that having armour on your upper legs would protect your lower legs, where in this game the division is really complicated. There's 26 different hitboxes on a humanoid model in-game, how do we get it across to the player that the armour an opponent has on each of the hitboxes is irrelevant to every hitbox it doesn't cover?

There's two of us on this account. Jeremy contributes on design posts, Justin does everything else, including replying on those threads. Jeremy is not a people person, so it's Justin you'll be talking to at any given time.

Aelsif's Patreon.

Are there (m)any friendly (or at least neutral) NPCs the player interacts with? One relatively easy option is to simply have a character tell the player early on in the game.

Potentially less effective, if the player will witness combats between other characters you could show them by giving them the opportunity to witness fights, where hits against armour are less effective but hits on unarmoured or less armoured areas, are obviously more damaging or outright deadly. This one relies on good animation to a degree and may be missed by some players.

There's also out-of-game instruction. Not something that every game has, but if your game has a manual or tutorial you could just outright tell the player important information like this.

- Jason Astle-Adams

I think from a technical standpoint it would be easier to have just the one hit-box (simplifies collision detection) but use the 'hit' information coords (x,y,z) to determine what area has been hit.

You can treat body parts separately even on a very limited amount of collisions.

Okay, but how do I make it clear this is a thing they need to do and should practice? The weak points aren't neon green, they're just places where other characters are wearing less armour (or possibly none).

They aren't neon green in World of Tanks, either. Most of the weak points are unknowable unless you do a lot of testing. Guess what fans did? They cared enough about figuring it out that they did the testing and made the pictures.

I think you're worrying about something that hasn't yet proven to be an issue. If you give the player enough fidelity of control and get them to care about becoming proficient at the game, they'll figure out the weak points. What you should be doing is giving them the tools to know that a hit to the weak point was more effective (either through visual cues on the model, or telling them how many points of damage it did).

In regards to player knowledge of weakspots, an example of PC-NPC interaction:

The dear player has taken control of Swordy McSwordface, a blade-toting hero.

Mr Ironcheeks appears, clad in huge plate armour. All shiny and knightly.

It makes Swordy's leather armour seem somewhat flimsy and agile. And that's before we even see ol' Ironcheeks heft a weighty claymore from his back.

And before you know it, we're in. Ironcheeks raises his weapon high above his head; it descends upon poor unsuspecting Swordy, letting rip the audible tear of Swordy's leather tunic.

Swordy responds in kind, unleashing a flurry of jabs and swipes, all to a soundtrack of metal-on-metal and no avail.

Ironcheeks got lucky the first time. It takes him so long to wind up an attack that Swordy can just walk casually away from the attack.

Swordy gets bolder and bolder. The weapon seems ineffective, but he has plenty of time to get desperate extra hits in while Ironcheeks is holding up his sword.

Suddenly, Swordy connects with Ironcheek's armpit, releasing the familiar sound of tearing leather and cloth. Ironcheeks staggers back, realising his mistake. He begins to favour horizontal cleaves instead, revealing a clothy gap between his helmet and breastplate as he's pulled down by the weight and momentum of the claymore.

Swordy still doesn't quite realise that he should aim for weakspots, which gives Ironcheeks plenty of time to recover his ego. He's back to hauling that mammoth sword up and down.

Basically: it doesn't need to be neon green to draw your attention.

As for PVP, this kind of situation would present itself more organically. It may take a bit longer, but as long as you give adequate feedback of the effects of the player's actions, strategies will present themselves. Especially if they witness an opponent breach their own armour somehow.

Lecturer and semi-domesticated Code-Panda for Polygon College

Are there (m)any friendly (or at least neutral) NPCs the player interacts with? One relatively easy option is to simply have a character tell the player early on in the game.
Potentially less effective, if the player will witness combats between other characters you could show them by giving them the opportunity to witness fights, where hits against armour are less effective but hits on unarmoured or less armoured areas, are obviously more damaging or outright deadly. This one relies on good animation to a degree and may be missed by some players.
There's also out-of-game instruction. Not something that every game has, but if your game has a manual or tutorial you could just outright tell the player important information like this.

I guess I could have an NPC about it, but it seems hard to work given the character's extremely young age. Who tells a kindergartener where to stab folks? ("Remember sweetie, aim for the feet, groin or the back of the thigh!") I guess maybe I could have an NPC shout that while they're actually fighting, there's a good opportunity when the player is fighting the (as of yet unnamed) inquisitor, literally the second boss of the game. There is an NPC present for that one, the only reason the player would be fighting the inquisitor in the first place is because he's assaulting a young woman, she can be there to shout advice during the fight. (Though this fight IS skippable, you just need to stand there and let him beat her with a stick and pour vitriol on her face. In which case, I think you deserve to be left in the dark.)

As for having NPCs fight, that's more feasible. I can see giving NPCs weapons that can't hurt eachother through their armour and having them fight, since they simply won't be inflicting damage unless they hit them. Making sure the player encounters these scenes from below or above, or some other angle where they can see the action but can't immediately intervene, should help. It's also worth noting that the game shows damage numbers, so it's not as reliant on animation.

The game's tutorial is the first area of the game, and it's designed to teach mechanics through play rather than though long-winded instruction. I suppose leaving a note telling the player about that wouldn't be too bad, especially since the game's note mechanic is already used in the tutorial, but I already thought of that so it isn't really new. The tutorial gives a note on how to do something with a note you don't have to read, then immediately gives you an opportunity to do it, Souls-style. Allowing that means it can easily instruct the player to aim for exposed areas, though the enemies that early aren't wearing armour. (Then again, the player doesn't have a weapon yet, either.) Perhaps it's not the most effective tutorial method, but it's easy to do, doesn't send a sledgehammer through immersion and isn't obnoxious for returning players, and it can certainly do this if they're willing to read the tutorial messages.

There's two of us on this account. Jeremy contributes on design posts, Justin does everything else, including replying on those threads. Jeremy is not a people person, so it's Justin you'll be talking to at any given time.

Aelsif's Patreon.

On 5/13/2017 at 8:30 AM, JLW said:

So, how do I ensure players are thinking of doing that and give them good opportunities to practice?

1. make it clear that advanced hit location, etc is part of the combat system. the tutorial game is a good place for this.

2. add a "quick combat" option to the game's main menu (Continue, New, Load, etc). this will put them into a quick combat with a random opponent to practice combat. Quick combat is a common feature in games such as flight sims. the "quick battle" option in games like total war is similar. Rockland's Caveman v1.0 (2000) - a paleoworld FPSRPG featured quick combat with up to 25 combatants per side (including the player). you could set the number appearing and the weapon and armor loadouts for each side. this was a separate feature from the tutorial and campaign games. 

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

13 hours ago, Norman Barrows said:

1. make it clear that advanced hit location, etc is part of the combat system. the tutorial game is a good place for this.

2. add a "quick combat" option to the game's main menu (Continue, New, Load, etc). this will put them into a quick combat with a random opponent to practice combat. Quick combat is a common feature in games such as flight sims. the "quick battle" option in games like total war is similar. Rockland's Caveman v1.0 (2000) - a paleoworld FPSRPG featured quick combat with up to 25 combatants per side (including the player). you could set the number appearing and the weapon and armor loadouts for each side. this was a separate feature from the tutorial and campaign games. 

These are good ideas, though quick combat might be a little weird in an RPG. However, it may or may not be moot at this point as the armour system was scrapped and replaced with one that achieves the same goals (albeit with less fidelity) and is easier to program and easier for the player to understand.

The new system dramatically reduces the number of hitboxes (the player's 26 hitboxes are now just 6), and reduces the number of armour pieces to roughly half. It changes the flat reduction to a diminishing returns reduction for kinetic attacks (half effect every time it halves damage), all the armour pieces on each hitbox stack and the numbers for health, integrity, poise, damage, DR and everything else are multiplied by 10 to let the player see them better. So instead of 34 DR, a very heavily armoured character might have 1060. An attack that before would have been 34 and done nothing past that DR will now be 340 and deal 4.69 damage (which will display to the player as 5). The advantage is with this system, it is now much more difficult for damage to be reduced to 0 (as you'd have to reduce it so far the system rounds it to zero), but armour is still extremely effective (I mean, in that example it reduced the damage over 98%.).

This system is still not used for energy for physiological resistances, but those have changed a bit too. Energy works exactly as it used to (it absorbs x damage and regenerates over time) only the numbers have been changed to balance for the new damage scale and stacking, and physiological effects are no longer locational and all pieces across the whole body give very small percentage resistances that stack multiplicatively. These systems don't allow you to be quite as much of a tank as you can be against kinetic attacks, but in the case of energy it does allow you to escape damage entirely as long as you don't take enough of it. Your defences are now also slightly influenced by your stats. (Strength increases bludgeon and cold by 4 per point, agility increases your slash and heat by 4 per point, constitution increases all DR and EA by 1 per point, perception increases pierce and electric by 4 per point and resolve increases puncture and chemical by 4 per point, compared to the 50-100 you start with and the 20-40 you'd get for putting on a shirt.)

It is still important the player know how to aim for specific hitboxes as the armour is still locational, and the different parts of the body are not capable of being armoured to the same extent (the torso can be armoured the most, followed by the legs, then arms, then head) and enemies do prioritize armouring some parts above others, so aiming for places where enemy defence is much lower will dramatically increase the damage you do. So I may end up using some of the advice of this thread anyway.

There's two of us on this account. Jeremy contributes on design posts, Justin does everything else, including replying on those threads. Jeremy is not a people person, so it's Justin you'll be talking to at any given time.

Aelsif's Patreon.

This topic is closed to new replies.

Advertisement