Inventory Improvements

Inventory Improvements

In the following I am going to explain difficulties and problem I have with the currently implemented inventory, give suggestions for improvements and provide possible solutions. I do it quite detailed for why and how and these are, of course, just my opinions! Refer to the TLDR for a summary. The suggestions are ordered after priority and get an “!” for very high priorities. I will try to keep the post updated when additional input or suggestions arise. Comments are very welcome!
As I am a software developer and modder as well, I’ll always have coding complexity, scope and implementability in my mind.

Goals

To start talking about the problems of the current inventory we have to look at the goals first. In my opinion an inventory doesn’t only need to be functional but should also be convenient. It should be part of the gameplay loop in some form, but the interaction with the inventory itself should be as brief as possible, except where it is a core gameplay element like in Escape from Tarkov. Usually, the goals are to organize/ access items with some restrictions to carry count/ space/ weight. Of course, I don’t know the goals of the developing team. These goals are suggestions and/ or derived from the current implementation.

Current goals and features:

  • Carrying items
  • Accessing items for consumption, equipping, dropping
  • Usability, especially for console/ controller
  • Restriction to the amount of carriable items
  • Quick access

Possible suggestions/ additions:

  • Weight/ space restriction
  • Usability with keyboard and mouse

The Problems

I will explain every problem in detail below and give possible solutions/ suggestions to achieve the goals of the inventory in the final chapter. You can also jump straight to the solutions and suggestions section. This serves more as an analysis.

Inventory Space System!

The inventory is currently limited to 10 inventory slots and 1 hands-slot. The hand slot can carry one item while the inventory can stack. There is no real toolbelt, more to it later. One of the biggest parts of the game is resource gathering and therefore item carrying. In order to carry items from A to B the player has to use the 10 inventory slots and one additional item. When you gather items the inventory gets full very fast. The problem is most of the times the inventory is not really full because items can stack. So the game highly favors maximizing item stacking. Most items can stack up to 4 so you can carry 4x more items if you stack them. This results in a lot of inventory management which is not fun.
A classic situation: I picked up a stone and there are 3 logs lying around. I try to pick up logs. Inventory is full. Open inventory to see one stone is wasting 4 spaces. Equipping stone. Dropping stone. Picking up 3 logs. Finding 3 more stone. If I would have carried stone I could have carried an additional item. Etc.
This serves just as a visualization, but the problem is it is very important to maximize inventory as you have to cover distances and bad management can leave you with many trips more.
I think the idea is clear. You don’t want to spent wasting time managing the inventory for maximizing utilization.

There are plenty of other ways to restrict carry capacities other than items slots and item stacking. There are advantages to it, like in Minecraft, where you can use it to stack transfer for example. The problem why it is so present in Stranded Deep is the low space where all drawbacks of item stacking and slots are very present. With a high slot count and/ or the high stack count it takes really long to reach the problem of space optimization. But I think there are better inventory systems for Stranded Deep than just increasing stack size or slot size.

The Box Thing

Wood Container (boxes) can carry up to 5 stacks. Using boxes increases the inventory 4 times. Boxes themselves are like inventories and therefore have all restrictions and problems of item stacking.
A classical situation: Inventory full, but I have boxes. Drop box. Check box. Fill box if not full. Check other boxes for non full stacks and top them off. Pick up boxes and continue to next item. Repeat. Etc.
There are some optimizations or different play styles, but all in all this is the cycle for basically everyone. And it gets worse if you find a second box with items in it which could be stacked in a box you are already carrying…

The Hands Thing

The hands slot is part of the inventory space problem. Reason is, you can carry one item in the hands. The problem lies in combination with item stacking. If you have a single item in your inventory it is smarter to equip it in your hands as you get a full inventory slot which can stack. The problem is you cannot equip any other item in the inventory which is stacked, as the item in your hands cannot go anywhere. But you need to equip things from your backpack as you cannot drop right out of your backpack. Only way to use your inventory again is to drop your hands slot, equip a different single item, or put items directly in a container.
A classic situation: Inventory full and last picked up item in hands, but I could equip my axe from my inventory and get a full additional slot. Equip axe. Pickup 3 more sticks. I now want to drop the sticks, but I can’t because I cannot equip it. Drop axe, equip sticks, drop sticks, search axe again and pickup axe.

