&
Advertise Here with Today.com
 

Aug 14 2008

Raiding the Pantry

Published by milawe at 11:02 pm under Game Design Edit This

Quantifying any day-to-day activity into game mechanics is an extremely difficult endeavor. Simple actions that we take for granted can create a coding nightmare. For example, most of us probably take making change for granted. We use increasingly smaller denominations of coin to make exact change. This is something most of us learn in grade school. How do you write code to make change, though, assuming that you have differentiated currency? Think about that for a bit. You would first start by simplifying the currency. Most games go with a coin system that is a factor of 10 in some way. Either 100 of a type of coin creates the next type or 1000 of one coin creates the next type. Then, to make change, it’s simply a matter of division and subtraction.

Pokka Egg from Primordiax. Copyright Frogdice, Inc.Now take something much more complicated than making change like cooking. In one simple stir fry, I may use up to 10 ingredients and 3-4 utensils without thinking twice about it. I cut, cube, stir, toss, season and taste before I’m done with one dish, and I may cook 3-4 dishes a meal. Of course, give my husband the same ingredients, tools, and time, and he’d probably produce a charred lump of something inedible. In a roleplaying game, the goal is to make the process believable but not cumbersome, fun and yet challenging. How do you streamline something as difficult as cooking?

1) You create a progression. How can a player improve in cooking? How do you quantify it so that one player can be better than another in cooking? It’s quite easy to look to real life “levels” when planning the progression. A world class chef is better than the average Applebees chef who can probably cook better than the average school cafeteria chef who probably knows more about cooking than the average computer geek who spends 10 hours a day raiding.

2) You create “gear” for the craft that plays into the progression. A chef’s hat, a chef’s apron, a filet knife, and a butcher knife can all be believable and excellent gear for a crafter.

3) You allow for a lot of creation. Crafters should be able to create tons of objects, and combat should allow for many, many types of victories.

4) You limit the process. Simplify the system. Requiring 10 different resources to make one dish is a management nightmare for the players no matter how realistic it may be.

Yes, these are very general guidelines, but they are important for any game developer. How one goes about meeting these guidelines is what makes each game unique. Even between our two games, we have major differences in how we achieve those four goals, but we strive to utilize those guidelines in order to create a fun yet believable systems.

Sometimes, though, we simply go for the fun and chuck reality out the door. I can’t remember where I first read this, but it’s one of the best quotes I’ve ever run across in game design: “If I wanted realism, I know a game called ‘real life’ and the graphics are freaking awesome.”

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
Possibly-related Articles:                                        (auto-generated)
Advertise Here with Today.com

