One of the core pillars of Ember is an interactive world. We want the player to be able to manipulate the many objects they find in a realistic and meaningful way. That means moving items around, looting them, using them (if they have a use), and combining them with other items to craft new things.
Our original crafting design was very “loose”. The artists and designers would just make a bunch of items, sprinkle them all over the world, then script in combinations that made sense. For example, if the player kills a deer, gets its meat, combines the meat with a campfire, it should become some sort of cooked food. This was fun at first - as people play tested the game they would give us suggestions on item combinations they thought up. You should be able to use a bucket in a well to get water! Use a carrot on a campfire! Combine bread and cheese to craft cheesy bread! And so on and so on. It soon became impossible to keep up with everyone’s suggestions, and worse, impossible to balance. If a player eats a single cooked carrot, what should it do? Would it restore less or more hit points than eating a raw carrot? Is cheesey bread a high level item? We were overloaded with ideas and not enough time to make them all work.
Rather than reign in everyone’s creativity we instead organized crafting into several categories that we could fit any crafting action into. The crafting categories ended up being: cooking, alchemy, blacksmithing, woodworking, leatherworking and sewing. Within those categories we set power levels for the resulting crafted item based on the rarity or cost of the ingredients. This allowed us to look at all the items the player can obtain in the game and make recipes out of them that resulted in an item that could be balanced against other similar crafted items. If someone came up with a new item combination that we wanted to add to the game we just figured out what category it belongs in, what power level the resulting item should be, and scripted it in using our world editor.
Crafted equipment deserves a closer look. It still follows the same rules as anything else, a sword is considered blacksmithing and its resulting power level depends on the ingredients used to craft it. But we had to carefully balance several aspects of equipment crafting to ensure the player wasn’t able to make their party incredibly powerful too early, or unbalance the economy by crafting and selling many high-value weapons and armor pieces. The first thing we did was make some gear crafting components only available in certain areas of the world. MMOs often use a similar system: you can’t get the rare ore to craft high level armor until you can survive in the high level areas long enough to mine it. The other aspect to crafted equipment balancing was limiting how many ingredients are available to the player. In most games when you mine an ore node or pick a flower, the node will magically reappear after a certain amount of time. We decided to not respawn crafting resources in Ember because the gold economy is balanced assuming the player doesn’t have infinite gold. Some vendors sell very high-priced items that would be trivial to obtain if the player could just craft infinite swords and sell them all!
We also didn’t want to restrict players’ creativity by requiring recipes in order to craft. While there are recipes in the game to find or buy, they aren’t required to craft, we want to encourage experimentation. If you find some raw meat and put it on a fire, you’ll get what you expect (bland tasteless food!). Observant players may even figure out the patterns in the system and be able to craft powerful items long before they find the recipe in-world.
I think we achieved our goals of making almost every item in the world have purpose and act in a realistic way. Whether it be baking bread, brewing potions, or crafting equipment, the world is full of things to craft and craft with.