Pyfeast User's Guide

Table of contents:

Starting Pyfeast

You start pyfeast by running the file in the pyfeast directory.

nowhere@mirax:~/pyfeast$ python
Alternatively there are a couple of comman-line switches you can set. You can get a list of those by typing:
nowhere@mirax:~/pyfeast$ python -h

A python proof of concept version of King's Feast's main algorithms.

Usage: python [options]

  -n <name>,     --name=<name>      set the name of the character
  -g <gender>,   --gender=<gender>  set to either m for male or f for female
  -l <savegame>, --load=<savegame>  load savegame <name>
  -h,            --help             show this help
  -d,            --debug            show debugging information
  -V,            --version          just print the version and exit

(C) 2003 by Kai Blin
Covered under the GNU GPL, see COPYING for details.
But let's just start it the game the normal way. Now it will ask us for the player's character name and gender.
nowhere@mirax:~/pyfeast$ python
Hello, welcome to King's Feast.
In order to set up your character, we need to ask you some questions.
What name do you want your character to have?
You chose Percival. Is that correct? (y/n)
Should your character be [m]ale or [f]emale?
After that, pyfeast will display some status information.
Today we're expecting:
Miss Sophie
Lord Farquard
Lady Dadyda
Your cellars contain:
Your current cash is: 500

You now have the following options:

* see [g]uests                    * visit c[e]llars
* visit m[a]rket                  * check [b]alance
* plan [m]enu                     * setup [r]ecipes
* [c]ook meal                     * [s]ave game
* [l]oad game                     * start the [f]east
* [q]uit

Please select an option
Now, let's go through the menu options.

See guests

This will display what guests are expected. So far this doesn't do much.

Today we're expecting:
Miss Sophie
Lord Farquard
Lady Dadyda

Visit cellars

This will diplay the contents of your cellars. At the beginning of the game, this of course doesn't show much.

Your cellars contain:
In the next section, we will buy a couple of things on the market, and then our cellars will look like this:
Your cellars contain:
- egg             5000.0          gram
- lemon           200.0           gram
- salt            1000.0          gram
- pepper          1000.0          gram
- sugar           1000.0          gram
- flour           1000.0          gram
- water           1000.0          gram
- baking powder   10.0            gram
- beef            500.0           gram
- milk            1000.0          gram
- oil             800.0           gram
- butter          500.0           gram
- rice            1000.0          gram
- almond          100.0           gram
- muscat          10.0            gram
- clove           2.0             gram
- cinnamon        50.0            gram

Visit market

Here, we have the chance to buy a couple of ingredients, so we can cook some food later.

Good day M'lord.
Today you can buy the following:
#       Product         Amount  Unit    Price

0       egg             100.0   pieces  0.2
1       lemon           10.0    pieces  0.5
2       salt            1000.0  gram    0.001
3       pepper          1000.0  gram    0.001
4       sugar           1000.0  gram    0.002
5       flour           1000.0  gram    0.0005
6       water           1.0     liter   0.0
7       baking powder   10.0    gram    0.1
8       beef            500.0   gram    2.0
9       milk            1.0     liter   1.0
10      oil             1.0     liter   3.0
11      butter          500.0   gram    1.0
12      rice            1000.0  gram    0.002
13      almond          100.0   gram    0.02
14      muscat          10.0    gram    1.0
15      clove           10.0    pieces  0.2
16      cinnamon        50.0    gram    0.5
Which do you want to buy?
Enter number or -1 to quit.
Let's buy all of it. We can afford it. :) Notice how the products vanish from the list as you buy them. Leave the market by entering -1

Check balance

This does exactly what the name says, it checks how much money we have left after the last shopping spree.

Your current balance is: -5544.9
Whoops, looks like we couldn't afford it. We were lucky we had our credit army with us at the market. Anyhow, having debts is not yet implemented, so we'll just live with it. (To be honest, noone validated if the starting cash and prices were sane yet.)