7 Responses to “Raiding the Pantry”

  1. Peteron 15 Aug 2008 at 10:01 am edit this

    Thanks for the insight on the thoughts that has gone into your creative thoughts on the cooking process. I read the above and got an idea for an open ended system.

    To start with I was trying to figure out if a total open ended system would have any chance of working but it ended up having so much factors that it seems close to impossible. But maybe some half open system could be possible so you could have your basic recipes but still leave room for creativity.

    Bread:
    Flour from corn, wheat…
    Water
    Oven
    But you could add egg, salt, seeds, spices, vegetables, fruit or other things and make your own personal bread.

    Stew:
    Meat one or more types
    Vegetables two types or more
    Spices if you want to personalize

    This system would give people the ability to be creative and still make sure you don’t get too strange food creations.

    The restoring ability of the food and the skill gain would have to be a fixed result of the resources and the cooking process so the creativity won’t be fighting against peoples wishes to optimize their leveling speed.
    Maybe the skill gain should be higher when you work with new things to avoid that people try to level their cooking only by cooking different types of eggs.

  2. Peteron 16 Aug 2008 at 3:44 am edit this

    I was thinking it implementet something like this.

    >Craft bread

    You want to craft bread. What do you want to mix it in?

    >Use Cheramic Bowl

    You take the cheramic bowl and put it on the table.
    What do you want to use for flour?

    >Add Wheat Flour

    You add the Flour to the Cheramic Bowl.
    What fluid do you want to use?

    >Add Salt

    Salt is not a valid fluid.
    What fluid do you want to use?

    >Add Milk

    You add milk to the mixture.
    You can now either or add more to the mixture.

    >Add Sunflower Seeds

    You add Sunflower Seeds to the mixture.
    You can now either or add more to the mixture.

    >Add Salt

    You add a pinch of Salt to the mixture.
    You can now either or add more to the mixture.

    >Stir

    You start stiring the content in the bowl.

    – The ingrediences are starting to mix well together –

    ** The dough is now fine to start baking **

    You can now either or first.

    >put dough in oven

    You put the dough in the oven. To make sure you don’t burn the bread you will have to

    >Watch bread

    The dough is still soft on the surface and far from ready.

    >Watch bread

    Slow down. If you stare down the bread like that you will hurt yourself.

    >Watch bread

    The bread now have a soft brown surface and could be taken out, but might benefit for a short while longer.

    >Watch bread

    The bread has a brown surface and is starting to get slightly burned on the surface. You should

    >Take bread from oven

    You remove Bread from oven and put it on the table to cool off.

    >Look bread

    The bread is a mix of Wheat flour and Milk and have Sunflower Seeds and Salt added for flavour.

    I know that the above isn’t code but if the recipies are keept rather strict and having ingrediences being legal for the different spaces in the recipy then it will surely still leave it complicated and with a heavy database but it should be possible to code without too much hassle. I can try to write up some database structure later on if it has any interest, but I am sure you can manage that part on your own. I am also aware of the fact that I can think of this as a secluded piece of code but you will have to fit it in with the rest of the game which might might be impossible. Honestly I also know from experience that I am not deep enough in the thought process to be even close to being sure that this is possible.

    I would have the logic something like this…

    >Use Milk

    Moisture ingrediences would be registered either by a bool on all ingrediences or having a IngredienceTableMoisture with all the ID’s of the ingrediences that are legal as moisture.

    You would then look up Milk and figure out if it was a legal ingredience.

    The end product would have a table something like this.

    FoodType: Bread
    Ingredience1: IngredienceID 450 (WheatFlour)
    Ingredience2: IngredienceID 122 (Milk)
    Ingredience3: IngredienceID 1092 (Sunflower seeds)
    Ingredience4: IngredienceID 17 (salt)
    Ingredience5:
    Ingredience6:
    Ingredience7:
    Ingredience8:
    Ingredience9:
    Ingredience10:
    CookDegree: 112 (100 is if you hit it spot on. 112 is a bit too long)
    Healing value: 45

    The food type would take care of what you could add and how the description is handled when you look at it.

    I know there are probably a million issues I have missed but I love trying to think up some useful ideas for stuff like this.

  3. Peteron 16 Aug 2008 at 3:50 am edit this

    Ups… can see that I used smaller/larger than as brackets and these have been removed including content… I sadly don’t have the time to mention them all right now but all those brackets were mentioning the possible commands you could use.

    Ex.
    You can now either STIR or…

  4. kalileaon 16 Aug 2008 at 5:16 am edit this

    It’s interesting that one of the things that came to mind when I was reading your post, Milawe, was the similarities between breaking down these tasks into some type of logic that can be used for coding and finding new ways of teaching special-needs children. It would be remarkable if some of the work you have done in developing your crafting systems could somehow be transformed into an educational tool.

  5. milaweon 16 Aug 2008 at 10:00 pm edit this

    I’m definitely a fan of more complicated crafting systems. I don’t like the whole system of just gathering/buying resources and then clicking one button to craft. That’s just boring! At the same time, overly complex systems can be a gigantic pain. I remember one game where I had over 30 resource items for one type of craft in one tier. So, if I was still crafting in Tier 1 and crossing over to Tier 2, I could be working with 60 resource items in a limited inventory space in addition to having the fuel requirements for my craft. That was just too much!

  6. Peteron 18 Aug 2008 at 4:05 am edit this

    Any chance that game was Everquest II? They actually tried to make the crafting system a bit more entertaining with trying to build in a system that demanded a small bit of skill instead of just having a bar that stole 30 seconds of your life. But honestly they had rather low success on making it much more fun than watching the bar.
    .
    I agree that the complexity and the ability to make unique creations is rather unimportant when comparing with making the process fun, challenging and minimize tiresome aspects like having to own a million different components just to get by.
    .
    If you could have a shelf or belt for spices and a storage room where your raw food could be held then you could probably slowly add a few more components through the learning process.
    .
    Starting with a pan to frie the egg.
    Then needing a pot and water to frie the egg.
    The needing a bowl to stir the egg, some salt to add flavor and use the pan to make scrambled egg.
    Later on you will be adding maybe pieces of meat or vegetables.
    .
    My point is that if your resources aren’t going bad in your storage room or are only usable for skill 1-100 then I would guess that you can slowly add new ingrediences without the system getting a chaotic feel. And if you get a bag of salt you will have salt for a very long time cooking.

Trackback URI | Comments RSS

Leave a Reply

Advertise Here