Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Gotta die fast - Science on creating a creature that dies instantly  (Read 1585 times)

Atkana

  • Bay Watcher
  • [CURIOUSBEAST]
    • View Profile

So I recently did some investigations on how I might be able to make a dummy creature which dies instantly for the purposes of some modding shenanigans, and figured I should share the results to save anyone else looking into it some time (so only my time was wasted on this endeavour :P). If you want the best results, just jump to the summary.

The Test
I tested all of these results in the testing arena, staying within the fort mode... mode. All test creatures were based around a basic prototype creature, which was edited to suit the tests. I ran each test at least a couple of times before drawing my conclusions. Tests were performed on version 0.44.12 because I haven't gotten around to updating yet. Because it takes a bit of effort to test vermin in the arena, and I'm lazy, I didn't test the creatures in vermin form to see if that makes any difference.
Spoiler: "Base creature" (click to show/hide)

Death Style: Rotting
I figured that inflicting the creature with instant and severe necrosis would cause its body to instantly rot away. The creature was made to constantly secrete a severity 1000, localised, contact syndrome from its body. The body became rotten instantly (its body being described as rotten), however the creature continued to live just fine. Adding [ROTS] to the creature's material didn't cause any changes.

Status: Creature lives
Death Style: Melting / Boiling
I think I've seen this as a recommended method. Setting the creature's material's MELTING_POINT and BOILING_POINT to 0 in different tests resulted in the creatures melting to death after some time, alongside the message "x has melted". Increasing the temperature of the creature by giving it a high homeotherm didn't seem to have any impact on how long it took to melt - all meltings no matter the temperature or whether caused by MELTING_POINT:0 or BOILING_POINT:0 took the same amount of time. This seems to suggest that there might be some universal timer for how long a creature can survive while melting. Death leaves an unmangled body, which after 1 step turns to a pool of the creature's material (if using MELTING_POINT:0), or small cloud of gas of the creature's material (if using BOILING_POINT:0).

Additionally, varying the SPEC_HEAT value of the creature's material didn't seem to have any impact on the creature's rate of melting.

Status: Creature dies after some time with message "x has melted". Leaves unmangled body for 1 tick. Body then melts / boils.
Death Style: Being Non-solid
I attempted to alter the tissue TISSUE_MAT_STATE of the creature to both LIQUID and GAS in separate tests to see if the creature would instantly fall apart. The creatures seemed perfectly fine. The addition of TISSUE_LEAKS didn't seem to change anything. Maintaining TISSUE_LEAKS, I created a second tissue layer which I made rot, to see if that would cause leakage - it didn't.

Combining a TISSUE_MAT_STATE with an alteration to the material's associated POINT (e.g. LIQUID state with a low MELTING_POINT) prevents the creature from melting when they normally would.

Status: Creature lives
Death Style: Bleeding
My main intention was to find a method that would be quick and leave no mess, so I didn't actually test bleeding :P

Death Style: Suffocation
I added the BREATHE type to the creature's body, and copied the syndrome used for the rotting tests, but set it to impair function instead of necrosis. After quite a while, the creature eventually suffocated with the message "x has suffocated", and leaving an unmangled corpse.

