Building a crafting system

Recently I’m working mostly on the visual novel Heileen 3 but in reality, I always work on 2-3 projects at once. I’ve been thinking about a crafting system, since 3 of my upcoming games (and maybe more!) could use it.

For sure, the simulation game Amber Magic Shop since it’s based to potion making (and maybe will extend that to also items enchanting and some other stuff). But also the RPGs Planet Stronghold 2 and Loren 2 could use a crafting system! And maybe, even Spirited Heart 2 😉

So I’ve been thinking how to do it properly, how to design a Universal Crafting System! (ta-daa!) My main sources of inspiration were Everquest 2, Atelier series, and some general consensus on how the crafting works in general in RPGs 😉

The ingredients

First of all, we need “ingredients” to craft stuff. That’s obvious. Each ingredient is an item. It can be woods, peppermint, quartz, an used power cell, a dead rat, anything! Since the goal is to build a universal crafting system that can be used on any kind of setting (sci-fi, fantasy, modern).

Ingredients will have a quality: they can be common, rare, unique. I’m thinking to use Diablo/Torchlight coloring so the items are immediately recognizable based on their uniqueness.

They also have a Condition value expresse in percentage: when you fail a recipe, I thought would be bad to destroy the ingredients! so maybe, dependings on various variables/difficulty setting, the Condition value could deteriorate a bit (or a lot). Some items, like the unique items, could be immune to deterioration.

The skills

To craft, we need specific skills. There could be a game with a very simple crafting system in which you only need only one skill: Crafting. Then, the various recipes would have only a minimum Crafting value requirement (see below).

However, variety would be more interesting. In fantasy RPGs, is common to have several skills associated with crafting: a mage could have high Alchemy skill, being able to create healing/mana potions. Rangers or elves could be skilled in Fletching, the art of crafting arrows and bows. Dwarves might have a high Blacksmithing skill so they could forge impenetrable armors.

You got the idea. Each skill could be represented by a numeric value, and on each successfully crafted item the value could increase. Or we could extend it even further, allowing “level ups”. You start with Alchemy at level 1 and the equivalent of an XP bar that fills up as you craft new items, until you get to level2 and you have access to new recipes.

In very specific games, like Amber that focus only on Alchemy, we might divide “Alchemy” in several subskills like “Potion Making”, “Item Enchanting”, “Herb Knowledge” and so on.

The recipes

Then, we need to know HOW to use the ingredients! The recipes are divided too in common, rare, unique (might increase the number depending on games, adding maybe “uncommon” too). Player might learn new recipes through random experimentation with the various ingredients and processes, so “ready-made” recipes could be very valuable since they list the exact amount of ingredients and the right procedure to make them. So for high level items, recipes might be worth a fortune!

Each recipe would list the ingredients needed, the amount, and skills required (see above). There could be recipes for Alchemy level 1, which everyone could attempt to do, or level 9, that would be inacessible except for the most skilled Alchemists.

The required skills might even be more than one, for example in Amber we might have a recipe to enchant a medallion that requires Item Enchanting level 3 and Potion Making level 2.

Each recipe should have several statistics, depending how deep the game crafting needs to be. There could be time needed (so you could make only a specific amount every day/turn), success chances (auto-calculated based on the difficulty and player skills) and quantity produced. Some recipes might produce just 1, super item, while other might result in 10 medium healing potions.

The process

This varies on item by item basis, and also how deep you want your crafting to be. In general there will be at leas one step, but there can be also several steps and each one will contribute differently to the end result.

For example, I got an interesting design doc several months ago by a twitter follower (Ariel Hofland) for Amber potion making. Quoting his email:

Players can use a [mortar & pestle] in order to grind down solid ingredients to powder.

Players now have 2 forms of ingredients: Powders and Liquids.

These ingredients have (hidden) properties, which can be discovered in 2 ways: Experimentation or intelligence/learning. The last way can be implemented in multiple ways. You could have wise men in the wider world (found by adventuring of some kind) which can teach you about certain ingredients and potions for a fee. Alternatively (or in addition), an high enough intelligence could be good enough to discover certain properties anyway (If it smells like sulfur, and it tastes like sulfur, you may not want to burn it)

Next step: the [Cauldron]. Players can decide how hot the cauldron and it’s contents should be. When you start, it’s filled with water. While making the potion, players should keep an eye on the water temperature, and add fuel/use bellows to increase it. (This also means the easiest potions work with cold water)

Players can put any ingredients in the cauldron. Dependent on all the properties (Including the hidden ones) – different things may happen. Similar properties will strengthen the effect, while opposite properties neutralize. Overdoing a certain effect (or at least doing this without proper knowledge) will result in failure. Each property has a basic element assigned to it. For example, combining a lot of Fire-type ingredients could lead up to a conflagration or explosion.

This would work perfectly on a turn-based crafting system. We could have some more difficult one by having a semi-realtime crafting, using “counter effect”. This idea is taken from Everquest2.

For example, you start crafting a food item. Then you see a message on screen with the event/problem: “Spice Up” (you need to put more pepper on that soup!) and you need to click the corresponding icon quickly. The result, based on your quickness could be: Minor Flavor Loss, Flavor Loss, Major Flavor Loss, influencing the final Quality result of the produced item (food in this case).

