Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Procedural cooking recipes for low-cost flavour.  (Read 777 times)

tussock

  • Bay Watcher
    • View Profile
Procedural cooking recipes for low-cost flavour.
« on: May 30, 2014, 03:11:46 am »

So, I was thinking about recipes, for cooking. I know the plants are changing, just using what I'm familiar with here.


EDIT, 06/06: Just tweaked some of the basic terminology in the first section below. I could fix up the example raw definitions, because it's arranged slightly differently to that now I look carefully, but I think the idea carries. Thanks for reading.



A Description/Raws scheme. Meals are made of (and foodstuffs thus indicate)

1: A binding agent. Small stack size, goes with anything, typically raw plants, but also cheese. Mmm, cheeese. Tallow, oil, eggs, maybe honey.
2: A bulk component. Big stacks of processed stuff, dry for proper mixtures. Flour, sugar, leaves. Easy meal.
3: A wetting agent, or anything that can't be wet for fear of rot. Syrup, Booze, Meat, Fish, .... Aids digestion, you see. Too high value or large stacks for a binding component, or to stack into giant value meals. Fine meal.
4: A decoration/flavour component. Most rare and strong-tasting things, kidneys, lemons, sweetbread, milk, .... Lavish meal.

Basic example.

[HELMET_PLUMP]
[COOK:1:dwarven:minced]
[COOK:2:helmets:set in]
[COOK:3:mash:mashed with]
[COOK:4:traditional:crafted into a base of]

Named 4132: "traditional dwarven mash helmets"
Described 1324: "$Q minced plump helmets, $Q mashed with plump helmets, $Q moulded in plump helmets, $Q crafted into a base of plump helmets"


More ideas for foodstuffs, checking that it looks right.

[SUGAR]
[COOK:4:sweet:coated in layers of]
[COOK:2:crystals:set with]

Named 4132: "sweet dwarven mash crystals"
Described 1324: "$Q minced plump helmets, $Q mashed with plump helmets, $Q set with sugar, $Q coated in layers of sugar"

[MEAT]
[COOK:3:NONE:tenderised][GET_NAME_FROM_...]

[CHEESE]
[COOK:1:cheesy:torn]

Named 4132: "traditional cheesy beef crystals"
Described 1324: "$Q torn cheese, $Q tenderised beef, $Q set in sugar, $Q crafted into a base of plump helmets"

Hmm, that sounds awesome, if a little rich.

[BOOZE]
[COOK:3:NONE:aged in][GET_NAME_FROM_...]

[SPICE]
[COOK:4:bitter:filling a bed of]

Named 4132 "bitter cheesy wine helmets"
Described 1324 "$Q torn cheese, $Q aged in dwarven wine, $Q moulded in plump helmets, $Q filling a bed of quarry bush leaves"

That also gets you moderate "cheesy wine helmets", and easy "cheesy helmets", or "dwarven helmets" when you run out of cheese, or some "cheesy dough" if the wheat comes in first, then "dwarven dough".


Then when the game wants to name a perfect dish of perfect components after the chef (historically or otherwise, worldgen could normally name all the plump helmet ones early on), have a fussy noble with a random desire, or foreign kings requesting certain exports, it uses Urist McCook's or Urist McNoble's name as a proper-name for those.

"Urist McCook's wine roast" = "bitter cheesy wine helmets". Randomly taking one of the ingredient's names, and the old name for a 4-ingredient meal. That's a tiny data structure, so you can have hundreds of them generated with the world based on local plant combinations. Humans in that town with the wheat and cows can have "$placename's cheesy stew", a "cheesy beef dough".
The extra text data on food (which can be tucked into primitive categories where common) isn't touched unless the player views it, the extra work for the food-finding algorithm in the kitchen (searching for a type-1 to type-4 ingredient) only happens once per ingredient, and if it fails after type-2 can immediately cook an easier meal instead without cancel spam. Shouldn't bother the stockpiles. Should be fun for the community to fill in the names and descriptions on foodstuffs.

Some common thing like plump helmets should fill all the gaps, and type-3 (wetting) stuff should mostly be eaten or drunk raw in case you run out of type-2 (dry filler).

And I guess the raws could also include default recipes. Tonight this author had "drenched in oil, well tenderised beef, finely mashed potatoes, well covered with crushed onions", an "onion oiled beef platter". Only mine wasted valuable fuel to heat it first.

Hmmm.

[FLOUR]
[COOK:2:dough:mixed with]

[TALLOW]
[COOK:1:hearty:pre-chewed]

"hearty rum dough", "$Q pre-chewed (mutton) tallow, $Q aged in dwarven rum, $Q mixed with flour".

"Boatmurdered biscuits", "hearty helmets", "$Q pre-chewed (elephant) tallow, $Q moulded in plump helmets". Mmm.


Sausage can be as simple as

[INTESTINE]
[COOK:2:sausage:filling a]

And a thousand varieties of sausage instantly fill the game, with world-gen likely capable of proper-naming some common ones like "hearty beef sausage". Use translations as available for foreign words, then have everyone trade their common prepared meals rather than raw foodstuffs. "Beef" is the elven word for cow, isn't it?
« Last Edit: June 05, 2014, 09:33:36 pm by tussock »
Logged

Flarp

  • Bay Watcher
  • and tearing apart the self-esteem!
    • View Profile
Re: Procedural cooking recipes for low-cost flavour.
« Reply #1 on: May 31, 2014, 06:26:23 pm »

I really like this idea, especially the idea of locally-famous recipes, which would provide some badly-needed ambient flavour (hah) to Adventure mode.
Logged
He views any show of emotion as offensive, sees introspection as important, values self-control, and strongly believes that a peaceful and ordered society without dissent would be best. He believes that mastery of a skill is one of the highest pursuits, values nature, and finds romance distasteful. He holds well-laid plans and shrewd deceptions in the highest regard.

Duck Slayer

  • Bay Watcher
    • View Profile
Re: Procedural cooking recipes for low-cost flavour.
« Reply #2 on: June 03, 2014, 06:14:48 am »

You sir are a genius.
Logged