Credit to the SS13 server Fields of Fire, whose inventory overhaul served as inspiration for the UI.
Overview
Grid inventory is intended to be a replacement for the current inventory backend and UI. It encompasses both an internal rewriting of storages, wherein they are classified by geometric shapes, as well as a redesign of the UI, aiming to translate the internal logistics of the system in an immediately understandable way. Under the system, storages will consist of grids made up of tiles and items will be small items that can be moved around and fit into the grid.Storage Pains
Laying out what’s wrong with the current storage system is important, because inventories—and for the purpose of this document, inventory refers to any given storage container, not the players’ hands and clothing HUD—fail in subtle and unexpected ways. The failures can be divided largely into two categories, mechanical and visual, and both show the unique ways in which a core system can underperform and in turn erode more central mechanics. In terms of the mechanical failings, those which call for the rewriting of the core of the system, the most evident is the inability to represent objects of unorthodox or strange shape. Whether it be a numerical size or an enum, it is impossible to communicate the spacial properties of something like a broom or a life preserver. Inventories cannot be long and thin or made up of many smaller sections. There is a lot of genuine interest in nuance in the problem of storing an object: it exists as a microcosm of greater questions of the value of what you carry and if it can be stored in an efficient manner. As the system exists currently, the “efficiency” of storage is not a concept that can be explored, which is a shame. On a more surface level, the presentation and interactions of a list inventory is also laden with issues. By existing as an infinitely scalable list, containers are forced to express the sizes and capacity numerically, relying on exposing objectively meaningless numbers in order to communicate scale. Furthermore, lists are bad at displaying images at a scale that is easily understood (due to their properties of being scalable) and thus rely on things like text, which simply saturates what should be a very simply HUD element with lots of text and numbers. Lists are also frequently used to fill up large chunks of the screen, which genuinely looks terrible. Ideally, a perfect storage system should not only be able to handle weird sizes and shapes of containers and items alike, but also visually convey this in a way that is immediately able to be understood by a new player without being overly reliant on text and numbers. Thing goes in bag is simple: it should feel simple to do. It should never feel sprawling or overwhelming or like you’re scanning your screen for crap.Grid Inventory
Our solution? A to-scale HUD element that can represent uniquely shaped item’s as well as display the size of things in an immersive and immediately understandable way.
Items
Items in grid inventory are a deviously simple. They retain the ItemSize enum from the current system, but gain an additionalinventory shape.
This is just the shape the item takes up in the grid and it additionally serves to codify the hidden weight mechanics of the current inventory in a more intelligent way.
Rather than tiny items having a weight value of 1, they simply take up a single square.
Items would have reasonable default sizes inferred from the current weight values of items with an optional specifier for other custom shapes.

Storage
