Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Wound Bleeding  (Read 1246 times)

Aedom

  • Bay Watcher
    • View Profile
Wound Bleeding
« on: November 30, 2018, 11:39:47 am »

Does anybody have any guidance about how much bleeding to expect from an arbitrary wound?  I'm looking for more than just knowing that higher VASCULAR ratings and the presence of [ARTERIES] and [MAJOR_ARTERIES] is a positive correlation.  I'd really like to be able to calculate it myself.  Any experience or guidance in this area would be most appreciated :)
Logged

scamtank

  • Bay Watcher
    • View Profile
Re: Wound Bleeding
« Reply #1 on: December 01, 2018, 01:30:37 pm »

About all I've got is that a leak in MAJOR_ARTERIES is guaranteed death - they spurt out enough to kill just about anything of any size in three combat ticks or so
Logged

bloop_bleep

  • Bay Watcher
    • View Profile
Re: Wound Bleeding
« Reply #2 on: December 02, 2018, 01:26:14 pm »

I don't have much knowledge myself, I only have some advice for how it could be determined.

I think this lua script would work to calculate the total amount of bleeding of a unit with id 'id':
Code: [Select]
u = unit.find(id)
total = 0
for _, wound in ipairs(u.body.wounds) do
    total = total + wound.bleeding
end
print(total)

So spawn a single creature in arena mode, give it a wound via some other creature, run the 'lua' command from the DFHack console, and finally run this script to calculate bleeding (with id set to 0). Then you can exit out of arena mode, edit the creature however you want, then repeat. Perhaps post your results in this thread, so others can see?
Logged
Quote from: KittyTac
The closest thing Bay12 has to a flamewar is an argument over philosophy that slowly transitioned to an argument about quantum mechanics.
Quote from: thefriendlyhacker
The trick is to only make predictions semi-seriously.  That way, I don't have a 98% failure rate. I have a 98% sarcasm rate.

Aedom

  • Bay Watcher
    • View Profile
Re: Wound Bleeding
« Reply #3 on: December 03, 2018, 10:45:55 am »

About all I've got is that a leak in MAJOR_ARTERIES is guaranteed death - they spurt out enough to kill just about anything of any size in three combat ticks or so

That's an interesting observation.  When I examine arena dwarves, I find that they have a blood count equal to their base size.  Maybe there is a range of multipliers that is randomly selected from around 15%-33%.  I'll see how that summarizes the data I have recorded.
Logged

Aedom

  • Bay Watcher
    • View Profile
Re: Wound Bleeding
« Reply #4 on: December 03, 2018, 10:48:41 am »

I don't have much knowledge myself, I only have some advice for how it could be determined.

I think this lua script would work to calculate the total amount of bleeding of a unit with id 'id':
Code: [Select]
u = unit.find(id)
total = 0
for _, wound in ipairs(u.body.wounds) do
    total = total + wound.bleeding
end
print(total)

So spawn a single creature in arena mode, give it a wound via some other creature, run the 'lua' command from the DFHack console, and finally run this script to calculate bleeding (with id set to 0). Then you can exit out of arena mode, edit the creature however you want, then repeat. Perhaps post your results in this thread, so others can see?

I can get the values and have a combat sniffer lua script I wrote that exports all that for later perusal.  The problem is that I'm looking for a way to predict the bleeding values, so that I can implement that rule in my df clone.  I have already reverse engineered all the tissue mechanics.  Those seem very deterministic and loosely based on young's modulus.  However, the per-injury bleeding amounts have eluded me so far.

The problem with using manual control, in the arena, to cause wounds is that the injury model is far more fine-grained than we have the ability to control.  I have taken to recording large battles, with similar pairings of combatants, and then looking at the aggregate results with a statistical comb.  That said, my method hasn't been serving me when it comes to reverse engineering the bleeding values, so I might should consider a new methodology.
« Last Edit: December 03, 2018, 11:04:13 am by Aedom »
Logged

Aedom

  • Bay Watcher
    • View Profile
Re: Wound Bleeding
« Reply #5 on: December 03, 2018, 11:01:26 am »

<redacted>
Logged

scamtank

  • Bay Watcher
    • View Profile
Re: Wound Bleeding
« Reply #6 on: December 03, 2018, 01:25:15 pm »

There's a way to lock down one of the moving parts: the attack variance. Strangle the target dummy unconscious (put 'em both on the same side for this) and every attack comes with ideal accuracy and perfect strike plane, every time.

It might require having to conduct the experiments with smaller, less effective weapons, but hey.
Logged

Aedom

  • Bay Watcher
    • View Profile
Re: Wound Bleeding
« Reply #7 on: December 03, 2018, 04:23:49 pm »

There's a way to lock down one of the moving parts: the attack variance. Strangle the target dummy unconscious (put 'em both on the same side for this) and every attack comes with ideal accuracy and perfect strike plane, every time.

It might require having to conduct the experiments with smaller, less effective weapons, but hey.

That's an awesome trick, that I totally never considered.  I have recorded and analyzed hundreds of battles, and this will be immensely useful for such things.  Thanks! 

It'll be a little more cumbersome that my normal flow of just spawning of bunch of fighters and hitting record.  I wonder if there is a way to get a creature to go unconscious as soon as its spawned.  I'm not adverse to duplicating and setting up experimental raw files, as I've written a parser for all of that.
Logged

Nahere

  • Bay Watcher
    • View Profile
Re: Wound Bleeding
« Reply #8 on: December 05, 2018, 04:03:42 am »

I wonder if there is a way to get a creature to go unconscious as soon as its spawned.  I'm not adverse to duplicating and setting up experimental raw files, as I've written a parser for all of that.
Have it always secrete a substance with a high severity unconsciousness syndrome that only affects that particular creature/caste?
Logged

Aedom

  • Bay Watcher
    • View Profile
Re: Wound Bleeding
« Reply #9 on: December 05, 2018, 11:40:30 am »

I wonder if there is a way to get a creature to go unconscious as soon as its spawned.  I'm not adverse to duplicating and setting up experimental raw files, as I've written a parser for all of that.
Have it always secrete a substance with a high severity unconsciousness syndrome that only affects that particular creature/caste?

That sounds like a great idea!  Thanks :)
Logged