Setup recipes

We'll get a submenu:

You now have the following choices:
[c]heck the cookbook
[a]dd a recipe to your cookbook
[e]dit your current cookbook
[l]oad the default cookbook. THIS DELETES YOUR CURRENT COOKBOOK!
[q]uit this menu
As we don't have a cookbook so far, let's load the default cookbook by entering l.
Loaded the basic cookbook, M'lord.
Now let's have a look at it.
Cooking in a Nutshell
Recipes in this book:
#       Name            Type
0       fried egg       entree
1       waffles         dessert
2       christmas cookies dessert

Ok, that's not really much. Let's add another recipe.
Please enter name of the recipe.
boiled egg
Please add an ingredient.
Enter name of ingredient:
Enter quantity needed:
Enter unit of ingredient:
egg, quantity = 4.0, unit = pieces
Is this ok? (y/n) q to abort
Add another ingredient? (y/n)
If wanted to add other ingredients, we'd have answerd y here. We don't want to do this, so we answered n.
Now please add a preparation step
Enter name of ingredient to be used in this step:
Add another ingredient? (y/n), q to abort
Enter operation name:
Enter result name:
boiled egg Now we get a quick and dirty rehashing of the step.
Boil egg and you get boiled egg.
Is this ok? (y/n) q to abort
Add another step? (y/n)
n Now we'll get an overview over the recipe.
boiled egg contains:
#       name
0       egg, quantity = 4.0, unit = pieces
#       name
0       Boil egg and you get boiled egg.
Is this ok? (y/n) q to abort
y Ok, now let's go on to editing a recipe. Let's boil less eggs. One will suffice.
If we press e, we'll get the following menu:
#       name
0       fried egg
1       waffles
2       christmas cookies
3       boiled egg
enter number of recipe to edit, -1 to cancel
You now have the following options:
[1]     list ingredients
[2]     list steps
[3]     add an ingredient
[4]     add a step
[5]     delete an ingredient
[6]     delete a step
[0]     cancel
#       name
0       egg, quantity = 4.0, unit = pieces
We want to change the quantity. Unfortunately editing is not supported, so we'll just delete it and add a new ingredient with the right quantity.
enter number of ingredient to delete
We still recall the number our ingredient had. 0.
Now we add the ingredient again, with the right quantity. 3 The rest of the dialogs looks just like adding an ingredient when adding a recipe before.
We now leave this menu by pressing 0 and -1.

Plan menu

To plan the menu, we need to set up a reciepe for every dish.

You now have the following options, M'lord:
[0]     plan entree
[1]     plan soup
[2]     plan main_dish
[3]     plan dessert
[-1] to cancel
[-2] to display current menu plan
We'll set up the dessert to show you how it works, the other dishes work exactly the same way.
Recipes of type dessert in this book:
#       Name
1       waffles
2       christmas cookies
[-1] to cancel
We want christmas cookies for dessert, so we press 2
Back to the plan menu main menu, let's have a look at the current plans, with -2
The current menu planned is:

entree:          Not planned yet.
soup:            Not planned yet.
main_dish:       Not planned yet.
dessert:         christmas cookies
If you plan the other dishes, the selected recipes for those will appear, too.

Cook meal

As we only planned the dessert so far, that's all we can prepare:

You now have the following options:
- plan [d]essert:      christmas cookies
If you have all the ingredients needed, you're done cooking. That's the current limit of the cooking implementation. :)

Save game

To save a game, just enter the name of a savegame (without spaces).

what should this savegame be called?
Saved game will be stored in data/save/foo*.xml
Ok? (y/n). q to cancel saving.
Saved game foo
And you're all set.

Load game

To load a game, just enter the name of a savegame (that you already saved)

What is the name of the savegame?
You want to load the game 'foo'. Correct? (y/n) q to abort
Savegame foo loaded
There you go.

Start the feast

Not yet implemented.