Status: Creature dies after some time with message "x has suffocated". Leaves unmangled body which remains.
Death Style: !!Burning!!
Setting the IGNITION_POINT of the creature's material to 0 causes it to instantly burst into flames. Lots of smoke is generated, however the area isn't actually any hotter. After a decently long time, the creature eventually dies, leaving a burning corpse (the corpse doesn't ever go away because of my test setup, since the material has no heat damage point).

Status: Creature dies after some time with message "x has burned to death". Leaves an unmangled body which is on fire.
Death Style: Heat / Cold Damage
Setting the HEATDAM_POINT of the creature's material to 0 causes the creature to die instantly (1 step passed after creation)! The corpse left is treated as mangled, and after 17 steps it vanishes. By combining HEATDAM_POINT:0 with BOILING_POINT:0, you can create a creature that dies in 1 step, whose corpse turns into a cloud of gas after 1 step.

I couldn't get cold damage to work, but that might be because I set the value too high in my only test (hey, I already got what I wanted, who wants to test even more? :P)

Status: Creature dies instantly with message "The x has died in the heat". Leaves mangled body which disappears after 17/18 steps.

Summary
Methods that cause death
So here's a summary of the methods that I tested that successfully caused the creatures to die. They're sorted in order of fastest to slowest:
  • Heat Damage - Instant. Set material HEATDAM_POINT to 0.
  • Melting - Set material MELTING_POINT or BOILING_POINT to 0.
  • Suffocation - Include BREATHE type BP and target it with CE_IMPAIR_FUNCTION syndrome.
  • Burning - Slowest. Causes lots of smoke. Set material IGNITION_POINT to 0.

Unfortunately, all methods do have the drawback of reporting the creature's death in the announcement screen. Additionally, all deaths cause a corpse to be left behind, even if just for a step - if you absolutely don't want a corpse to be available, consider using ITEMCORPSE to cause an item to be dropped instead.

I reduced the test creature down to the minimum amount of tokens that are required to work in arena mode while dying by the fastest method (heat damage). Here it is, in case anyone might find it useful:
« Last Edit: February 13, 2020, 04:13:36 am by Atkana »
Logged

Roses

  • Bay Watcher
    • View Profile
Re: Gotta die fast - Science on creating a creature that dies instantly
« Reply #1 on: February 12, 2020, 11:26:52 am »

Very interesting. Thanks for the research. Since you've already got your desired results it's not necessary, but you might try changing the SPEC_HEAT for the Melting/Boiling case as another test. I know it will effect how fast/slow a material heats up/cools down, but I'm not sure if it would also change the rate that something melts
Logged

Showbiz

  • Bay Watcher
    • View Profile
Re: Gotta die fast - Science on creating a creature that dies instantly
« Reply #2 on: February 12, 2020, 12:53:01 pm »

That was very interesting to read. You are sick in the head. In a positive way.
May I assume that the test subject was an  elf?
Logged
Pardon for my mistakes
english isn't my native language

Atkana

  • Bay Watcher
  • [CURIOUSBEAST]
    • View Profile
Re: Gotta die fast - Science on creating a creature that dies instantly
« Reply #3 on: February 13, 2020, 04:11:50 am »

Very interesting. Thanks for the research. Since you've already got your desired results it's not necessary, but you might try changing the SPEC_HEAT for the Melting/Boiling case as another test. I know it will effect how fast/slow a material heats up/cools down, but I'm not sure if it would also change the rate that something melts
I just ran a few tests of the creature against others with different SPEC_HEATs (one with 1, one with 0, and one with 10000). Outside of the usual variance, they still seemed to melt at the same rates. (I initially chose SPEC_HEAT 1 for the test because I thought it would be the fastest transfer rate, but I'm not certain if that's the case because I don't understand the explanation on the wiki ^.^;)

May I assume that the test subject was an  elf?
Elf, blob incapable of basic thought and functions, what's the difference?

Roses

  • Bay Watcher
    • View Profile
Re: Gotta die fast - Science on creating a creature that dies instantly
« Reply #4 on: February 13, 2020, 10:24:23 am »

Very interesting. Thanks for the research. Since you've already got your desired results it's not necessary, but you might try changing the SPEC_HEAT for the Melting/Boiling case as another test. I know it will effect how fast/slow a material heats up/cools down, but I'm not sure if it would also change the rate that something melts
I just ran a few tests of the creature against others with different SPEC_HEATs (one with 1, one with 0, and one with 10000). Outside of the usual variance, they still seemed to melt at the same rates. (I initially chose SPEC_HEAT 1 for the test because I thought it would be the fastest transfer rate, but I'm not certain if that's the case because I don't understand the explanation on the wiki ^.^;)

Assuming Toady uses the standard definition of specific heat capacity, a lower number should cause something to heat up and cool down quicker, and I believe 0 would be equivalent of setting it to NONE which we don't want. It doesn't really surprise me though that it doesn't impact the melting time in DF as I believe those are two different calculations in DF, and it seems by your testing that the time to melt is a fixed number. For future science considerations, for myself and others to think about,
1. Does body size/weight change the time to melt?
2. Do material strengths change the time to melt?
3. Is the time to melt for the full body the same as for a single body part?
4. Are all of these the same for time to boil?
Logged