Difference between revisions of "Size Overhaul"

From Flexible Survival
Jump to: navigation, search
(Still to do: Size stabilised linear dimensions done)
(Still to do: [partdesc] flags handled)
Line 99: Line 99:
 
* <del>Size stabilizer doesn't pass linear dimensions through for description function.</del>
 
* <del>Size stabilizer doesn't pass linear dimensions through for description function.</del>
 
* "Bulgy" flags for concealed body parts
 
* "Bulgy" flags for concealed body parts
* <nowiki>[cockdesc]/[cuntdesc]/etc</nowiki> parsing in form descriptions
+
* <del><nowiki>[cockdesc]/[cuntdesc]/etc</nowiki> parsing in form descriptions</del> - done in stringparsing function before calling the size code
 
* Pregnancy size/mass increase
 
* Pregnancy size/mass increase
 
* Assorted breast/cock/etc size affecting pills
 
* Assorted breast/cock/etc size affecting pills

Revision as of 16:25, 9 April 2021

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.

Perks and items affecting cum/milk production still, for the most part, have the same or very similar effects as they did before.


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 x150px
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 Manipulators 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 it into them all in one go :-)
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.
What happens to weight status effects, since weight is not mentioned in the new command?
Weight status is now treated the same as mass status, and the two are just added together. Weight is no longer independent of mass.
Why does using a pump or other item to inflate my <insert body part here> still max out at size 55?
Changing the size of body parts is separate code, and will need updating on a case by case basis.
Are tanuki effects compatible with the new size code?
Not entirely, no. Tanuki dedicants get their balls/breasts/udders treated as "maximum size" for the purposes of milk and cum production. Since the maximum size caps have been removed, it is entirely possible that your fluid yields will decrease if you are dedicated to tanuki or have the relevant mako toys active. This will be fixed RealSoonNowTM.
My cock used to be bigger than my entire body, but now it's not. Will that be possible again?
Showoff :-) This may become possible again, depending if the scaling algorithm can be adjusted to allow it without making all the numbers ridiculous. Getting the code functional is currently the priority, tweaking will come later.

Still to do

  • Udder Delight perk
  • Breast rows (and possibly diminishing size)
  • size #setoffset -0.01 can show the same as 0.5 or 5'12", possibly due to a rounding error. Now fixed, though the issue may reoccur with other conversions that have more than one stage. (Confirmed to be a rounding error: 71.999" is 5'11.999", which when displayed to two decimal places is automatically rounded to 5'12")
  • Things that change body part size still being capped to 55
  • Tanuki 'maximum size' needs redefining
  • Fix 'shift load/save' as what it does with mass, height, size, and weight makes very little sense
  • Change volume (but not mass) when under the effects of a personal pump/valve
  • Original number of breasts are still shown with a Breast Consolidator item active.
  • Size stabilizer doesn't pass linear dimensions through for description function.
  • "Bulgy" flags for concealed body parts
  • [cockdesc]/[cuntdesc]/etc parsing in form descriptions - done in stringparsing function before calling the size code
  • Pregnancy size/mass increase
  • Assorted breast/cock/etc size affecting pills