Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2] 3

Author Topic: Fixes to combat engine  (Read 8898 times)

slothen

  • Bay Watcher
    • View Profile
Re: Fixes to combat engine
« Reply #15 on: April 11, 2012, 01:42:14 pm »

There are a lot of problems with combat as it is now. Some of it relates to problems with how bodies are defined (such as all bone being of equal strength, and skulls being encased in as much fat/muscle as a person's torso or arms are, I forget which exactly).


3.
I still subscribe to the hypothesis that DF treats body parts as if they have no flexibility when attacked, as if every kick and punch is against a magically-immobilized component. In essence, kicking someone in the head might as well be stomping them against the ground or kicking them while held against a wall, because the game doesn't account for body parts absorbing some of the blow in the form of momentum. For example, punching someone's arm or skull in real life is less likely to shatter the bone in part because a lot of that force will just go toward shoving it back or aside; body parts have flexibility and motion that DF doesn't seem to simulate in this way. I could be wrong about this, but it would certainly explain some things.
6.
More animals need to be properly differentiated from each other. Probably most of us have seen examples of animals killing other animals they simply should not be able to kill, because they simply aren't well-differentiated at this moment. They often have virtually identical body definitions, materials, and tissues, so you have strange things like dwarves (probably) biting harder than a wolf can. I think we need to see some work done here before combat results involving wild/domestic animals start to make sense.
9.
Cumulative damage to a body part still isn't quite complete as a feature. With something like a bronze colossus, it's possible to chip away at a body part until it breaks, but for squishier tissues, this is not the case. Certain creatures are, at least under certain conditions, basically unkillable: Vampire giant sponges have been mentioned as something impossible to kill because you can never, ever fully destroy their one body part/tissue. It stands to reason that absolutely any tissue layer or body part should be able to suffer complete destruction/severing if it takes enough damage. The same applies to damage from fire; there are creatures you can dump in magma or light on fire indefinitely and they'll just catch fire and spew smoke for eternity because it'll never actually kill them.

3 - probably the singularly most important issue in combat, and the reason for constant severing of body parts.
6 - (almost) completely fixable with raw modifications.  Crocodile vs cow stuff could potentially be handled by giving crocs a natural biter skill (although its unknown exactly how skill works for accuracy vs damage).  IMO they should also get [AMBUSH_PREDATOR].

The bigger answer is to move away from having a single template for skin and bone.   This would be some work, but wouldn't be very complicated and can all be done in the raws.  We could make elephant skin inherently tougher by using a different skin template.  Another example would be bird bones, which are outliers among other vertebrates for their low density, so all flying birds (not penguins see) could use a bird-bone template.  The other benefit to this is suddenly there will be a functional differentiation between hoary marmot leather armor and elephant leather armor.

9 - Pulping mechanic.  Not that complicated.  Accumulated blunt damage results in it becoming severed, with the severed part being 'mangled' or 'pulped.'  This is an oppourtunity to bring back CHUNKS.  Could be implemented such that light attacks don't contribute to pulping, only attacks that could individually render serious structural damage would accumulate and result in pulping.

These points strike me as the lowest hanging fruit with the biggest rewards.
Logged
While adding magma to anything will make it dwarfy, adding the word "magma" to your post does not necessarily make it funny.
Thoughts on water
MILITARY: squad, uniform, training
"DF doesn't mold players into its image - DF merely selects those who were always ready for DF." -NW_Kohaku

Neonivek

  • Bay Watcher
    • View Profile
Re: Fixes to combat engine
« Reply #16 on: April 11, 2012, 04:58:50 pm »

Let me see

Point 6: One issue is the sheer amount of work Toady would have to do to fix this. A lot of the animals are simply "Mass" but it never recognises that many animals actually have very weaponised swings, bites, and strikes that can even outstretch the human maximum (as in it is impossible for humans to beat).

For example Hyenas actually have a bite capable of snapping bones that the game barely takes into account. Plus several animals as far as the game is concerned are clumsy because they are essentially skill-less. Trust me when I say that a dog trying to bite you can be quite difficult to avoid or a Tiger's slash. Being skilless in the game is too much of a disability for some creatures, especially powerful ones.

Some animals are deadly but because the game doesn't handle size reasonably they are nearly harmless. I've had peasants armed with daggers kill a dragon. IGNORING that the daggers would have never been able to penetrate deep enough to do serious damage... The dragon couldn't shake those peasants off. Being larger is no different then being super strong.

The issue is that a proper rewrite is going to be a LOT of work for Toady...
1) He needs to alter the physical propertise of all the animals
2) He needs to give them Faux skill
--Honestly I like my suggestion that raw attributes can simulate skill to a certain extent... It allows huge, powerful, and fast creatures to actually hit like huge, powerful, and fast creatures.
3) Needs to respect size

