View Issue Details

IDProjectCategoryView StatusLast Update
0000739Dwarf FortressCreaturespublic2016-05-16 13:51
ReporterGauHelldragon Assigned ToToady One  
PrioritylowSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Fixed in Version0.43.03 
Summary0000739: All animals are described as "Gigantic"
DescriptionEvery single animal, tamed or wild in my fort is "gigantic" or "enormous" in their description. The humanoid creatures seem to be normal though. Does this happen to anyone else?
Tagsanimals, description

Relationships

related to 0001047 resolveduser6 Butchered cats only produce skulls, possibly related to aging while caged 
has duplicate 0001875 closeduser6 body size appearance modifiers are dwarf-centric 
has duplicate 0000585 resolveduser6 Average is not always average. 
related to 0004172 resolveduser11 Turkeys yield no meat 
related to 0008274 resolveduser1294 Young animals are much larger than they should be 

Activities

Jiri Petru

2010-04-07 14:25

reporter   ~0001854

I thought it is intended... viewing the world from the perspective of a dwarf. :)

Qloos

2010-04-07 14:29

reporter   ~0001855

Creatures have a size variable in their raws. Depending on the number they get, they can either be described as gigantic, enormous, regular sized and other such adverbs. Can we get a confirmation that it is glitching ALL creatures to be described as larger than normal, or are you just getting a lucky streak?

user6

2010-04-07 15:29

  ~0001865

Qloos: as he said, it doesn't seem to affect humanoid creatures. Additionally, dogs are smaller than dwarves, so it can't be a perspective thing. I've personally observed this and a bunch of others have corroborated it.

GRead

2010-04-07 16:06

reporter   ~0001877

I just did a study of 400 male dogs in the arena:

69 of them lacked any descriptors referring to size, fat or muscles.

97 of them were described as being 'Enormous' in some fashion. I didn't gather data on other descriptors, but I did notice they had a significantly higher occurrence of 'skinny' and 'weak' descriptors than the next group.

228 of them were described as being 'gigantic' in some form. They were generally fatter and stronger than the 'enormous' dogs, though there were some who were 'incredibly skinny' or 'very weak'

6 of them were Huge, muscular and fat.

It is with great regret I must confess to having put them all on the same team. Thus I could not unpause it at the end of the test and watch them all rip each other to shreds like ravenous, feral beasts.

smjjames

2010-04-20 10:28

reporter   ~0004351

I've noticed this with other animals on embark like when I embarked with a herd of cows, just about every one of the cows were said to be gigantic or enormous. Same for various animals in the arena, alot of the time they were either gigantic or enormous.

slink

2010-04-20 12:04

reporter   ~0004367

I have bought or bred a number of "normal" animals as well as the huge, enormous, and gigantic ones. They have just the color descriptors. I slaughter those.

I haven't seen any smaller-than-normal horses, cows, donkeys, mules, or warthogs, but then again who would want to trade in those?

user6

2014-01-27 17:39

  ~0024427

Confirmed GRead's results in 0.34.11 arena

Talvieno

2014-08-19 15:28

manager   ~0029332

Can confirm that this still exists, although you see "enormous" from time to time.

AVK

2015-02-03 10:18

reporter   ~0032133

I was fiddling around with DFHack and I think I found some broken math.

There was this gigantic-as-usual horse my expedition brought along, right? I poked at it with gm-editor and in the "appearance" table there is a "body_modifiers" vector with three values, each somewhere very close to 100. I think I'm right to assume that these are the height/broadness/length modifiers. Here's what he displayed with certain values:

100-100-1: "He is gigantic."
100-1-1: "He is average in size."
999-999-0: "He is tiny."
20-1-1: "He is tiny."
20-20-1: "He is gigantic."
20-5-1: "He is average in size."
5-5-3: "He is small."

I dunno, it seems to me like we could really use some floating points in here.

user8971

2015-02-03 11:01

  ~0032134

If you multiply those three numbers it makes quite sense:
from 0 to at least 20: tiny
at 75: small
at 100: average in size
at least from 400 to at least 10000: gigantic

With few more tries finding out precise intervals should not be that hard.

