I have had a lot of thoughts about the entire food system for a long time. I believe a really correct fix has to combine many of the aspects mentioned in this topic as well as some mentioned in the topic about the price of prepared meals.
I would like to start by listing out some of the current problems.
1. Plants are not properly using the weather conditions to determine plantability and growth.
2. Food is highly abstract where a biscuit is an equal meal to 1/7th of a horse.
3. Stacks can not be combined.
The way to fix these first 3 problems is:
1. Plants need a combination of season and biome conditions in the raws. This affects above ground plants such that they only grow when it is warm enough for them. Underground plants need to all be all seasons, and the winter can plant affect needs to be removed. This set of fixes makes below ground farming easier, and above ground a little more realistic without too much effort.
To further correct this we have to recognize that some plants mature a little faster. A few plants should be harvestable before all the plants in a plot are harvestable. These plants produce little stacks of 1 as the grow duration approaches complete for that plot. In order to actually do this when the seed is planted the farmers skill is used to determine how many plants appear in that plot. Using T to examine the plot should display a certain number of plants and the seed should already be destroyed. I can see this number ranging as high as 20 for a lengendary farmer, and should have little to no randomness. Again this is affecting above ground farming more because a cave does not have weather.
2. All edible things need to have a food value attached. This makes it so that a hunk of meat will keep a dwarf fed for 3 weeks, while a plump helmet will only satisfy them for a few days. This needs to be cohesively done through the entire cooking system. Cooking needs to have recipes made much like the smelter reactions, and the produced items have a real food value. For example 3 flour and 1 tallow might make 20 biscuits, and the value of a biscuit would only cover a dwarf for a day. Another recipe might be 10 biscuit, 2 meat, 1 cheese = 10 sandwich; and each sandwich would cover the dwarfs hunger for 4 days. This seems an easier way to adjust the demand as a hunger number is already tracked.
3. Full on stack combining isn't actually needed, although it is desirable. The minimum that is needed is that the dwarf combines or breaks apart the items when they grab them. Say a dwarf is going to grab 10 biscuits, but the stacks in barrels are 3 and 8. The dwarf would go to the barrel with 8, grab all of them, then go over to the barrel with 3 and get 2 of them. At that point he is carrying a stack of 10.
So far only item 2 has actually done anything to make food production harder. That is because it removes the abstraction on the demand and makes a real difference in the value of things. Now some things to really make farming harder.
1. Plots needs to have a minimum size of 2x1. These should be set up so that 1 tile is walkable and the other is not. The plants actually grow in the nonwalkable tile. The nonwalkable has to be done through pathing and not be a hard blockage. Dwarves would see is as a do not step here, but animals, invaders, and traders wouldn't care. If they walk through it then some plants get trampled.
2. Watering has to be required. Since dwarves don't have hoses, buckets are needed. Each plot should hold the information about its wetness level. Outdoor farms would be moistened when it rains, and would have more evaporation and drainage. They would be more likely to not require special care.
The entire watering process should be split into 2 tasks, check farm, and water plot. This means a farmer has to actually walk around the field periodically and decide which plots need water. Overwatering can lead to plant death as well, and should be something an inexperienced farmer does. This is why the planting of a seed needs to create many plants at the start. All errors in watering should slow the growth of the plants. If it is bad enough then some die and they need to be pulled out.
3. Fertilizing should not affect how many you get directly. It should speed up growth time, and should allow the plants to be more resilient. This means we need a healthy factor for the plant. A healthy plant grows faster and resists trampling better. A plant that is growing rapidly uses more nutrients, and should choke out neighboring plants. A plant that is not healthy may never actually grow to a harvestable level.
4. Annuals versus perenials needs to be recognized. We also have to recognize what is usable in the plant. Strawberries should be a perenial with a fruit product. The fruit is the harvestable part, and the plant would still be there after harvesting. This needs to apply to gathering as well as farming. This means that some crops would only have to be planted once to produce a continuous stream of food. The growth cycle controlled by biome and climate would determine what the plant is doing. Some might die and require replanting, but the farmer should be taking care of that.
Wheat on the other hand produces only seeds, and is an annual. The seeds are harvested and they are what is milled for flour. The rest of the plant is worthless. Here we suddenly see that seeds need to have a little less abstraction.
----
That is a total of 7 different points that should be adjusted to add more realism. My thinking is that the net affect is that farmers are much busier working the fields. The space requirement is increased slightly, but the change in how plants are handled actually increases production. Dwarves eat more frequently, and because there is already a diversity of food in the code for a dwarf choosing what to eat cooks are necessary.
One of the main things that absolutely has to be done as part of this is the dwarves have to do the work. The player should be establishing a layout and a set of specifications. The dwarves should be planting, harvesting, slaughtering, brewing, and cooking automatically.