Size Overhaul

From Flexible Survival
Revision as of 02:56, 28 February 2021 by Inutt (talk | contribs) (Created)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Over the course of 2020 and early 2021, during that other outbreak, Flexible Survival's code for calculating the size of body parts underwent a long overdue overhaul. Now that the new code's going live, this page should provide some documentation on what changed and why.


Why is the code being updated?

Anyone that's been around flexible survival for a while knows it's no secret that some of the code is... a little tangled. It's no surprise - any software project running for this long, written in an obscure programming language, and by so many different people over the years, is bound to end up this way. The size related code was one such part - not reusable, spread over several different places, almost entirely undocumented, and containing several bugs. I(nutt) decided to do something about this and has been working on a rewrite.


What does this mean for me as a player?

Firstly, you'll notice the formatting has changed to match various other commands in an attempt to provide a consistent look and feel. Secondly and probably more importantly, the way most of the numbers have been calculated has changed. Attempts have been made to keep the new code's results similar to the previous values where possible, but consistency and logic now play a larger part - mass, volume, and density are now inter-dependent, for example. The raw 'size' values have also been de-emphasised (but not removed) in favour of values in 'real' units, to avoid the confusion the raw values sometimes cause. Another major change is the removal of most hard caps on sizes - this is not to say that all limits have been removed, just that the maximum is now determined by the combination of perks and items available rather than being a hard-coded number.


Summary of changes

  • Height - This should be very close to your height in the previous code, beginning to diverge for sizes above 100.
  • Density - Should be unchanged from before.
  • Mass (for all bodyparts) - May be vastly different. The number of each body part should be unchanged.
  • Cum/Milk production - This will be vastly different.
  • Body parts will be labelled with [concealed] or [internal] where applicable. Concealed body parts are those hidden from other players via items such as underwear, long coat, or bovine binder.

The size (in this case meaning volume) of each body part is now calculated based on an approximation of an average human body shape, and is then modified to account for FS's serpentine/multi-limbed/etc. The mass of each body part is then calculated based on this volume and your density value, and your total mass is then the sum of each individual mass (no more negative mass body parts as a result of starting from total mass and working backwards!).

Cum and milk yields are now based on starting from a standard (size 5) human with all their body parts at average size producing (very approximately) an equivalent amount of the relevant fluid as one would in real life. This is then scaled using the mass of the relevant producing organs (balls and breasts/udders, respectively), and a few additional factors to prevent the numbers getting out of hand.


Approximate diagrams of body plans used for calculations

Green parts add to or replace parts of the standard biped form, gender-specific body parts are present as applicable, and all body parts are scaled by their respective size values relative to your overall height. Note that these diagrams are only approximate and intended to illustrate the code's internal view of a form's body, and are not intended to dictate how any given form's body is laid out.

Biped forms (front and side) x200px
Tauric forms x200px
Serpentine forms x200px
Tauric-serpentine forms x200px


Specific changes

Not an exhaustive list!

  • Tanuki ball/breast/udder sizes
    • As per the description of the silver leaf item, tanuki's influence only expands these body parts at the moment of using them, not all the time. Your fluid production values will be based on them being at 'maximum', but they will not appear to be that large when looked at.
    • For tanuki purposes 'maximum size' means size 55. As mentioned above, this is no longer the actual maximum size, but is still used in this case for the time being.
  • Kaiju/Quetzacoatl dedications now provide a flat 30% increase in overall size, rather than increasing size for 2 points for every point above 10.
  • Large tendencies perk no longer has any effect due to changing size scaling to a logarithmic curve from a stepped approximation.
  • Udderly Fantastic mako toy has a clearer purpose, and now makes your breasts and udders operate at whichever is the larger of their sizes for the purposes of milk production.
  • Egg sack perk now affects both size and mass of your balls, but not how much cum they produce.
  • All teats are assumed to be the same size as your clitoris, since their size is not tracked.
  • Mass Manipulator's now adjust your mass by a specified percentage, and this percentage difference will be maintained between forms instead of the mass. Ie; if you are 100kg and set your mass manipulator to +10%, you will now be 110kg. If you then shift to a form with a default mass of 200kg, you will now weigh 220kg.
  • Motherly Milk mako toy is now supported for milk production increases based on the number of children you've birthed. (Note: Birthed, not sired)


FAQ

I was producing eleventy bajillion litres of milk/cum before, and now I'm only producing enough to submerge a large city - what gives?
If you can explain the code that calculated that before and justify why it was so large a number, let me know. Now it's based on the mass of your relevant body parts, and you can still produce more than enough to make a kaiju explode if you ejaculate into them :-)
I was producing a tiny amount of milk/cum before, and now it's increased by quite a bit - what gives?
See previous answer - the previous code was pretty much undecipherable in terms of exactly why the values were what they were.
Why am I showing as producing no milk despite having massive mutated mammaries?
Check your status effects - you need to be lactating to qualify as producing milk.