I can imagine 3 and 2 being fixed... I cannot imagine 1 being fixed. Sorry but Wardogs are going to be horrible at being wardogs forever.

Now to point 8:

Actually I would argue that in the limitation of how Dwarf Fortress simulates things... Silver would make an Excellent Blunt weapon material. That is however because the game doesn't simulate the weapon taking damage as well. A Silver weapon would be rendered useless rather quickly.

I will admit though that Blunt weapons are rediculously underpowered because of the way the game simulates it. For example Blunt weapons rarely pierce even when they are essentially a needle.

This will probably be fixed once there is a difference between move speed and swing speed. That way a Steel Warhammer actually would have an advantage over a indestructible Silver Warhammer.
« Last Edit: April 11, 2012, 05:04:52 pm by Neonivek »
Logged

G-Flex

  • Bay Watcher
    • View Profile
Re: Fixes to combat engine
« Reply #17 on: April 11, 2012, 05:08:13 pm »

slothen: In general, I agree. Some comments:

The bigger answer is to move away from having a single template for skin and bone.   This would be some work, but wouldn't be very complicated and can all be done in the raws.  We could make elephant skin inherently tougher by using a different skin template.

Yeah, although I think relative thickness is part of the problem. The relative thickness of skin tends to be the bare minimum, which is probably too thin even for humans, never mind something like an elephant. Apparently, according to Wikipedia, most human skins is 2-3mm thick. In DF, this would imply that without being particular fat or muscular or anything (just going by relative thicknesses here in b_detail_plan_default), someone's arm is 110-165mm thick, and that's just to the center, so the whole thing would be 220-330mm straight through. That's 8.7-13 inches. Clearly, an arm isn't actually that thick, so presumably skin in DF is thinner than 2-3mm. This effect is even worse for thinner/smaller parts like hands and fingers and toes, where the skin is (probably) at least as thick as on other parts in real life, but on DF still has the same relative thickness compared to other tissues. In real life, a finger doesn't have skin that's 1/5 as thick just because the body part is 1/5 as thick, but in DF that appears to be the case.

This is true for a lot of relative tissue thickness values. Like I mentioned, the head in DF has a layer of fat and muscle comparable to other parts, which is just silly; people might get fat faces, but they sure don't get fat, muscular craniums.

Quote
Another example would be bird bones, which are outliers among other vertebrates for their low density, so all flying birds (not penguins see) could use a bird-bone template.  The other benefit to this is suddenly there will be a functional differentiation between hoary marmot leather armor and elephant leather armor.

I agree. However, with leather, I think the thickness of the material should also probably matter in addition to the material properties. This would require some reworking of how items are defined, though.

Now to point 8:

Actually I would argue that in the limitation of how Dwarf Fortress simulates things... Silver would make an Excellent Blunt weapon material. That is however because the game doesn't simulate the weapon taking damage as well. A Silver weapon would be rendered useless rather quickly.

That's not the only issue. A steel mace would generally be built at the appropriate size for a given creature, such that making it heavier would confer no benefit. After all, if a silver mace would do more damage (durability notwithstanding), why not just make the steel mace larger instead? In realistic terms, the weapon would be built at the optimal mass for the creature holding it, regardless of material, such that using something super-dense like silver wouldn't be very beneficial, because they'd just make it smaller. If four pounds is the appropriate amount of mass for the head of a hammer, they'd make it four pounds, and making it out of silver instead of iron or bronze or steel would just be pointless.
Logged
There are 2 types of people in the world: Those who understand hexadecimal, and those who don't.
Visit the #Bay12Games IRC channel on NewNet
== Human Renovation: My Deus Ex mod/fan patch (v1.30, updated 5/31/2012) ==

