Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Non-Linear GRAVITATE_BODY_SIZE  (Read 928 times)

TrueWolves

  • Bay Watcher
    • View Profile
Non-Linear GRAVITATE_BODY_SIZE
« on: April 01, 2020, 06:48:16 pm »

As it is right now, anything smaller than a human will, when made in to an animal-person, always be no less than half a human's size. While Sperm Whale man are over 20 meters in height.

So my suggestion is to use a 2-variable formula instead of the current 1 variable "average" used now.

The first variable is the function of power you use to average the size and the second the size it's brought closer to. In this way, it becomes a matter of relative size instead of a matter of absolute size in grams. The benefits to this formula is that it's independent of any unit of measurement used, and doesn't favor large or small creatures in any way.

Example:
GRAVITATE_BODY_SIZE:2:70000
This would first divide the creature's size by 70000 Urist/grams, then put that number to the power of (1/2), before re-multiplying it by 70000 Urist again. Thus a creature 4 times larger than a human would form an animal-person twice the size of a human, and an animal a quarter the size of a human would be half the size of a man as an animal person.

Personally, I feel using a Cubed Root (3) instead of a Square Root works best, as it gives about the following sizes in the most extreme cases:
Beetle Man: 1700 (Between the Sizes of a Fluffy Warbler/Little Penguin, or about 1/40th a human in size/mass)
Redpanda Man: 29000 (About the size of a large dog)
Dwarf: 50000
Wombat man: 52750
Human: 70000
Moose Man: 137000
Elephant Man: 290000 (About the size of a Yeti)
Sperm whale Man: ~500000 (About the size of a Tigershark or Horse, or 7 times a human in size/mass)

Now, because humans are an above-averagely large animal already, this does cause a discrepancy towards the smallest animal people being unusually small. This could either be seen as a feature/quirk of just how tiny their source animal is, or the formula could except a third variable for min size. First using a linear-gravitate formula of averaging out their size, and then applying the curve. In this way, you could do something like the following:

GRAVITATE_BODY_SIZE:3:70000:1500
And all animals smaller than 2000 would be averaged with 2000, ranging from 750 to 1500 in size before being gravitated towards 70000. Ensuring that no animal is more than 7 times a human's size. Roughly matching the Sperm whale man's upper size.

And because all sizes are being modified on their relative size to humans, you could use any number of different powers and retain the difference of Beetles/Sperm-whales being the two opposite extremes. So you could stick to a power of 2 and have Sperm Whale Men be 1300000 in Size (Between a Narwhale and a Hippo, or 19 times larger than a human) and have Beetles settle somewhere around Size 3500 or 7000 depending on how much you set the min for them (so between 1/10th to 1/20th the size of a human)

I'm not sure what you could do if you wanted to limit the other extreme, such as having a special "Pocket pet" modded creature-type where everything is smaller than 1000 in size. Though with how sharp the curve can get, you could potenitally just set the "GRAVITATE_BODY_SIZE" tag to something like 10 with a power of 3 and watch a Size 1327 Pocket Pet Dragon wreck !!Fun!! across a fortress. In addition, setting the Power to 1 could maybe default to the old strictly Linear formula for those who just want to use that. If non-Integers are allowed, you end up with it Gravitating sizes *away* from the one you listed. Suddenly Dragons potentially becoming 100s if not 10000s of times bigger.
« Last Edit: April 01, 2020, 06:51:58 pm by TrueWolves »
Logged

Pillbo

  • Bay Watcher
    • View Profile
Re: Non-Linear GRAVITATE_BODY_SIZE
« Reply #1 on: April 04, 2020, 01:51:53 pm »

I personally would prefer tiny animal people, like insect people be larger instead of smaller. Though I also think enormous animal people would be better smaller. I guess my preference would be to bring them all a little closer to human size.

I think a nice option would be to have it based on some RNG variable in world gen, so some worlds you get wildly different sized animal people, some worlds you get them balanced more or less to human size range.  It would also be interesting to unlock animal size from animal person size in some worlds, so you could get worlds where mantis people could be bigger than humans and tiger people smaller for example.
Logged

TrueWolves

  • Bay Watcher
    • View Profile
Re: Non-Linear GRAVITATE_BODY_SIZE
« Reply #2 on: April 09, 2020, 02:36:21 am »

Honestly, semi-randomizing animal people sizes sounds like fun, though perhaps as a separate tag. I definitely like that idea too. As for having smaller species end up being closer to human size, that's what the second half of the suggestion covers.
Logged