Rimworld Weight gain Mod the second coming discusion

First, progress update! The next few features have been a little slow to add as I’m figuring out some technical details, but I am still making progress. As for new things,

  • When a pawn eats a little floating mote displays how much weight it was worth.
    • This was more a test to get the function working, which it now is. That means that in the future similar information can be shared with the player this way. I was thinking that this method would be employed with a scale object.
  • By default RimWorld has a rather small limit on how large a pawn sprite can be. To get around this I have started using the Humanoid Alien Races framework which allows you to bypass this limit. Due to the way this mod handles rendering I have to change the way that I do it as well. Not really a problem, just a technical hiccup. Because of this framework pawns can now be as big as you'd like (yay!)
  • Lastly, I've been trying to implement a feature to allow the player to custom select the frequency at which the pawn eats. In Vanilla this is accomplished through the aptly named "FoodLevelPercentageWantEat()" method. However, the way that Vanilla implements this is through diet category (e.g. herbivore, omnivore) and isn't easily amendable. Therefore the fix I had was to add a bar (like the ones when you set the prune level on a Gaurenlen tree or when you set the fuel level on a launch pod) that will let you choose what eat frequency for each pawn. The source code for these is downright nightmarish so its been a bit of a grind to finish this one, but its about half made.
    • I was thinking that you can set custom values for this, but pawns will have preferred settings. Too far above or below for too long and they will become unhappy. Then, through various processes this can be raised or lowered.
  • There’s a lot of things that could be done with Ideology that I’d like to do. What’s that website people use to track progress? I was thinking I could throw ideas like this on there just to keep track. I hadn’t’ really thought about Feedee being a role as in for ideology but that works out quite well.

    How would you like to? I’m sure it wouldn’t be too hard, what did you have in mind?

    Good question! I myself am not sure.I plan to get this working today, since with that the really basic mechanics are nailed out. I think for it to work I might have to lower the mood debuffs for starving (currently -44!) so that they only apply when you actually earn Malnutrition, which would be probably only when you’re below average weight. What do you guys think? I really haven’t been super inspired for passive weight loss. As for instantaneous wight loss, various surgeries and medicines would work fine.

    To be honest, it really depends on what everyone wants, to a degree. I personally struggle to even keep my colonists’ clothes not tattered much less nice. Clothing WILL have to be whitelisted if we change sprites, which is the plan. This means mod clothing will need to be redrawn for every size for compatibility. As for size restrictions… not sure yet. Like I said, it depends what everyone wants.

    Yes! There will be custom sizes so it’s a must. I haven’t decided whether I want to go for a more realistic style or stick with rimworld’s hyperblobby (lmao) style. Either way I’m not an artist. All said and done though, changing sprites at any point wouldn’t be a problem, just rename drag and drop.

3 Likes

for suggestions I posted some weight loss ideas on the top of this page. I had ment to share them originialy but forgot

personaly I am against sizes restrictions. maybe for the appearance maybe use a mod that hides clothing but still has it effect be active

Well, mainly I was thinking having a Feeder meme that has the amount of blobs having certain benefits (Since most people would wonder why go through the trouble if they could just be put to work) Most obviously a mood boost, but also being able to use the blobs as a Luxury bed (I.E Royal Bed) which doubles the mood boost (With a whole “I made this” type feel to resting on a blob), mainly the amount they would boost the local mood would far outweigh(Hehe) the loss of manpower in the hypothetical (Especially if you find an absolutely useless pawn that can’t do anything anyways). There could be a whole mechanic where you could turn lesser foods you find (That wouldn’t be able to satisfy the gourmet taste) into addictive lard ala nutrient paste that works kind of like smokeleaf on crack (Pardon the analogy) increasing hunger as well as weight gain. This could be used as a means for people who don’t want to cheat yet want the blobbing experience to help them manage them. Slaves could be made to tend to the blobs or turned into blobs themselves, the latter being available to prisoners as a means of preventing escape for either conversion/recruitment purposes or for the mood boost that blobs give the hypothetical Feeder meme.

These are just some things that come off the top of my head for what i would want that (i believe) wouldn’t require some mod synergies or too far in the future, I.E Feeder Bots(Misc Bots), Bellyzuri(RJW), An ending for when you blob the entire planet(Further on) etc. But I don’t know code, let alone Rimworld’s, these are just one persons hopes and dreams.

1 Like