jseah

  • Bay Watcher
    • View Profile
Re: Fixes to combat engine
« Reply #18 on: April 11, 2012, 05:38:51 pm »

That's not the only issue. A steel mace would generally be built at the appropriate size for a given creature, such that making it heavier would confer no benefit. After all, if a silver mace would do more damage (durability notwithstanding), why not just make the steel mace larger instead? In realistic terms, the weapon would be built at the optimal mass for the creature holding it, regardless of material, such that using something super-dense like silver wouldn't be very beneficial, because they'd just make it smaller. If four pounds is the appropriate amount of mass for the head of a hammer, they'd make it four pounds, and making it out of silver instead of iron or bronze or steel would just be pointless.
I wonder how big candy warhammers get...
Logged

G-Flex

  • Bay Watcher
    • View Profile
Re: Fixes to combat engine
« Reply #19 on: April 11, 2012, 05:39:54 pm »

Yeah, there's also a point where volume should come into play. Even at identical mass, a weapon that is way too big would be extremely clumsy, and a weapon that is way too small wouldn't get any leverage, and would be clumsy in its own right.
Logged
There are 2 types of people in the world: Those who understand hexadecimal, and those who don't.
Visit the #Bay12Games IRC channel on NewNet
== Human Renovation: My Deus Ex mod/fan patch (v1.30, updated 5/31/2012) ==

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Fixes to combat engine
« Reply #20 on: April 11, 2012, 07:17:11 pm »

On raw fixes in general, Toady once said that he didn't want to just start accepting new raws from other people into vanilla because he would "lose his feel for the raws", and that he already felt that he was losing his feel for how graphics are handled because of what Baughn has done in the OpenGL stuff. 

With that said, however, if someone could come out with a list of things that could be changed, like the way that people have come out with data on the specific materials properties of different kinds of stone and metal, then Toady would be willing to start making changes based upon those.

So what I was thinking is we could come up with a specific set of steps for making specific creatures balanced, if we can show our work.

Likewise, we might be capable of arguing something like an "absolute thickness" instead of a relative one, so that finger skin, for example, is not 1/5 the thickness on a finger. 

These should probably be broken up into discrete suggestions once we really get going, if we do, however.
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

Neonivek

  • Bay Watcher
    • View Profile
Re: Fixes to combat engine
« Reply #21 on: April 11, 2012, 07:18:51 pm »

A list of every single change he would have to make for the raws would be massive!
Logged

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Fixes to combat engine
« Reply #22 on: April 11, 2012, 07:34:01 pm »

A list of every single change he would have to make for the raws would be massive!

Not if you work on making suggestions that would simplify the process by making them algorithmic. 