As you can see there are really lots of options. For Amber I’m thinking to use the suggested turn-based approach, while I might try the semi-realtime for Spirited Heart 2.

The final result

Once you finish the crafting process, you’ll have different outcomes. Again, this changes based on each game, but in general I’d say that we can have 3 possible outcomes:

  • good item: success. The item is more or less good (depending on various statistics). A healing skill might not be of top quality so only heal 80% of the supposed max listed in the recipe, but is still a nice healing potion!
  • average item: half success. The item might have counter effects. For example, it might be a healing potions that heals for 50hp, but also slows you down by 25% of your speed for 3 turns. You might still sell/use it, but it’s not ideal…
  • failure! what a delusion! the item might explode completely, or you could end up with some funny (useless) item: a healing potion that poison you for 100hp damage 😀

In case of success: The final quality of the item produced will be influenced by the ingredients level, the skills required level, and (if present) in the player skill during the crafting minigame. There might be also a bit of randomness because like in real life, there are several things outside our control that influence what we do. Obviously, the ingredients will disappear since we successfully crafted the item.

In case of failure: depending how bastard we want to be towards the player (lol) we could destroy the ingredient items completely, or reduce their “Condition”, so they can try again until the items are completely destroyed.


That’s it! I hope you found the reading interesting. By the way, if you have any suggestion on how to improve the crafting idea I wrote, I’m all ears!

7 thoughts on “Building a crafting system

  1. Rincewind

    Hi! So long since I posted here.

    Im my humble opinion, the thing with the interactive crafting is that must be fun, or at least not irritating, and quick. Because you gonna end doing it a lot of times. Must not become a chore.

    PD: Spirited Heart 2… If its comes with more GxG options… *squeee* I loved the romance in the first one.

    1. admin Post author

      Yes probably will even make it optional (if you do it you get higher quality items, but you can skip it and still get decent items).
      I don’t think Spirited Heart 2 will come with GxG since artist has yet to finish the boy images… is taking really a LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG time, so don’t have much hopes even if I wanted to!

  2. Pingback: Dev Links: Red Woods | DIYGamer

  3. Troyen

    It’s tricky to balance the “not required” vs “worth the effort it took” of crafting systems.

    If the crafted items aren’t useful or too inferior to stuff you can find normally in the world, then aside from experimenting with the system, why bother crafting? If the items are too powerful and the game is balanced assuming players will use them, then a player’s story progress can hit a brick wall while they have to stop and go material hunting to craft something. As some examples, the effort to craft a high-level item in Diablo 3 isn’t really worth it because A. you have to find the plans which are a rare drop, B. you have to find the materials which (for brimstone) can be even harder to get, so by the time you’re finally ready to craft your (random stats) item, you’ve likely found a number of upgrades that are better than what you would have crafted anyway. On the other hand, some of the Final Fantasy games and older WoW gameplay swung the opposite direction and made crafting too good, so if you wanted to progress through the interesting story, you had to first stop and grind out a bunch of mats for a few hours by repetitively farming less interesting areas.

    A related mistake some games have made is making the materials for crafting come from an area of the game that if you reach, you no longer need the item you were going to craft in the first place.

    It might be easier to pull it off by only crafting items rather than allowing crafting of equipment. That way you don’t have to worry about “is the crafting sword worth the effort, or will someone have already gotten the better quest sword by the time they find all of the rare magical mushrooms needed to build the hilt.” Alchemy is a good example, potions in your games are generally optional – you can compensate for not having a potion for a fight by altering your tactics. Maybe even crafting items that can serve a use both in combat and outside of combat – like how the grenades in PS could be used on some skill tests and help on certain enemies. Or perhaps crafting something opens up an optional storyline or dialogue with a side character.

    I dunno how well negative randomness works with crafting. I mean, if I spend an hour trying to get the rare components for a recipe only to have it fizzle, I’m not sure I’d try again (or I might just reload from a save, defeating the point of a random outcome). Random positive/neutral effects might be fine though.

    Anyway, I didn’t mean to write so much. There’s a lot that can be done right with crafting, but also a lot that can backfire or lead to unintended frustration.

    1. admin Post author

      Well I’m quite sure that once I get to implement it, I’ll see (also through public testing) potential problems I didn’t think of.
      I’d say that is possible to have “pseudo-random” outcomes. For example, if the randomness depends on certain variables, even if you reload, if the variables are the same you’ll get the same result. Now you could say that is not random, but in reality it still is, indeed if you tried again you could get another outcome. It’s just that doesn’t change if you reload, making pointless the load/save trick. I definitely don’t want to force the player to do that, it would be a game design defeat 😀
      Will see what I can do, there are plenty of solution like that the precious rare ingredient doesn’t get destroyed even if you fail. So you lose only some money and other secondary ingredients, but you can just try again without the need to reload!

  4. snowy


    … Wait… *re-reads*
    Atelier based?!

    Either way I love the idea with the little events 😉 Be sure to randomize the buttons ;P

    Also I think it would be fun if you could ‘accidentally’ make a different item.
    Like if you make a complete failure you could create a damage item instead of a healing item ;9

    *swoons an is happily dreaming of alchemy RPG/romance thingy*

    1. admin Post author

      Yes that is the idea 🙂 I’m quite excited about this game myself too, I hope to finish it next year, though I have no clue right now 😀


Leave a Reply

Your email address will not be published. Required fields are marked *