Progress update!
Not a lot of finished features, but a lot of work done. I’ll keep this one short -

  • Pawns now lose weight at about the rate they gain from a normal diet. This will come into effect when the weight gizmo (that’s actually what they’re called in the game’s code) is finished. Thereby enabling weight loss and making the gain more realistic.
  • As for the aforementioned weight gizmo, I’ve made good progress! I think it will work, graphically at least, once I figure out how to add it to a pawn. This is probably what I’ll work on next.
  • Pawn “mass” is now calculated dynamically based on their “weight”. This means that caravan weight, launch pod weight and/or anywhere else the pawn’s mass is read it will factor in their weight as well. Due to this I will eventually have to add launch pods that can hold more than 330lbs (the current limit).

Now that this is all done I have a question. Internally Rimworld handles it’s weight values as kilograms. There not really any way to change this. That having been said, I’m used to freedom units and like my weights in pounds. Would everyone rather I keep the weight as is, where it changes units between pounds and kilograms depending on the screen or just go all the way in and switch to kilograms? I’ll try to make a poll if I can figure it out!

  • Mixed Units (Pounds where possible, kilograms where mandatory)
  • Just keep it consistent (All in kilograms)

0 voters

1 Like

While I can understand the desire to make your life easier wherever possible, generally in my experience a mod is at its best when it feels like it’s always been there or isn’t obvious that it’s a mod. There are always exceptions of course, but at least with something like this that’s adding a new system, it’d be best to keep it as consistent with the base game as possible.

2 Likes

Update!

I’ve finally got the slider system working! (picture below)
I do realize it’s pretty dang ugly, but at this point adding more, changing aesthetics, resizing and such would be very easy now that I have a base form set up.

image

Right now it allows you to set the nutrition percentage that trigger a pawn to start eating. While this is a good proof of concept, altering the value which they choose to eat only changes how fast they gain weight without adjusting how fast they lose weight (unless you set it to zero.) With that in mind I’ve been brainstorming a new system for pawn hunger and nutrition. Here’s what I have so far:

  • Hunger Threshold (Minimum allowable fullness)
    • When pawns reach this level they will try to eat until they reach target fullness.
    • The Hunger Threshold must always be less than Target Fullness.
  • Target Fullness
    • This is the amount that pawns will try to eat until, when they do. Once they fall below the Hunger Threshold, They will eat until they reach this point (or close to it).
    • Target Fullness can be above the Soft Limit, but never above the Hard Limit unless you want to kill them .
  • Soft Limit
    • The Soft Limit is when a pawn reaches what most would consider “full”. This can also be thought of as stomach capacity.
    • After this point, pawns earn varying levels of the stuffing hediff.
    • When above the Current Fullness is above the Soft Limit, the Soft Limit slowly will rise. This represents stomach stretching.
    • When Current Fullness is above the Soft Limit, pawns will get mood penalties or buffs depending on their attitude toward stuffing.
  • Hard Limit
    • Hard Limit is always x% more than Soft Limit. Naturally, then, the Hard Limit must always be above the Soft Limit.
    • Hard Limit is when the pawn dies or their stomach is ruptured due to overfilling.
    • Target Fullness should only ever be above Hard Limit if the goal is to kill the pawn.
  • Current Fullness
    • This represents the amount of fullness a pawn has. Generally, this should not be above the target fullness.
    • This value dictates what level of the stuffing hediff the pawn gets.

What do you guys think? The system is a little complex but I think it’ll add nice flavor. Also, I’m surprised by the results of the poll! Keeping it consistent is probably for the best though.

6 Likes

hmm interasting. though know I imagine a stuffing method of filling a pawn to juuuuust under the hard limit to really stretch the belly.
one thought. should bionic stomachs have higher limits or would that be how much the skin can stretch

That is definitely a feature you’d have access to. As far as bionics that’s a pretty good idea! I do plan that pawns will have different “attitudes” toward different levels of stuffing. Pawns with gainer traits (whether they have to earn that or are born with it) would be more likely to gain mood buffs from it while pawns without any tendency to like it may get large debuffs from it. I do want to add ways to give pawns traits through some form of indoctrination.

1 Like

for more on Bionics maybe you could have “high capacity stomach” aka a Very stretchy stomach or one that can burn through food faster to give the impression of higher capacity.

actually as a thought would feeding tubes be a thing?

