Introduction
When a game needs you to create more powerful items, it is common for them to have you find the materials required to craft it. Crafting is a mechanic that every game does differently and there are a lot of good examples out there. When most people think of "crafting", they might think of Minecraft's implementation, but that won't work for every game.
What is crafting?
Crafting is a mechanic that the player can use to help progress the story. Crafting is a mechanic that cannot stand on its own. The game loop for crafting is: external - internal - external. Crafting starts with an external mechanic, like exploration and collecting resources. Then, the player uses those resources to interact with an internal mechanic, like brewing a potion. Finally, the player uses that craftable item in an external mechanic, like throwing a poison potion at an enemy.
In some games, crafting feels just like another shop. A lot of games use a very similar process for crafting as a shop, where you have your "currency" and you tap a button, and you "purchase" an item. For a crafting system to be good, it needs to feel special, like you are making a difference. The point of crafting isn't to inconvenience the player - it is to give the player a choice. The player needs to be able to make a decision to further the game in their style.
Examples of Different Implementations
Minecraft
Minecraft is a game, in which, the entire purpose is to collect items and craft items - hence the name MINE and CRAFT. Minecraft has combat, bosses, farming, biomes, and many other mechanics; but the goal is to do something to get an item, to craft it, or turn it, into a different item.
Minecraft's crafting mechanic is fairly complex compared to other games, which was made easier in newer versions. The basic idea is that you start off with a 2x2 crafting grid, which allows you to play 1-4 items in it, in a specific arrangement. At a certain point, the player can create a specific item, called a Crafting Bench, to give them a 3x3 crafting grid, however, they have to go to the location of one of the crafting benches to access it.
Minecraft has a similar mechanic for different types of crafting. They have a "furnace" which can cook/smelt items, for example, 1 piece of coal can cook 8 pieces of raw beef to make 8 pieces of cooked beef. Then there is the brewing stand, blast furnace, smoker, and many other workstations that can convert one item into another. Each interactable utility block in Minecraft is used differently, has its own purpose or ruleset, and is required for advancement throughout the game; but it is just using the same crafting mechanic in different ways to build out the world.
In later updates, Minecraft added a submenu to the crafting UI that allows you to search up what you are able to craft and it will auto-populate the crafting bench in the proper order. Some of the community thought this change was needed because the list of craftable items continues to grow and some of the recipes and steps gets fairly complex. The crafting grid is still there, so the members of the community who don't like the change can still use the "old" mechanic.
Potion Craft: Alchemist Simulator
Potion Craft: Alchemist Simulator is a game that is almost entirely crafting. This game's primary mechanic is crafting different potions to sell. There are different "Picture" scenes you can go to and collect items, people to talk to, and a shop to buy stuff; however the main scene has a couple different tools, like a mortar and pestle and a cauldron. The crafting is very involved, you have to drag a raw material into the mortar and then you grab the pestle and actually grind the material. The cauldron is similar where you have to grab the ladle and physically move it back and forth to stir it.
Far Cry: Primal
In Far Cry: Primal, crafting is simple. As you progress through the story and unlock different buildings and NPCs, you unlock more crafting recipes. You need to gather materials around the environment. Most crafting recipes require three different items and when you have the materials necessary, you hold the craft button for a few seconds. The player doesn't need to remember anything or do anything other than just gather the material and have the recipe unlocked.
Design Considerations
What makes a crafting mechanic good?
Every game will implement crafting in a different way. For crafting to be good, it needs to be designed specifically for the game it is in. A lot of games make their crafting feel like a shop interaction or just clicking through menus, because someone, somewhere, decided that "players like crafting" and "our game needs crafting", but that takes out the joy in the system.
Not every game needs crafting. There are games that if you took out their crafting mechanic, players wouldn't notice. A big problem in open-world RPGs is that players might spend hours looking for a specific resource and by the time they get back to the crafting table, they have found a better item. In Ghosts of Tsushima, crafting doesn't require any decision-making. Wood upgrades the bow, metal upgrades the swords, etc. You collect everything and once you can upgrade something, you do.
The Last of Us 2 does a better job of making crafting feel important. They limit the resources the player can carry AND they make you choose what the player wants to craft. For example, rags can be used to make med kits or Molotovs, choosing between offense or defense. Most good implementations of crafting make the mechanic seem important. You want the player to be able to choose what to craft, you want it to mean something, and you don't want it to be a grinding mechanic.
In Skyrim, most players sit there and craft thousands of iron daggers. To be able to craft better equipment you need to level up your crafting skill. Progressing through the game you always get better equipment from shops and loot than what you can craft, up to a certain point, and at that point, players will spend hours upon hours just crafting iron daggers to get "caught up". Crafting in Skyrim is a lot of grinding with no gain for however many hours it takes to collect thousands of daggers worth of supplies and to craft the daggers (not to mention the carry limit) - leaving the whole mechanic less than ideal.
What Skyrim does right is that crafting takes time. When players can pause the game in the middle of a fight, craft a few med kits, heal themselves, and continue the fight; it's just a menu interaction and that takes away from the combat mechanic.
* REVISE *What kind of crafting system do I need?
That depends on the main mechanic of your game. If your game relies heavily on crafting, your crafting mechanic should be more involved. Games with more detailed crafting mechanics usually require multiple items to be gathered, multiple stages to their crafting process, a cooldown or crafting time of a few seconds, or maybe require crafting items to be placed in specific spots or orders.
If you want a more detailed crafting mechanic, you should look at how many materials you have in your game and how complex you want your crafting recipes. You should assume that the player may want to memorize everything, not everyone enjoys consistently looking up crafting recipes. If your recipes have a lot of items or take a lot of steps, you should incorporate something in the game to assist the player with crafting. If you have a few items or the items are fairly common, you can make the crafting more complex by introducing different machines or requiring the items to be placed in a specific order.
Is crafting a secondary mechanic in your game? Then you don't want to overcomplicate it. You're target audience probably didn't choose your game because of the crafting. In this case, you want crafting to be a bit minimal and enhance the immersion instead of taking up a lot of the player's time. In this case, you may want to have a crafting menu that lists the items needed and just a button to click. If the items are easy to get, you can increase the time it takes to craft and if the items are hard to get, you can make crafting more instant.
Overall, it is up to you on how you want to implement the mechanic but keep in mind the purpose of your game. The target audience of an action-packed combat game probably wont enjoy sitting in a menu for hours just crafting items. An idea might be to lock certain recipes behind a player level, until a point in the story, or even make the materials more difficult to obtain and make crafting instantaneous
A game focused on exploration would do better with a more time-based approach. In this type of game you can set up different machines and they might each take some time. Does your player want to upgrade to the next level of grappling hook? You can make the materials more common, but the machine that melts the metal might take 10 minutes. Another option is to make the materials more difficult to get, but require the player to go back to their base, put the materials into a machine, and show a 15-second crafting animation. You can make the player travel to different regions in search of some of the more rare materials.
How can I change the crafting difficulty
What should I avoid within a crafting mechanic
Sources
Games referenced
Videos
https://www.youtube.com/watch?v=Nj7EaryBgak
https://www.youtube.com/watch?v=np9IGvSAgIM