Digging this up since I’ve been working on the fullness mechanics for my game the last couple of days. I really like the ideas in the initial post, I don’t think I’ve seen those implemented before, but they sound really feasible and would allow for a lot of variation. I feel like some parts of Vale City are close to that, especially with the quest/misc rewards that allow you to consume higher tier items for a reduced cost.
Yamhead’s suggestion of replenishing mana was implemented really effectively in Nerds’ “Some Bullshit Stuffing RPG”. My rpg game is currently using a really similar system, although it’s with an AI npc that the player won’t control during battles.
The question I’m running into now is deciding on a mechanic for increasing the base capacity. In the two games I mentioned, it’s incremented with the player level. Dingotush’s Yaffaif has a somewhat appealing system of increasing the top limit by a portion of your food if you eat when very near max fullness. However, you must then drop below a certain fullness level in order to increase it again. The idea of an instant stretch from overdoing the stuffing is great, but the straightforward method to grind increased capacity is a weakness. That said, I’m not really sure what methods there would be for obfuscation that would improve the experience, since any “cooldown period” has the same grind method, just with more steps.
In Tiggertoo’s Weighting Game, the “what to eat” choices are mostly handled with some hidden stats that progress naturally over time. This is pretty much my favorite implementation so far, since you get clues that you’re making progress, but it’s obfuscated in such a way that you’re not just grinding and waiting for a set of numbers to increase. Unfortunately, I can’t steal this mechanic completely since it doesn’t introduce an upper limit in most cases.
The other examples I can think of fall under the “sit at X% fullness for Y amount of time” in order to make a chance. This is probably the most used scenario and what I’m leaning toward, since it’s engaging and is easy to convey to the player. I’d be interesting in hearing what formulas people have used for this, since it seems like the “Y amount of time” can vary widely. I had planned on taking the FetishMaster formula as a starting point, but I think I’d actually simplify it a little since it’s pretty overwhelming.
After typing that out, I had a really basic idea for a starting point: Use the Yaffaif method of hitting the top-out state, then roll an RNG chance against some hidden stats. The hope would be that this wouldn’t encourage single-mindedly grinding until the other values have been raised, at which point those stats would also positively feed back into the process. So, a sort of snowball approach.
For my fullness gauge, there’s 4 main stats that play a role, I think two of which will be visible to the player:
- Capacity - Obviously represents the max capacity of the fullness meter. Consumables in the game have a size (planning for grams/mL) and calories associated with them, I’ll probably be googling all the food types for the actual calorie density so I don’t have to think about it.
- Metabolism - Affects how many calories your character can have in a day without gaining weight. In combat, affects the fill speed of the ATB meter, food digestion speed, and mana gained from food. I’ve tied the digestion rate to it directly for now, where each combat “turn” simulates a certain amount of game time.
- Greed - Invisible stat that helps determine the minimum fullness at which the npc eats, will allow exceeding 100% fullness, and determines item eating speed. At 0, fullness will drop to 0% before the npc will interrupt any action with eating and the max fullness is 100. At 100, the minimum would be 50% and the max fullness is 125%. Eventually these values will run into each other, so I think I’ll cap minimum fullness at 100% capacity as a stopgap.
- FatDesire - Invisible stat that determines the “preferred fullness” of the NPC (explained later) and reduces the penalty for being over 100% fullness. Once this stat gets high enough, it ends up being a bonus to ATB speed to be over max capacity.
The two hidden stats are then used to determine 8 or 9 other stats that regulate the list of items the npc will eat, when it will eat if there’s no other priority, when eating is the priority, how many of an item to eat, and the penalties for going over max capacity (which won’t happen at base stats). It really spiraled out of control quickly, so I ended up making this graphic in Paint to help me visualize it:
Apologies for the wall of text, this was helpful for me to think through some of the mechanics of other games and decide on a path forward. Any answers from others about how they’ve handled expanding capacity would be helpful, I haven’t looked into the nitty gritty details of very many games so far.
Edit: Ended up implementing a slightly modified version of the idea. Instead of using the stats to rng upon entering the Stuffed fullness, it rolls based on how far into the range you are. So if you’re in the middle of the range, it’s a 50% chance at increasing capacity. This still ends up meeting the sort of snowball effect I was looking for, since at base stats or without large food items one won’t be able to reach that state.