When I first started making Engineer Alpha (then known as "Voxel Factory") The very first thing I did was try to create the inventory system. Now I knew the basics of computer programming from school when I started but I still needed a lot of help to get started. So like any reasonable person who lives in the 2020s I went to YouTube and found a tutorial that was close to what I knew I wanted and followed along. I am not going to lie the first few videos were a bit of a stumble and not a lot of understanding what I was actually doing. But by the end I had something workable that even had some improvements over the tutorial.
I started with the inventory because this would be the foundation that virtually every other game system would be built on. This first inventory system was workable and functioned in all the ways I needed it to but I knew that eventually it would need an upgrade.
Inventory 2.0 aims to keep all the same functionality as the original while improving the speed of inventory transfers as much as possible and removing any unnecessary bits that were still left over. There are also some other backend changes like Item durability is now stored as a floating point instead of an integer. Integers worked fine when the only thing that has durability is tools with swing damage, but I want the option to make Items that work in different ways when you use then. Additionally there is now an option for when an Item hits 0 durability whether it is destroyed or not, it will still be unusable but there could be a way to give it durability back.
Finally with this I have added the ability for your character to wear Items that affect their stats; so yes equipment/armor is coming, but more on that later.
If all goes well you shouldn't even be able to notice a change at all when you are playing.
