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
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.
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.
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.
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!