Actually what I’m working on now. I plan on, as someone suggested above, a remake of the nutrient paste dispenser. Instead of a pawn going up to it and taking a meal, they’ll treat it like a workstation eat. Ideally I’d like to do some other things with it, but functionality comes first. Ill see if I can make that work soon.

oh cool will it come in multipl flavors.
will Idology be a must for the mod?

with regards to bionics, would it also be possible to use mutations for pawns that do not necessarily like going to tech modification pathway. This more flavor since I don’t know what you would need to code that in

To be honest, I’m personally against a decision like this one. It clutters up or otherwise sullies what seems to be a mod with a clean, straightforward goal. This seems more like a companion mod than anything else.

1 Like

I disagree with the idea it clutters or sullies the mod, but I do think it’d be best to table an idea like this for the time being. It’s best to avoid going wild with ideas at this stage since this is still in the “getting the mod working” phase. Adding more onto will it just increase the chances of the mod never being completed.

Once a foundation is built, that’s when it’s time to go hog wild with extras and additions.

This sort of design principle is what made mods like Starbounds Big Fatties so good and successful. Even though it’s really early to say this, just given the kinda game Rimworld is, I believe this mod could get to that level if handled right.

Also, shouldn’t this topic be moved to the actual projects category at this point?

3 Likes

I love this, not enough games have stuffing mechanics. I think this implementation is brilliant.
One thing Id love to see is descriptions for the moodlets pawns have about how stuffed they are and maybe a moodlet for feeders if they have managed to stuff another pawn.
Also lots of descriptions between pawns when one is chubby/fat/stuffed, things like pinching/poking fat when walking past each other or rubbing a stuffed belly. Could even add a positive mood benefit for belly rubs if a pawn is overstuffed.

Creating a new topic would certainly be a good idea for the mod since it’s already being made and tested by you, and it would also draw some more people to the mod rather than just an idea

another question - are you planning to post a wip build anytime soon for testing purposes or are you gonna post it when you are more-less done?

Sorry for the lack of updates! I work quite a lot so its hard for me to update during the weekdays. Rest assured I have not stopped work on the mod!

I’ve been debating that. I personally wanted to wait until I actually had something to share before posting there about it. I’ve been thinking about making a discord to more easily and casually plink ideas back and forth as well as share smaller progress but I don’t know whether that’d be appreciated or not.

As for the moodlets and descriptions, I think that’d be really good flavor!

I’ve been reading everyone’s thoughts on the system, and I’ve made the decision to tentatively go for it. Don’t worry too much about its apparent difficulty, I’ve pretty much already made or worked out the framework for what I propose, it’s more of a question of how I want to tie it in.

What would a bare-bones version look like to you? I know it sounds complicated but anything simpler would likely just result in pawns always gaining weight.

I do plan on WIP builds, but probably for smaller testing groups (if I do add a discord, that’d be who participated). Early versions will almost certainly have vast incompatibility with other random mods and errors that need patched. Save corruption isn’t out of the question either. The last thing I need is to wreck a ton of people’s worlds by releasing it to everyone at once and early. Once things are relatively stable for a given build I’d then release it here, probably.

All that being said, I’d also be more likely to release it in some form once I have more sprites. Right now there’s very little to be enjoyed, just framework and random features. I’m not really an artist, but I’m competent enough to make the sprites given quite a bit of time. What that means though is that I either have to continue working on the framework or the sprites since both are time consuming. I digress.

On to what I’ve been working on: work!

The way RimWorld does Jobs is… elaborate to say the least. To give a little insight to what I’ve been looking at, a “job” in Rimworld has:

  • WorkTypeDef
  • WorkGiverDef
  • WorkGiverClass
  • JobDef
  • JobGiverClass
  • JobDriverClass
  • JobMaker (technically it just uses a static one of these but w/e)
  • (an actual "Job" object)
  • JobTracker
  • Toils

To make custom behavior (such as feeding from a tube or force feeding prisoners or many of the other suggestions in this thread) understanding of these classes and the way they interact is necessary. I’ve been documenting and exploring how I will make the custom behaviors we want using these classes, which has taken some time but I’ve finally reached a decent understanding of it.

Additionally, I’ve taken some time to refine the nutrition, fullness, stuffing and weight loss mechanics. I’ve also started work on updating the slider to reflect these changes.

Let me know what you guys think about any of this!

4 Likes