Flour being a favorite would just make you a fan of breads, pastas, pastries and cakes of all kinds. Well, that, and uncooked dough.
On average, at least, if one has an ingredient you really don’t like, they’d counteract each other.
Someone having chicken as a favorite doesn’t sound odd, I know someone who’s like that for fish, and I myself haven’t encountered a well-cooked octopi dish that I haven’t loved.
The per-ingredient idea does run into the problem that it doesn’t match the category-based preferences people often have. Someone could like most kinds of pancakes, but be ambivalent about anything else that has the same ingredients; someone could love ice creams, or pizzas, or could hate soups or beans in general.
I mean, people also have single-dish favorites, but this is often in conjunction with liking or disliking broad categories as well, just not as strongly.
A decay of ‘how much you like this’ based on the last time eaten doesn’t cover binges, it’s often that a bar of chocolate is fine, but devouring a whole lot of it is even better.
Unless you barf, or you keep doing it for like a week, and then you cannot look at them without feeling nauseous for years later.
So, how do we glue things together?
- Some foods would have a ‘category’ flag, like soup, beans, and the like.
- two tables would be generated at start, one for categories, one for edible items. The table would have colums for:
- base preference: over time, the character will trend towards this value, over time, it may slowly shift (barring flags)
- how many times it was eaten 2 days ago
- how many times it was eaten yesterday
- how many times it has been eaten today
- flags: flags would alter the ‘normal’ behavior.
- The base system would be that how much you enjoy the item would be based on: how much you enjoy that type of item (category), how much you like the item in particular (the table’s base preference entry), and how much you like the ingredients. This would then be reduced if you’ve been eating too much of it over the last three days, and return back to normal after giving it a rest.
Flags would then make this interesting. For example, a food could be the best thing evah for you, and no matter how much you eat it, you’ll never grow tired.
Or you ate something until you barfed, or you just overbinged on it for days, and now it has the flag nauseous, tanking any enjoyment you’d get of it, making it more likely to make you barf, and only vanishing months, or even years later.
Or, randomly, you could be craving some item or another, sending you messages from time to time about it, and upping your enjoyment of it when you finally eat it. This might even progress into best thing ever.
For sanity’s sake, some items, like, say, water, would be ignored by parts of the system or the whole of it. I’d be kinda unplayable if you grew sick of drinking water, after all. This could be done by item flags.