Underrail: Infusion Dev Log #7: New Armor Mechanics
Underrail: Infusion Dev Log #7: New Armor Mechanics
Development Info - posted by Infinitron on Fri 17 November 2023, 18:14:34
Tags: Stygian Software; Underrail: Infusionhttps://stygiansoftware.com/infusion/devlogs/7-new-armor-mechanics.html
It's that time of the year again. All the stars and planets are in the right position and it's time for an Infusion dev log.
We already showed you the extent to which we upgraded the visual aspects of the engine, but the mechanical changes that I've done so far and am yet to do are just as extensive, and perhaps more radical. I'm going to talk about them one by one, in separate dev logs, as I continue to test, tweak, and refine them.
Our immediate goal with the engine and the game is to (re-)implement a number of items and mechanics, get a few areas together, and get the game in a state where it can be played for real, so to speak. Mainly so I can better asses how all these changes work in practice, but also so we can produce a short demo video and show you the game in action for the first time.
So, anyway, let's get to the changes to the armor mechanics and damage resistance in general.
In Underrail, the damage resistance was divided into percentual resistance and flat threshold. Incoming damage would be reduced either percentually or by flat amount, whichever would reduce more damage in any given case. This caused a lot of balancing problems. Threshold was generally either useless or overpowered (especially when stacked in early game), while resistance was hard to progress with armor quality, as its percentual nature made it already scale innately.
All these problems really came to forefront when I was implementing different types of shotgun shells in Expedition. Balancing usefulness of different shells in this system was just impossible and it took a lot of tweaking to make it even remotely decent with liberal use of seemingly arbitrary threshold and resistance ignore factors. At one point I was tempted to just implement a completely different interaction for the shells specifically, but decided against it for the sake of consistency.
Another problem with the old model was that all resistances stacked globally. Meaning: resistances from boots and helmets were equally effective as body armor and they all aggregated when it came to interacting with incoming damage. This made me really hesitant to put a lot of resistances on helmets and boots because, on one hand, I didn't want them to make the high resistance armors completely broken by just maxing (or near maxing) out all the resistances and, on the other hand, I didn't want these items, because of their high resistances, becoming mandatory for characters that use ligher armor in the body slot.
There are other problems too, but these are the main issues, I think.
So how does the Infusion's new system differ from the old one?
In Infusion we're going to have a lot more gear slots, mainly from separating body armor and helmets into multiple component slots. This will provide the player with a lot more damage resistance sources. But unlike in the old system, these resistances will not stack. Instead, they will all interact with any given attack separately. So whenever you're struck somewhere on the body, the game will check what armor covers that spot, and it will interact with that armor piece. If there are multiple pieces, it will go through each of them separately, from the outer toward the inner. E.g. you might have some minor resistances on the overcoat that will interact with an incoming bullet or a stab before your torso armor.
For now, I have no intention to allow the player to choose which part of the target's body they're attacking (Fallout style), but there will be different special attacks / stances that will influence this (e.g. decapitate). Also, elevation and size of attacker and the target will also play a role here. So, for example, attacking someone from an elevated position will give you a better chance to hit them in the head and worse (if any) chance to hit their feet.
Different types of creatures will have different body part arrangements. For humans it is as follows: Head (5%), Torso (55%), Arms (10%), Legs (including the pelvis) (25%), Feet (5%). The number in brackets is the current working chance to hit distribution for a generic ranged attack. These numbers will vary for different attacks and situations, but it should give you some general idea what areas are going to be most important to cover with armor in most situations.
Depending on the armor design itself, it may end up covering one or more body parts. In the example of an armored rig/vest, which is the only crafted armor at the moment that's implemented, in addition to covering the torso, it can also provide some additional protection to arms and legs.
We already showed you the extent to which we upgraded the visual aspects of the engine, but the mechanical changes that I've done so far and am yet to do are just as extensive, and perhaps more radical. I'm going to talk about them one by one, in separate dev logs, as I continue to test, tweak, and refine them.
Our immediate goal with the engine and the game is to (re-)implement a number of items and mechanics, get a few areas together, and get the game in a state where it can be played for real, so to speak. Mainly so I can better asses how all these changes work in practice, but also so we can produce a short demo video and show you the game in action for the first time.
So, anyway, let's get to the changes to the armor mechanics and damage resistance in general.
In Underrail, the damage resistance was divided into percentual resistance and flat threshold. Incoming damage would be reduced either percentually or by flat amount, whichever would reduce more damage in any given case. This caused a lot of balancing problems. Threshold was generally either useless or overpowered (especially when stacked in early game), while resistance was hard to progress with armor quality, as its percentual nature made it already scale innately.
All these problems really came to forefront when I was implementing different types of shotgun shells in Expedition. Balancing usefulness of different shells in this system was just impossible and it took a lot of tweaking to make it even remotely decent with liberal use of seemingly arbitrary threshold and resistance ignore factors. At one point I was tempted to just implement a completely different interaction for the shells specifically, but decided against it for the sake of consistency.
Another problem with the old model was that all resistances stacked globally. Meaning: resistances from boots and helmets were equally effective as body armor and they all aggregated when it came to interacting with incoming damage. This made me really hesitant to put a lot of resistances on helmets and boots because, on one hand, I didn't want them to make the high resistance armors completely broken by just maxing (or near maxing) out all the resistances and, on the other hand, I didn't want these items, because of their high resistances, becoming mandatory for characters that use ligher armor in the body slot.
There are other problems too, but these are the main issues, I think.
So how does the Infusion's new system differ from the old one?
In Infusion we're going to have a lot more gear slots, mainly from separating body armor and helmets into multiple component slots. This will provide the player with a lot more damage resistance sources. But unlike in the old system, these resistances will not stack. Instead, they will all interact with any given attack separately. So whenever you're struck somewhere on the body, the game will check what armor covers that spot, and it will interact with that armor piece. If there are multiple pieces, it will go through each of them separately, from the outer toward the inner. E.g. you might have some minor resistances on the overcoat that will interact with an incoming bullet or a stab before your torso armor.
For now, I have no intention to allow the player to choose which part of the target's body they're attacking (Fallout style), but there will be different special attacks / stances that will influence this (e.g. decapitate). Also, elevation and size of attacker and the target will also play a role here. So, for example, attacking someone from an elevated position will give you a better chance to hit them in the head and worse (if any) chance to hit their feet.
Different types of creatures will have different body part arrangements. For humans it is as follows: Head (5%), Torso (55%), Arms (10%), Legs (including the pelvis) (25%), Feet (5%). The number in brackets is the current working chance to hit distribution for a generic ranged attack. These numbers will vary for different attacks and situations, but it should give you some general idea what areas are going to be most important to cover with armor in most situations.
Depending on the armor design itself, it may end up covering one or more body parts. In the example of an armored rig/vest, which is the only crafted armor at the moment that's implemented, in addition to covering the torso, it can also provide some additional protection to arms and legs.
There are 7 comments on Underrail: Infusion Dev Log #7: New Armor Mechanics