Toolbelt

Currently, there is no real toolbelt. The toolbelt is just a link to an item from the inventory.
My problems with it:
You can assign them manually, but they don’t stay assigned when you drop or store the assigned item.
They are also only assigned to an item instance, not an item group. If you have multiple spears and throw the one you assigned, you will need to reassign the toolbelt.

I explained the importance of every inventory slot. This results in optimizing inventory space and especially tools and equipment. If you constantly carry 5 Tools with you you only can carry half the amount of items. Therefore, I often only carry the necessary tools, but this removes the toolbelt assignment. Every time.
My toolbelt consists of 1 or 2 items at best.

Solutions and Suggestions

The following are all my suggestions regarding the inventory. The sections are related to the corresponding problems. Some changes to the underlying data structure could cause problems with backwards compatibility. But it is worth it!

Inventory Space System!

My solution for the inventory space problem would be to remove item slots and have a fixed number of space. Let’s say 50. You can still have different sizes, like a log uses up 5 space while a leaf just uses 1. This would drastically reduce inventory management to the point where it is only present in the very end when you have used up 46/50 space and want to pick up the log which is 5. You then drop a leaf and pick up the log. But I cannot emphasize how much this reduces management without sacrificing usability. If you really want to implement the functionality of stacking (“It is smarter to carry more items of one type.”) you can lower the space of items when you have multiple of them. Like a stone usually takes 4 space, but when you have 4 of it, they only take 3. I.e. the fourth stone is free. Although, I would not recommend this. The new inventory system would require a new/ modified UI without sacrificing usability. More to it in the UI section.

One gameplay problem I could see is that it is too easy to carry one of each consumables like antivenom. The following alternative version solves this problem and has the best of both worlds. Slots, but no stacks.

Alternative Version: Fixed Slots

It is also possible to keep a fixed number of different items similar to slots and still keep a total space. Let’s say you limit the number of different items/slots to 10. If your slot count is full you cannot pick up a different item, but if you still have space you can pick up another item of an item already in your inventory. This is still a very big improvement over the current system and allows for minimal changes to the radial menu.

Technical Comment:
From the current implementation it looks a bit as if you needed a fixed sized array for the inventory. I know it is faster and reduces many problems with implementation, especially on the UI side. That’s why I included the alternative version. It greatly increases usability and suffers only slight restrictions.

The Box Thing

Just handle the wood container the same as the inventory and The Box Thing is not an issue anymore.

The Hands Thing

Without slots the hands-slot changes in value favoring the item with the greatest space. This is reducing The Hands Thing but the only way to remove it completely is to get rid of the hands slot altogether and have the hands just as a selector from the inventory.
Even with the hands-slot, management will be simpler.

Toolbelt

The solution for the toolbelt consists of either a real toolbelt, or improvements to the existing one. I would prefer the real toolbelt but either is a great improvement.

Real Toolbelt

A real toolbelt would take tools outside the inventory as additional storage. This way you can always carry like an axe and a spear or a bandage without sacrificing so much inventory. This is a great example for a good place of a slots and stacks inventory representation!
You can equip like 2 bandages, 4 spears and a bow and an axe for example. I wouldn’t allow for much more than 4 or 5 slots. Maybe make it even harder to craft it. But this would give the toolbelt a real boost to performance without being too strong. If you want to weaken it a bit you can still count the items to the overall inventory space. It could also be possible to restrict it to tools only or at least dedicated items.

Improving the Current

It is also possible to keep the toolbelt just as a shortcut to the inventory. A better approach would be to assign categories rather than an item. This way when you drop an item you don’t have to reassign it every time. It automatically pics the next item from your inventory. There are some small improvements when it comes to item selection, like always choose the worst axe first or the meat which is closest to spoil, etc.

Usability

There are several small quality of live improvements greatly increasing the usability.

Stack Transfer

Transferring 50 wood can be tedious. Just use right mouse button and a full stack, or all items of that type will get transferred.

Picking up Items

It sometimes can be hard to select items or tedious to pick up many items of the ground. I made myself a macro for spamming the pickup button. How about holding the button as an alternative? When you hover over an pickable item and you are holding the button, it will pick it up.

