Hello Everyone,
I would like to announce that Opsive has put me in charge of making a stand-alone Inventory System asset. The goal is to have a seamless integration between this inventory asset and character controller assets that are part of the Opsive family.
This is a stand-alone asset, which means it will be usable on its own and will compete with the other inventory solutions on the asset store. I believe that our solution will offer features that are currently not offered by the current assets on the asset store.
I will personally use this asset for my own game, which will be focused on gathering, crafting and upgrading items, so be assured that this asset will be tested in real-world scenarios and not just in a demo.
To make sure this is the best, most flexible, scalable and modular Inventory system I need your feedback and comments on the design we came up with. I need as many people as possible to tell me what they want, what they need, what their concerns are, etc… If you have concrete examples of what you want to achieve, that’s even better. Also, tell me if the name of the components makes sense to you.
With that out of the way please let me introduce the Inventory System plan:
Inventory System
The Inventory system is an asset made by Opsive that will help developers create their own inventory system for their game. Inventories can vastly change from one game to another. We do not plan on creating all possible inventory systems, instead, we give a powerful modular and scalable framework that can enable anyone to make a complex inventory system in no time.
Key information
Our goal:
Make an inventory framework that is modular and scalable. We are aiming at enabling our customers to create all types of inventories with ease. The asset should be usable by non-programmers to create standard inventories you find in popular games. But the true value comes from being able to extend the framework to create your very own unique inventory system.
I believe the best way to achieve this goal is to create a framework and from this framework create a few mini-game demos and inventory UI templates of popular game genre. This will ensure that the framework is flexible, modular and scalable. I truly believe that the only way to know that a tool is good is by using it in multiple real-world scenarios. I am thinking something similar to how Unity deals with the scriptable render pipeline having both HDRP and LWRP.
Target audience :
Non-programmers for people who just want to use our templates. Experienced programmers and beginner programmers who are dedicated to reading our documentation and follow our tutorials to extend a template or write their own from scratch using the inventory system framework.
Unity Version :
The latest stable release. Unity 2017.4 should be the minimum version required by this inventory system.
Our Core (subject to change):
This architecture enables us to have the following features:
We will offer a few templates with the general data used on items for people who need a standard inventory. For the others, they can make their very own inventory by using the core framework. Only need to write the Item, ItemDefinition, and ItemAction extensions and you're good to go. Example: ConsumableItem, ConsumableItemDefinition, ConsumeItem, could be used for your potions, food, and consumables.
Other Main features (subject to change) :
FAQ
So why are we making our own Inventory System?
Simply because I personally tried to use a few inventory solutions on the asset store and none of them were flexible enough for the game I am making. The current inventory system for the Character Controllers is also quite limiting. To make the seamless integration with the Inventory System it will need some refactoring. This will also help the Character Controllers to be integrated more easily with third-party Inventory assets, which you might already own.
Why am I making this asset instead of Justin?
I am working with Justin to make this asset. He simply does not have enough time to work on the Inventory system, but a lot of people (including me) were asking for a more flexible inventory system from Opsive. Although I am the one to do the actual implementation, we came up with the structure together and we bounce of ideas from one another. He also makes sure that the solution has the same quality and format as the rest of the Opsive family.
How long until the asset is released?
Well, we haven’t really started the actual implementation yet. And take into account that I am working on this asset part-time, while I work on my other jobs and on my game. You can expect this to take a few months if not a year. It is hard to tell until we lock down what features will be included in the first release.
I would like to announce that Opsive has put me in charge of making a stand-alone Inventory System asset. The goal is to have a seamless integration between this inventory asset and character controller assets that are part of the Opsive family.
This is a stand-alone asset, which means it will be usable on its own and will compete with the other inventory solutions on the asset store. I believe that our solution will offer features that are currently not offered by the current assets on the asset store.
I will personally use this asset for my own game, which will be focused on gathering, crafting and upgrading items, so be assured that this asset will be tested in real-world scenarios and not just in a demo.
To make sure this is the best, most flexible, scalable and modular Inventory system I need your feedback and comments on the design we came up with. I need as many people as possible to tell me what they want, what they need, what their concerns are, etc… If you have concrete examples of what you want to achieve, that’s even better. Also, tell me if the name of the components makes sense to you.
With that out of the way please let me introduce the Inventory System plan:
Inventory System
The Inventory system is an asset made by Opsive that will help developers create their own inventory system for their game. Inventories can vastly change from one game to another. We do not plan on creating all possible inventory systems, instead, we give a powerful modular and scalable framework that can enable anyone to make a complex inventory system in no time.
Key information
Our goal:
Make an inventory framework that is modular and scalable. We are aiming at enabling our customers to create all types of inventories with ease. The asset should be usable by non-programmers to create standard inventories you find in popular games. But the true value comes from being able to extend the framework to create your very own unique inventory system.
I believe the best way to achieve this goal is to create a framework and from this framework create a few mini-game demos and inventory UI templates of popular game genre. This will ensure that the framework is flexible, modular and scalable. I truly believe that the only way to know that a tool is good is by using it in multiple real-world scenarios. I am thinking something similar to how Unity deals with the scriptable render pipeline having both HDRP and LWRP.
Target audience :
Non-programmers for people who just want to use our templates. Experienced programmers and beginner programmers who are dedicated to reading our documentation and follow our tutorials to extend a template or write their own from scratch using the inventory system framework.
Unity Version :
The latest stable release. Unity 2017.4 should be the minimum version required by this inventory system.
Our Core (subject to change):
This architecture enables us to have the following features:
- Category:
- Nested Categories
- Multiple Categories per ItemDefinition
- Same actions for all Items in a Category
- Item Definitions part of a Category must have their matching Item subscribe to the ItemAction interface
- ItemDefinition
- Nested ItemDefinitions
- Inherit, override or modify values in the parent item definition
- Item
- Constant data inherited from the ItemDefinition
- Custom data unique to this Item instance
- Enables each Item to be unique and customisable.
- ItemObject
- The Monobehavior that has a reference to an item
- Used when the item needs to be part of the game world
- ItemAction
- Enables item to have any type of actions: Equip, use, consume, drop, etc…
- Actions are defined in the Category and are implemented by each Item type.
We will offer a few templates with the general data used on items for people who need a standard inventory. For the others, they can make their very own inventory by using the core framework. Only need to write the Item, ItemDefinition, and ItemAction extensions and you're good to go. Example: ConsumableItem, ConsumableItemDefinition, ConsumeItem, could be used for your potions, food, and consumables.
Other Main features (subject to change) :
- Inventory system Database Editor window
- Modular UI system (Mouse&Keyboard, Joystick/gamepad and touch support)
- Templates for popular inventory systems and UI
- Shops/Vendors/Buyers
- Crafting system
- Save/Load system (for scene transitions)
- Import/export database
- Multi-language support (simply swap the database before loading the save)
- Event system shared with UCC
- Object Pool shared with UCC
FAQ
So why are we making our own Inventory System?
Simply because I personally tried to use a few inventory solutions on the asset store and none of them were flexible enough for the game I am making. The current inventory system for the Character Controllers is also quite limiting. To make the seamless integration with the Inventory System it will need some refactoring. This will also help the Character Controllers to be integrated more easily with third-party Inventory assets, which you might already own.
Why am I making this asset instead of Justin?
I am working with Justin to make this asset. He simply does not have enough time to work on the Inventory system, but a lot of people (including me) were asking for a more flexible inventory system from Opsive. Although I am the one to do the actual implementation, we came up with the structure together and we bounce of ideas from one another. He also makes sure that the solution has the same quality and format as the rest of the Opsive family.
How long until the asset is released?
Well, we haven’t really started the actual implementation yet. And take into account that I am working on this asset part-time, while I work on my other jobs and on my game. You can expect this to take a few months if not a year. It is hard to tell until we lock down what features will be included in the first release.