Building the Cooking System
Food Beyond Compare, Food Beyond Belief!
Hello and happy new year! Wait, it’s February already?! Well, happy Chinese New Year!

In any case, it’s well past time for another blog post! Last time, I took a look at the design of the thief minigame. This month Innkeep is joining in on Raw Fury’s Global Foodie Faire, so it felt like a good time to take a closer look at the cooking system.
Where to put the Kitchen?
From the beginning of this game’s very long development history, I knew that I wanted to have a kitchen where the player could cook things. The question was where to put it. The initial main play space was taken up by the commonroom, and the connected bedrooms.

The answer seemed to be that we needed to go downwards, having the camera drop, and fading in new floors and walls. Initially I positioned it directly below the bar, but then decided I wanted space for a large stables, and moved it off to the left.

This turned out to be a big mistake, as while the player needs to go in and out of the kitchen a lot, the corner positioning required the camera to move diagonally, which felt uncomfortable when repeated a lot. So at some point I had to bit the bullet, scrap that approach, and position it back in the center.

(A nice clean vertical transition. Ahh.)
Initial Concept
With the kitchen in, the next job was to prototype how cooking would actually work (Note: a better approach would have been to prototype this when the game was in a much earlier state of course! But I digress.) As I’ve talked about elsewhere in these blog posts, part of Innkeep’s design ethos is making things feel tactile. Rather than interacting with the game space via more abstract UI elements like menus or buttons, as much as possible we prioritize having the player actually grabbing and interacting with things. For example, when you want to move a barrel from one place to another, you actually grab it and walk about with it.

When approaching how to design the cooking system, the one thing I knew is that I wanted to keep it in line with this tactile ethos. But in order to see what we are doing, we would need to zoom things in a little. Keep in mind, this was before the thief minigame looked like it does today! Until this point there was nothing in Innkeep that had this kind of “zoomed in” GUI look.
The initial sketch of the system I did while sitting in a pub one day doing some beer related “research”.

(Yes, my handwriting really does look this bad.)
The basic idea was that when interacting with the kitchen table, a “zoomed in” view would appear, where we could interact with things closer up in a similarly tactile fashion. There are a few games which do this kind of tactile crafting now (Potion Craft, for example), but circa 2021 there were fewer, and I hadn’t played any. So I just tried to figure things out from basic principles.
I knew we needed some inputs (ingredients), a place where you break them down via chopping, or combine them with mixing (the work surface, or chopping block), and some kind of output (like a cauldron, or a pie tin). Combining different things in different ways would get you different results, but it was all conveyed in an intuitive way, with minimal abstract iconography.
Prototyping
After sketching out this idea, the next step was a prototype.

In the above GIF you can basically see the core of the system, which centers around making stew. Stew felt like a good choice to build the cooking around, because it is relatively easy for the player to understand, and relatively easy to design. You take ingredients. Chop them if necessary. And put them in the pot (with a little water). Easy! Historically, stews in inns and such places were also something that could be re-cooked endlessly, with more ingredients added as needed. That concept felt very Innkeep-ish to me!

Another way this design leaned into the tactile ethos was in having the player actually move the cauldron between “stations”. For example, in the GIF above, from the cooking table, to the kitchen fireplace. This was one of those design choices that felt right as soon as I tried it.
Some Art and the Cauldron
Once I was happy with the basic direction, I prettied it up a bit with some nicer (but still tempory / unfinished) art.

One of the more in-depth jobs was the cauldron that holds the stew. In keeping with the “surfaces fade away to reveal what is beneath” theme that we see with the bedrooms and the cellar, I wanted the surface of the cauldron to fade away and reveal just how much was inside it. This required making a whole bunch of sprites for different levels of fullness.

(oh my)

(The end result was worth it I think!)
This depleting cauldron was one of the highlights of the serving bench, the third station in the kitchen, and the place where stew is ladled out into bowls.

Finishing the System
After the basics were hammered out to a point that it was suitable for a pitch build, the cooking system languished for a while. Once I shifted to full time development of the game, however, it was one of a number of systems that needed to be properly sorted out as part of “pre-production.”
There were a few steps involved. One was water. A cauldron could hardly be filled with vegetables alone! A water barrel was added to our pantry area (which in turn can be filled with water from a well outside). You can either fill the cauldron at the barrel directly, or bring a bucket of water over to the cauldron in the kitchen.

(The visuals for the pantry elements are all still very temporary!)
Another major step was the inputs. Initially, I pictured the player physically bringing ingredients, one basket at a time, over to the kitchen table, where they would be deposited in the table’s inputs. While this followed the established logic of the game with other, larger items, I later realized this could get very fiddly and annoying for the player. Last year, having come up with an “inventory” solution for our trading screen (more on that another time), I thought it would be a good fit for our kitchen.

This system has the tactile nature of Ultima style GUMPS inventories, but without the chaos those can cause. Each item type has a clearly defined slot (where multiples can be stacked together), but when grabbed, it turns into a discrete drag-and-drop item. I realized after I had designed it that it was very similar to Ultima Underworld’s slot-based inventory! I’m always subconsciously trying to make Ultima it seems.

(Screenshot from the Ultima Codex)
A remaining major question was the quality of food. How would we track this visually, and how would different items impact it?

Here, my approach was to add some “slots” to the cauldron, which can receive ingredients provided they have been filled with water. Each ingredient has a quality rating (half a star, for example, a full star, or more). As we add ingredients, the quality of the stew goes up. Nice and simple! While intuitive, what this system allows for is future layers to be added. For example, having certain synergies between ingredient types giving you a bonus to quality, or certain maluses applied if we do something like fill our cauldron with nothing but a single ingredient (not everybody likes a stew made from rat, rat, rat, rat, and rat!) There’s also different possible ways of handling adding things like herbs or wine.

(Some new sprites for the cooking system, by Ben Chandler (knife not to scale! 🙂 )
There are other possible elements to be added to the cooking system to supplement the stew. However as these are still a work in progress, I’ll avoid talking about them for now!
I hope you’ve enjoyed this peak at the design process for this part of the game. Join me again soon for another dev blog. Consider signing up to our mailing list so that you don’t miss it!
And if you haven’t yet, remember to Wishlist Innkeep on steam. 😉
Previous Post
Very cool! Love the tactile approach to cooking. Can’t wait to see/try it with all the SFX added.