Making skin thickness constant with some sort of absolute thickness tool could be handled with a massive find-and-replace for all special references to skin thickness (and I don't really think there are any), and a change of the template, which Toady made just to make the sheer amount of data in the raws much more manageable. 

Beyond that, we could work on making many of the limbs that get put together in creature raws much more reasonable. 

Serpentmen, for example, have a tail with the same relsize as a dog's tail (only around 200, which is about the size of the head), which is wholly inadequate for the sort of body a serpentman would need to move. 

The fixes to this could be done by manually setting every body part's relsize, or we could just start working with different types of default body part types.  Having TAIL_MINOR, TAIL_BALANCE, TAIL_SERPENT or other template body part types would produce easier results than a one-size-fits-all type of tail.  (Although adding in relsize changes to specific creatures would be more accurate.) 

Likewise, we need a different kind of mouth for predators and herbivores in general, and could probably make some specialized kinds of heads for different kinds of creatures. 

Further, attacks are repeated very frequently by sheer copy-pasta, and that's the sort of thing that should be using templates, as well. 

Putting in new kinds of attacks, such that predators use "sharper" teeth (they don't use 100% of the surface area of the tooth to attack in a bite anymore) that are templated in, so that you just call in "Attack_template:Canine_bite" and then can make some changes as necessary on attack velocity to tweak the actual bite force, you could be saving quite a few lines in the raws.

Making more thorough use of templates and raws would help streamline the process greatly, so long as we just break away from one-size-fits-all solutions, and at the very least break it up into 3 to 5 sizes of any given type of thing.
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

G-Flex

  • Bay Watcher
    • View Profile
Re: Fixes to combat engine
« Reply #23 on: April 11, 2012, 08:17:33 pm »

On raw fixes in general, Toady once said that he didn't want to just start accepting new raws from other people into vanilla because he would "lose his feel for the raws", and that he already felt that he was losing his feel for how graphics are handled because of what Baughn has done in the OpenGL stuff.

Regarding raw values and such, I can honestly see his point. The problem is that he can't necessarily trust what the community provides, and the last thing we want is some weird crowdsourced version of an edit war with different people arguing about whether chitin should be modeled after pure chitin (as in a caterpillar) or the hardened type seen in most insect exoskeletons (an arbitrary example, but I sometimes wonder what the game itself does use as the model).

Quote
With that said, however, if someone could come out with a list of things that could be changed, like the way that people have come out with data on the specific materials properties of different kinds of stone and metal, then Toady would be willing to start making changes based upon those.

I've had a bug report about fatty tissue melting/heat-damage temperatures with extremely solid logic behind it, did some research on it to back it up, and it's still been unacknowledged after almost two years despite affecting wounds/combat a lot and contributing to other bugs. I would not make the assumption that Toady is interested in working on these things until a time comes when he says he is. However he prioritizes things, even relatively simple raw value changes don't seem to be at the top of the list.

Quote
Likewise, we might be capable of arguing something like an "absolute thickness" instead of a relative one, so that finger skin, for example, is not 1/5 the thickness on a finger.

This might not be a bad idea. For something like skin, it definitely makes sense, although different creatures should still have different values for it.

Quote
These should probably be broken up into discrete suggestions once we really get going, if we do, however.

In the near future I might be able to put some more specific possibilities out here.
Logged
There are 2 types of people in the world: Those who understand hexadecimal, and those who don't.
Visit the #Bay12Games IRC channel on NewNet
== Human Renovation: My Deus Ex mod/fan patch (v1.30, updated 5/31/2012) ==

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Fixes to combat engine
« Reply #24 on: April 11, 2012, 09:10:22 pm »

Regarding raw values and such, I can honestly see his point. The problem is that he can't necessarily trust what the community provides, and the last thing we want is some weird crowdsourced version of an edit war with different people arguing about whether chitin should be modeled after pure chitin (as in a caterpillar) or the hardened type seen in most insect exoskeletons (an arbitrary example, but I sometimes wonder what the game itself does use as the model).

Again, he's taken data from the suggestions forums before, when it came to raw values of stones.

We'd need to have a decent source for our numbers, but generally, he gets his numbers from Wikipedia, anyway, so "Wikipedia or better" as a source seems good enough. 

Besides, why not have two kinds of chitin?  :D We can raw-define as much differentiation into the templates as we want, really.

I've had a bug report about fatty tissue melting/heat-damage temperatures with extremely solid logic behind it, did some research on it to back it up, and it's still been unacknowledged after almost two years despite affecting wounds/combat a lot and contributing to other bugs. I would not make the assumption that Toady is interested in working on these things until a time comes when he says he is. However he prioritizes things, even relatively simple raw value changes don't seem to be at the top of the list.

Odds are it just never popped up on Toady's radar.  I mean, it's not like the thousands of other bug reports that have gone unacknowledged were all just crap.  It's a lot of stuff to sort through, but if you can put it together in a format that can get his attention, you can still have a decent chance of drawing his attention down to it again.
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

G-Flex

  • Bay Watcher
    • View Profile
Re: Fixes to combat engine
« Reply #25 on: April 11, 2012, 09:36:21 pm »

Besides, why not have two kinds of chitin?  :D We can raw-define as much differentiation into the templates as we want, really.

Yeah, my point was just that I'd hate to see erroneous values for things get added, and then either 1) left there in perpetuity because that project is "done", or 2) cause massive arguments that result in headaches for anybody involved.

Quote
Odds are it just never popped up on Toady's radar.  I mean, it's not like the thousands of other bug reports that have gone unacknowledged were all just crap.  It's a lot of stuff to sort through, but if you can put it together in a format that can get his attention, you can still have a decent chance of drawing his attention down to it again.

Yeah, it's just frustrating because it's the sort of thing I've brought up numerous times. It's rare for a big project like this to have so many bugs go "under the radar" for so long.
Logged
There are 2 types of people in the world: Those who understand hexadecimal, and those who don't.
Visit the #Bay12Games IRC channel on NewNet
== Human Renovation: My Deus Ex mod/fan patch (v1.30, updated 5/31/2012) ==

Neonivek

  • Bay Watcher
    • View Profile
Re: Fixes to combat engine
« Reply #26 on: April 11, 2012, 09:46:42 pm »

I don't know... Toady flaunted how tough fixing stacks was going to be...

And then he does it in a day.

I sometimes get the impression that sometimes he just decides not to fix some bugs.
Logged

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Fixes to combat engine
« Reply #27 on: April 11, 2012, 10:10:24 pm »

I don't know... Toady flaunted how tough fixing stacks was going to be...

And then he does it in a day.

Technically, he's done the lowest-hanging fruit out of hauling, and hasn't done anything regarding stacking. 

Hauling only seems to work as far as multiple items going to the same destination thus far, and he's done nothing for the likes of farmers who have to plant each individual seed in each individual tile in a farm one by one.  Hauling is nowhere near capable of handling complex postman route problems yet, and stacking is completely untouched.
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

slothen

  • Bay Watcher
    • View Profile
Re: Fixes to combat engine
« Reply #28 on: April 12, 2012, 09:35:12 am »

I considered mentioning thickness, but didn't include it because its a different problem than materials, and making animals have thicker skin wouldn't make the leather armor of that skin better, since that's an armor attribute.  Implementing a dozen or so new material templates for skin/hair/nail/bone would be quite simple and have the side benefit of differentiating the derived products of those materials.  Wouldn't even be that much work, he could probably do it in a couple hours.

Also for clumsy animals, the support is there to add natural skills to animals, and its not very complicated to do.  Aggressive creatures need a base fighter, striker, and biter skill.  Hoofed grazing creatures could do with a kick natural skill, but no fighter.  Primates should get dodger.  Every change for this could be done entirely in the raws.

Adding more variety to default material templates would not even be that much work for Toady.
Logged
While adding magma to anything will make it dwarfy, adding the word "magma" to your post does not necessarily make it funny.
Thoughts on water
MILITARY: squad, uniform, training
"DF doesn't mold players into its image - DF merely selects those who were always ready for DF." -NW_Kohaku

Uristocrat

  • Bay Watcher
  • Dwarven Railgunner
    • View Profile
    • DF Wiki User Page
Re: Fixes to combat engine
« Reply #29 on: April 12, 2012, 04:03:53 pm »

On raw fixes in general, Toady once said that he didn't want to just start accepting new raws from other people into vanilla because he would "lose his feel for the raws", and that he already felt that he was losing his feel for how graphics are handled because of what Baughn has done in the OpenGL stuff. 

With that said, however, if someone could come out with a list of things that could be changed, like the way that people have come out with data on the specific materials properties of different kinds of stone and metal, then Toady would be willing to start making changes based upon those.

Last I looked, none of the changes I came up with had been merged, but I figured he wanted to do his own investigation and that would take place during R2, anyhow.  I still have that box of Saguaro wood if anyone else wants to attempt to measure its density, though.

In regards to deflecting the ground, that's actually a somewhat viable way of falling, weirdly enough.  You can use one hand in a special way to force yourself into a roll, so that you end up dissipating the force of falling by rolling.  But you're absolutely right about there being a maximum amount of force you can overcome, though people have rarely survived falls where they should have reached terminal velocity with severe injuries and prompt medical care after being lucky to hit some very soft ground and having had bushes and such help break their fall.

So... it's pretty wonky and you shouldn't necessarily be uninjured even when deflecting something, but it's not totally unrealistic, either.  Some martial arts classes do, in fact, practice falling.  First you start to lean over and use your arm to break your fall, then you start jumping and doing the same thing.  You're trying to turn a splat into a roll, basically, and to tuck your head down so that you don't break your neck.
Logged
You could have berries on the rocks and the dwarves would say it was "berry gneiss."
You should die horribly for this. And I mean that in the nicest possible way.
Pages: 1 [2] 3