First I want to present you very briefly who I’m so you can imagine how far you can go with your explanations.
I’m a 23 years old guy working as IT Analyst/Developer on .Net & Cobol languages (yeah the code that is older than your grandparents haha !).
In a personal way, I’m used to code in java and selling few development services over internet for private server emulators since 10 years.
Since few weeks, I’m writing all my ideas, thinking about how to make my mechanics and have a solid ground to develop my own game.
Currently, I’m spending lot of time searching how to design my item system to make it robust, expendable and easy access to non-developer.
I want to make it in a way that everybody without knowledge can easily add new items to the whole project by putting all parameters into the UE Editor.
I don’t feel happy with the way I planned it and I ask myself if it’s really the right way to go.
From my point of view, to be efficient, I need a parent “ItemClass” that will manage all generic functions/variables and which is inheriting from UE “Actor” Class.
For me with this way, I will only have 1 instanced object to manage the item with “on ground” state (spawned by game/dropped by player and so pickable) and his “usable/in-inventory” state (item is picked by player and is usable if consummable, fireable if weapon and equipped).
Here it’s how I have designed my Item System Class:
Class DefaultItem : heriting from UE Actor class Variables: Item Name Item Type (Consumable/Weapon...) Item Description Icon Ingame model (on ground/character) ... Functions: Dropped Picked ...
Class ConsumableItem : DefaultItem Variables: Effect Effect Duration Use Animation Use Sound ...
Class WeaponItem : DefaultItem Variables: Slot Type Weapon Type Fire Sound ...
1°) Is it the good way to design my item system ?
2°) How do I have to proceed if I want to create/store all available items of the project and make them accessible ?
2.1°) Like creating all items blueprint and have a way to store/have access all created blueprints of any type ?
Example: in future with my “Entity Spawn System”, I want Designer to have access to the full list of items sorted by type to put “Spawner” on the scene which will spawn the selected item depending on parameterable chance/amount etc…
I’m open to any suggestions, tips or comments that could help me to improve my knowledge.
In addition, I’m looking for someone with UE C++ coding knowledge that is willing to be a sort of mentor and able to answer my technical questions in more easier & faster way. I’m really interested in increasing my UE C++ developing skill as fast as possible.
Thank you everyone for taking time to read and/or answer me.