Perhaps we should focus on cooking more instead? Right now stacks are insanely big. What if nothing is to be eaten raw and one cooking operation would create only one food item?
This way food would be more sensibly scarce while lavish food would indeed be a luxury only for prosperous forts.
Eating raw food is a good feature. Means you don't need a cook/kitchen right at embark (we expect those dorfs to sleep in the rain at first, but they need cooked food to survive?). Plus, the threat of eating raw food makes prepared food that much more luxurious.
Cooking 2-4 units of raw ingredients down to one unit of prepared food is interesting and reasonable (I thought that was how it actually worked when I first started playing), but a side issue---prepared food is a luxury, not a necessity. Plus, it wouldn't fix the booze side of the problem.
Such a feature would also make cooking drastically more laborious (especially if a dorf eats 10+ units per meal); maybe a better option is to allow cooking 2-4 stacks down to a single stack, where each stack is the same size. Then plump helmets[5] + cheese[5] makes a plump helmet biscuit[5] as a single job... at least for a novice cook; a legendary cook should probably waste less food (e.g. 100% return on easy, 75% return on fine, and 50% return on lavish). It might be complex to make the cook grab the right-sized stacks, though... you wouldn't want plump helmets[5] + cheese[20] to become a plump helmet biscuit[5]!
A good idea, certainly, in terms of game balance [...] I think it might even be a good idea to have it at 15x-20x instead.
That would be technically the most realistic, but 10x seemed a reasonable match with the rest of the game mechanics. It should probably be tunable, though, as others suggested.
However, it is, as you say, not a replacement for a sorely needed farming (or, rather, food. Or, rather, balance) overhaul. Tying up 10x as many dwarves in food production won't solve how food/energy is essentially generated from nothing in it's current state. It won't solve sieges being effectively useless as long as you just wall yourself in (the only difference here being 25 farm tiles vs 250). You'd need to import some basic laws of nature into the game for that to work, e.g plants requiring some kind of energy to produce food.
You are absolutely right, and I'm not arguing against such fixes.
That said, 25 vs 250 is definitely a meaningful difference. If you can wall in a 250-tile above-ground farm plot before the first serious siege hits, more power to you. Especially if you also manage to roof it over (since otherwise the gobbos will just climb the wall like it's not there). IMO, the resulting siege-proof farm would have been fairly earned because it surely came at the expense of something else.
Later in the game, you're correct that it wouldn't much matter whether you have to protect 25 or 250 tiles: people have walled off half the map before to control sieges and caravans. Now, making floors/bridges/etc block sunlight (and glass floors/walls be easily breakable by enemies and tantrums alike) would add a significant plot twist for people who want to wall themselves in.
Keep in mind, though, 250 tiles would more or less cover the booze needs of a full-sized fortress. It would take another 500 or so to actually feed everyone (unless you grew only plump helmets and quarry bushes). You
could rely on massive farms, but the scale of that operation---esp. after a farming rewrite makes it more complex and labor intensive---would push people to supplement farming with other food sources like fishing, gathering, hunting, caravans, etc.---all of which expose your fort/workers to invaders and wild animals.
For example, if you went for meat industry under my suggestion, you'd need 10x more grazers and enormous pastures, which are also hard to protect or wall off effectively. Making non-grazers require some sort of food would be another important step for fixing the ex nihilo food problem. I'd suggest milling 1 unit cave wheat into 10 units of animal feed, or 1 unit meat into 10 units of kibbles, and then forcing dorfs to feed and water the beasts they hope to use/eat later. Hungry/neglected animals should turn savage/feral, too. Somebody forgot to feed the pack of war dogs? Hopefully they just massacre your chicken coop instead of mauling your legendary armorsmith (assuming they don't do both).
Some suggestions on the top of my head to make food production more meaningful. [...]
I think they're all good ideas. Hopefully they (and others like them) make it into the game some day. The feature I'm suggesting here can be implemented very quickly, though, and would make those other fixes and additions much more meaningful. Again, making farming more complex won't matter much if 14 tiles can feed a medium-sized fortress. Sunlight, water, fertilizer, etc. would all matter a *lot* more if you had to manage a 250-tile farm complex rather than a 14-tile farmlet. It's the difference between a 1-dorf bucket brigade and a major engineering project to pump water up from the caverns.
So basically you want an init setting for just how plump these helmets are. That seems fairly simple for Toady to code... and it might even be possible to patch in now with DFHack.
I bet dfhack could change the "nutrition value" of eaten food easily enough (using a binary patch if nothing else), but the other two pieces would be harder:
- Hunger/thirst threshold. Urist McHungry shouldn't start prowling for food until he passes 40-50k hunger, but he shouldn't stop eating until hunger drops below 10k (or whatever). Without a threshold, he'd eat every time hunger passed 10k (every 4-5 days), which would be really disruptive to the fort.
- Food stacks. Urist McHungry should be able to take a strawberry[5] to his table in one trip. Right now he always takes them one by one, which would mean lots of exercise at mealtime (food stockpiles in the dining room might help, but it would still be annoying/unnecessary).