The crafting & gathering systems were developed during
a 8 week period in Unreal Engine 4 as part of my degree project.
Aside from the two major systems, smaller sub systems were developed to work
alongside the major systems, these include a interaction system and a inventory system.
I developed these systems because of my interest in MMORPG games. Therefore I made my goal to
make these systems in theory scaled up or down depending on the game.
The interaction system is component based, this is very important because this allows the component to be
attached to any type of object, you can use this component together with a quest system to allow the player to speak to
a npc to get a quest. This component can also be attached to gathering nodes which I have done to make a gathering system that
allow the player to gather resources.
At first I made the inventory system a part of the character, because at first I thought only the player would have
a inventory. Now this is very bad and should be avoided which I did later during the development. Now the inventory system
is component based, this makes it easier to attach to the player and attach to any type of object like a npc which you can interact with
to access your bank storage or loot a dead monster.