This product is then probably once more multiplied by unit type average size to get its actual size (http://dwarffortresswiki.org/index.php/DF2014:List_of_creatures_by_adult_size).
Though that belongs rather into some !!Science!! forum post.

AVK

2015-02-03 11:35

reporter   ~0032135

Last edited: 2015-02-03 11:35

Oh, the percentage intervals themselves are pretty clear-cut.

>150: gigantic
>125: very large
>110: large
91-109: average size
<90: small
<75: very small
<50: tiny

I was mainly just illustrating how the multiplier gets tanked if you slip a zero in there.

AVK

2015-02-03 11:51

reporter   ~0032136

Repeatedly mangling the raws and checking what happened in the arena, it seems the problem only occurs when the creature size is affected both by LENGTH and HEIGHT appearance modifiers at the same time. BROADNESS plays nice with either, but put those two together and the counter goes nuts.

There's a separate "size_modifier" value in the table that looks like it's a straight average of the appearance modifiers. That one has been perfectly normal throughout all this, so I'm guessing it's just a description glitch.

Mopsy

2015-02-03 12:11

reporter   ~0032137

Last edited: 2015-02-04 04:57

That math does look broken to me, and might explain the almost always gigantic animals. The code is apparently using the formula Volume = (Average Volume)*(Relative Height)*(Relative Width)*(Relative Length) to calculate creature size. Considering that (Average Volume) = (Average Height)*(Average Width)*(Average Length) and that (Relative {dimension}) = (Absolute {dimension}) / (Average {dimension}), this is entirely correct. If the creature is a box, that is. If it is not a box, then its volume will in general not be equal to the product of its dimensions, but will still be directly proportional to each dimension.

The problem comes from representing and multiplying creature dimensions as integer percentages. A creature whose relative dimensions are all unity (1.0 = 100%) should obviously be of exactly average size. However, when that creature's dimensions are represented as 100-100-100, their product becomes 100^3 = 10^6 = 1000000. Even though the product is treated as a percentage and divided by 100 to get the final multiplier for the average creature size, the resulting creature is still ten thousand times larger than the average one. Quite gigantic indeed.

Edit: My own math was a little broken. Fixed now, I think.

Issue History

Date Modified Username Field Change
2010-04-07 14:19 GauHelldragon New Issue
2010-04-07 14:19 GauHelldragon Tag Attached: animals
2010-04-07 14:20 GauHelldragon Tag Attached: description
2010-04-07 14:25 Jiri Petru Note Added: 0001854
2010-04-07 14:29 Qloos Note Added: 0001855
2010-04-07 15:29 user6 Note Added: 0001865
2010-04-07 16:06 GRead Note Added: 0001877
2010-04-20 10:28 smjjames Note Added: 0004351
2010-04-20 12:04 slink Note Added: 0004367
2010-05-14 14:09 user6 Relationship added has duplicate 0001875
2010-06-30 07:51 user6 Relationship added has duplicate 0000585
2010-06-30 07:51 user6 Category Animal Populations => Creatures
2010-10-04 08:58 user6 Relationship added related to 0001047
2011-03-09 02:43 user11 Relationship added related to 0004172
2014-01-27 17:39 user6 Assigned To => user6
2014-01-27 17:39 user6 Status new => acknowledged
2014-01-27 17:39 user6 Note Added: 0024427
2014-08-19 15:28 Talvieno Note Added: 0029332
2014-08-19 16:50 user6 Status acknowledged => confirmed
2014-09-11 11:29 user6 Relationship added related to 0008274
2015-02-03 10:18 AVK Note Added: 0032133
2015-02-03 11:01 user8971 Note Added: 0032134
2015-02-03 11:35 AVK Note Added: 0032135
2015-02-03 11:35 AVK Note Edited: 0032135
2015-02-03 11:51 AVK Note Added: 0032136
2015-02-03 12:11 Mopsy Note Added: 0032137
2015-02-03 12:12 Mopsy Note Edited: 0032137
2015-02-03 12:22 Mopsy Note Edited: 0032137
2015-02-03 12:24 Mopsy Note Edited: 0032137
2015-02-04 04:57 Mopsy Note Edited: 0032137
2016-05-16 13:51 Toady One Status confirmed => resolved
2016-05-16 13:51 Toady One Fixed in Version => Next Version
2016-05-16 13:51 Toady One Resolution open => fixed
2016-05-16 13:51 Toady One Assigned To user6 => Toady One