Dropping Items from Inventory

Just enable the use of the drop-button from the inventory. Select an Item. Press drop-button. Drop. Very handy.

Container Access from Inventory

Enable wood container access from the inventory with right click. There is no conflict with stack transfer as wood container cannot be transferred.

Switching Between Containers

The container inventory as an entry in the item slots is very suboptimal and confusing in my opinion. Just use the switch-button to switch between player inventory and the container and have an icon for representing which you are currently accessing next to the radial menu.

Autostack Items

If you stick with the old space system enable autostacking items to one side. E.g. when you craft two items you can end up with like two stacks of 1 wood. This should automatically get stacked into one direction

Sort and Stack Items While Scrolling

It is possible to select trough items when they are stacked. Which is also necessary in some cases, like for meat. But what about wood for example? There is no difference between the second wood to the first and the only difference you can see with meat is if it is raw or cooked. How many days till it spoils is not available.
Solution:
When scrolling through items skip/ stack all items which are similar. Rather scroll trough categories. When selecting an item from one category, use a system like FILO (stack) or even a smart selection for meat (transfer/ use the earliest to spoil first when transferring into the backpack/equipping, store the oldest first when transferring into a container). A sorting for the categories would be nice; tools with worst condition first, water bottles with less stacks first, etc.

User Interface

As a PC player I don’t like a console UI like a radial menu. I mean it is meant for console/ controller not keyboard and mouse. Anyway, it would be cool if you could have a second interface and the ability to deselect radial menu in the options. This way you have the best of both worlds. But I know this is very extensive implementation.

New Inventory Space

The new inventory system cannot use the classical radial menu as it is, simply because you have a variable number of items (except when you use the slot based version). If you want to stick with a radial menu a solution would be to grow and shrink the radial menu with item numbers. Always have only one entry per item and just show the amount of items in it (like wood:10, stone:3, leafs: 45).
Categories, similar to the crafting menu of Subnautica, would be a solution to keep the tree from getting too big with too many different items. Although, this should be avoided if possible.

An aid for the too many entries problem could be a real toolbelt. All tools reduce the radial menu by one entry usually. The shortcuts for the toolbelt could make it accessible when in the menu, similar as it is right now.

Container Inventory

Seeing the backpack contents while looking in a container would be very handy. A dedicated view, like side by side, would be best. There is enough space for it, so why not use it and make thinks more accessible and faster to compare your backpack with the container.

TLDR

My suggestions:

  • Inventory Space System!
    • Remove item slots and have a fixed number of total space. Or keep fixed number of slots but limit items to a total space not stacks per slot. The latter greatly reduces necessary UI changes.
  • Toolbelt
    • Have the toolbelt as dedicated but slightly modified slots. Or assign categories rather than an item instance and maybe implement smart selection.
  • Usability
    • Enable stack transfer. E.g. the right mouse button.
    • Hold the pickup button for picking up items to reduce spamming.
    • Enable dropping items from the inventory.
    • Enable container access from the inventory.
    • Implement a button for switching between containers instead of an inventory slot entry. Add an icon to show where you currently are.
    • Enable autostacking of items when sticking to the old space system to avoid two stacks of 1 wood for example.
    • Implement a sorting and/or stacking when scrolling through items of the same type.
  • User Interface
    • When using the new inventory space system and not the alternative version implement categories and a dynamic radial menu.
    • Show the backpack contents while looking in a container.

PS: I know, in the time it took to write this I probably could have implemented a great portion of the changes by that and although maybe nothing will get implemented it may encourages a discussion or new ideas. At least I tried :innocent:

1 Like

I really like most, if not all of these suggestions. I’ve been playing this game a lot (and conplaining about it a lot) and the thing I gripe about the most(other than getting poisoned, lol) is the UI. I keep telling my bf that this game was made for console and it really FEELS like it. So much of the inventory management and crafting menus is just a huge pain in the ■■■■ for a mouse/keyboard user. My finger is starting to hurt from clicking so much transferring items into/out of stacks and boxes. I really hope they make some changes to the menu and inventory system for pc soon. I told my brother the other day, the game is fun, but I don’t reccomend playing it yet until they work out more of these kinks.