jeremyshannon / Exile

This repo is parked, moved to codeberg.org
https://codeberg.org/Mantar/Exile
GNU General Public License v3.0
16 stars 12 forks source link

Rebalancing food #20

Open ghost opened 3 years ago

ghost commented 3 years ago

Currently the food meta in Exile is mostly dependent on baking maraka bread and cooking anperla, as these both give you in 24 hunger and 14 energy points a piece while allowing massive batches of them to be harvested.

In comparison, cooked meat from small birds and small fish give 10/2, and Sakramos (which is a gigantic shark-like creatue) only gives 30/6. This makes hunting and animal husbandry vastly inferior and more time-consuming than harvesting or farming. The only 'farm' animal of any value currently is the Gundu as their eggs add 10 thirst and 40 hunger points and they reproduce at a fairly fast rate.

My suggestion is to reduce bread and anperla to 5/1 and add items that would be a combination of the above ingredients such as meat sandwhiches or anperla salads that would have 10/2 or 24/14 or higher values depending on complexity. This would ensure all mechanics of the game are used roughly evenly.

jeremyshannon commented 3 years ago

This has been on my mind, but it's kind of low priority. What I'd like to do is make the hunger system based on a very simplified caloric system and pin the various foods to rough real world analogues. Like maybe a goose for a pegasun (larger than a chicken, smaller than a turkey) or a crayfish for an impethu. That way I don't have to pull numbers entirely out of my butt, and things will sorta make some kind of sense.

Higher priorities for me though are adding more kinds of creatures, getting farming to work when the player's not present, fixing up multiplayer, etc. But if you want to gin up some numbers that make more sense than what we've got, go for it.

DokimiCU commented 3 years ago

Current values are roughly based on this:

Some notes:

Calculating sensible values for food: (intervals/day) hunger_rate = daily basal food needs i.e. 20min/1min 2 = 40 units per day

Therefore 40 units = 2000 calories. calories -> units = 2000/40 = 50 cal/unit

Sugar 3900 cal/kg = 78 units/kg Bread 2600 cal/kg = 52 units/kg Potato. 1500 cal/kg = 30 u/kg Meat 1000 cal/kg = 20 u/kg cabbage 240 cal/kg = 4.8 u/kg

(notes from health file)

Because Exile only accounts for energy (and not protein, minerals vitamins, digestibility) it does bias carbohydrates. The optimal diet is pure sugar!

wizardofgcc commented 3 years ago

Foods could probably use some sort of approximate division between slow and fast carbohydrates, i. e. the maraka bread/anperla have their hunger expire quickly, while the meats may have their hunger last for a longer. Maybe could be done by altering hunger_rate for evertyhing temporarily. This could make players eat many kinds of food, combining meat and bread/anperla and other plants.

jeremyshannon commented 3 years ago

That sounds like a good idea to me. Meat is currently underwhelming, and hardly worth pursuing. I do feel like the pegasun might need to have its values increased -- it's visually almost the size of a turkey, yet you need to eat like four of them a day to stave off hunger. I can't imagine eating four whole chickens a day, much less four birds the size of a big, squat goose.

ghost commented 3 years ago

I've been playtesting the version I modded to the best of my (admittedly limited) ability. So far what I've done was messing around with the values of certain items, adding some combined foods and adding a cutting board table type furniture to prepare them on. It definetly feels different, and I like how I need to hunt now to get more out of my food. Here are some numbers (thirst/hunger/energy):

wizardofgcc commented 3 years ago

Another thing about food currently is that the hunger indicator is misleading. The percentage display makes it look like you need it to be as high as possible, which is not really the case. There is in fact a penalty for being too full (i. e. you speed is reduced). Maybe some sort of daily/short term nutrition display, or tweaking the colours so that high values will be yellow/orange would help emphasize that fact? Although in any form, the current percentage hunger value should probably stay, it gives a good long-term indicator of your food condition.

jeremyshannon commented 3 years ago

There is in fact a penalty for being too full (i. e. you speed is reduced).

Is there? The comments in health/init.lua suggest it, but down in the code if hunger > 800 then it adds 1 to move/jump rate. There's some code duplication going on, too, as this bonus/penalty is also applied in on_actions.

wizardofgcc commented 3 years ago

Yes, that seems to be the case. I guess it was an intended feature initially, then got scrapped.