Game Development | The Inventory System That Broke Me

inventorysystem.jpg

As far as progress made since last week it’s been a bunch of failures regarding inventory. Usually, during those kinds of weeks, I just don’t end up posting a weekly update. That however does not give those following along a true picture that there will always be setbacks, roadblocks, and weeks where you would be better off doing something else as you just need to walk away for a while.

In last week’s post I had noted that items were not dropping as “random” as they should be. While under a very small system of items this issue was not caught. Now under my large system of items that is apparent.

For a while now I’ve been working on what I’m calling Inventory System 3.0 on my roadmap. It’s an attempt to unify everything and make it all work smoothly between a lot of things.

It needs to handle or work with:

  • Crafting and recipes
  • NPC shops
  • Player auction house
  • Player personal bank
  • Multiplayer server replicates
  • 500+ items
  • Item effects
  • Dungeon player inventory
  • Monster drops
  • Picking things off the ground
  • Chests
  • Questing rewards, pickups, and other things
  • Consumable items
  • 4 different playable classes related to inventory
  • Inventory expansion options
  • 25 different loot tables
  • 50+ items variables
  • Click and drag
  • Item destroy/clean up
  • Character sheet
  • Confirmations
  • Hot bar
  • Multi different row structure types
  • Many different Enumerators
  • Much more

All of that is just the simplified version and I’m sure I’m overlooking quite a few elements from that point of view as well. A lot of things involve inventory in some way or another. Earlier attempts were just the most basic functionality I could get out of all those different things. Many of them did not even work with each other or that well and I was fine with that.

I’ve attempted to understand why my drop chance variable is just not doing what it should be doing. It has caused some rewriting and bricking of the entire system many times over. Some things just don’t like being changed even the slightest without having to go through a bunch of things and resaving them or touching them up.

Then there is the much larger task of trying to compile it all. It’s a very time-intensive operation that takes at least one hour if not longer on my main project.

As a result, I have a testing playground project where things are build out first. The issue is attempted to be found and solved. Compiling can be done in 10 mins. There is less to work with so it’s less confusing. It however is not 100% the true environment so it can’t catch everything.

Then things get migrated over to the main project and integrated. Old systems get removed and replaced with new systems. Everything needs to be retested and hopefully, only minor adjustments need to be made.

This time around that failed. What elements I was testing before moving onto other elements of this system flat out are not working as intended. Trying to compile under the main project has also resolved a lot of new undiscovered issues.

This might be a point in time where I need to re-evaluate what I want in my game and scale back. So it becomes more manageable for myself.

When I do hit a major roadblock like this I usually just go work on other elements of my game. That however is not the case this time around as those things rather depend on this all working together. Otherwise, it’s just going to be redoing a lot more work if I end up making large-scale changes to the systems involved.

So this is the point where I’m going to try and get my mind off things over the weekend. While I usually try and hit weekends quite hard in working on my game. My brain is just too overwhelmed at this point with data.

Other Posts:

Information

Screenshots were taken and content was written by @Enjar. Screenshots are from Unreal Engine 4.

Game roadmap.

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now