Breaking the 52 item limit (An improved inventory screen system)

Right now, there are… a /few/ problems with the inventory screen, to say the least. The most complained about is the intrinsic item limit that occurs as a result of this implementation (or at least the fact that it is so low). I’d like to propose a new idea:

Every item is represented by a paired combination, a number and a letter. Every item is also distributed to a “page” associated with that number, and probably with a category of some sort, meaning that items on page 1 (the first page) can be accessed without hitting a number first, since the number is assumed. Items that the character has equipped/worn would appear on page 0.

As an initial proposal, pages here could represent what the categories are currently (except page 0, which would be worn and equipped items).

Flow: (Quoted items represent some keypress action, I don’t actually remember default bindings)
“inventory” enters the inventory screen.
You are presented with a list of items across two columns (if needed), representing the items in Category 1 (Miscellaneous?)
You can either press a letter to select an item from this screen, or press a number to switch to another screen, and then press a letter.
Pressing a number twice will switch to the most recent number pressed (so only the last number pressed matters for selection purposes)

The default screen depends on the way the inventory screen is accessed:
“eat” brings you to the Comestibles page
“activate/apply” brings you to the Tools page
“equip” brings you to the Equipment page
“reload” brings you to the Ammunition page (assuming it doesn’t happen automatically)

But no matter what page you default to, you can always use the same specific number/letter combination to immediately access the same item.

Obviously, you’d still be under the limitation of 52 items per page, but it seems a significant step up from what we have now.

How would things like dropping be worked out? Currently you use the number to designate what quantity of a stack of items you want to drop, making it even more clunky would be a step backwards.

I’d imagine for dropping or even using multiple items at the same time (if we end up having that), it would simply be after selecting item, it asks amount.

Type in number-enter for number, or just hit enter to drop all.

That doesn’t seem terribly unwieldy or clunky.

I think the idea Mic proposed in the thread back at B12 will work best.

Reposted in an attempt to bring the conversation here:

On Mics suggestion:
But it also means that you will have to look for an item every single time you access the screen, instead of finding it once and knowing exactly where it is going to be. I mean, there are already complaints about items occassionally changing their assigned letter, and this means everything would have it’s assigned letter changed every single time you used something, or held it, or dropped it.

It means every single access to the inventory screen would be a /search/ action, instead of just a find action. And potentially a search action across multiple pages. I’m not sure that’s the best solution either, especially with the amount of items to keep track of.

The idea of maintaining “hotkeys” might work, since it was mentioned, and some sort of combination approach might be the best idea. Perhaps have the inventory default page be the “hotkey” page, or have items assigned to hotkeys occupy the top portion of every page and claim those given letters permanently.

A category breakdown means that there’s less to search through for each item (assuming it’s obvious which category it will be found in), a hotkey system with assignable fixed items (which would definitely need an arbitrary limit assigned to it, however), and a dyanmically lettered paging system to allow for an infinite number of items?

But then there’s the question of whether or not something to that extent is even needed, or the best use for the actual styles people play. Maybe it is…

ADoM has a neat solution, why not just use theirs?

You can view all items and basically scroll A-Z per page (so 26/52 items per page), you can also view specific item types by pressing symbols, like % to take you to food (comestibles).

I don’t think ADoM allows you to hotkey items as you generally won’t be needing to use a specific item repeatedly which isn’t already equipped but it does have it for applying skills so a similar mechanism can be done.

Apart from hotkey items and search function I think ADoM is pretty much the style of idea Mic was suggesting.

Personally, I’m ok with the current 52 item limit, when it isn’t glitching out on me… for things like using non-empty cans in crafting, filling bottles partially, not letting me pick up arrows into a stack and instead needing a free slot (or two sometimes!) before it’s shifted to the partial stack already there, etc.

But… I’d be happy getting the semi-arbitrary # of items limit lifted, so long as it reduces the number of keys needed for a repeating task, or at the least, doesn’t increase it.
Example being, the tedious task of crafting anything not of the weapons menu more than once. (I’m really not sure what the fascination with using < and > to change menus is.)
Also applying or eating, though the condensed menu thing in the works (not in the windows version yet anyway) should make that easy enough.

I’m fine with the status quo. 52 is a pretty big number. If you’re consistently maxing out your carry capacity, I would suggest reevaluating the importance of the items you’re holding on to. After playing so much DCSS I’ve got it burned into my brain that you stash everything and carry only what is necessary to survive and progress. I know CDDA is not DCSS, so perhaps my opinion doesn’t matter.

The new condensed menu thing is nice.

@Zen Arcade: Well, there are already the volume and weight restrictions, the 52 item limit actually renders otherwise physically sensible load-outs as unplayable and meaningless. The limitations should naturally form out of the item properties, and the rationales for not carrying too much should be physically sensible ones too (e.g. takes longer to locate an item in a bag depending on the number of items, more weight slows you down).

I would support some paged system, with the hotkeys idea. Another possibility is recursive containers, and require the player to access/remove items as needed - don’t know if others would support this, but dropping / picking up a bag full of drugs as one action would offset the extra key-strokes needed to remove/add items from the bag - the player could then prepare bags with different contents for different types of missions.

I would actually like to not only switch to containers, but have opening a container have a “time cost” that varies per container. Pockets would be quicker than backpacks, so utility vests are better for items you would need in a hurry and whatnot.

Depends on what you mean by “opening”, if you mean “additional time spent to add/remove items to/from containers” I’m with you, but simply looking through your inventory shouldn’t have a cost.

I think the inventory should be organized as (potentially nested) containers internally, with the root containers being either worn or held, but I also think the way the player interacts with the inventory should not normally require navigating a tree of containers.

What I’d like to see is a system where the default is for items to be stashed wherever there’s room for them (which would generally be a backpack or something), but if desired the player can stash items in a specific location for faster access, such as a pocket, tactical vest, or holster. Possibly the quick access stuff would get stable hotkeys, assigned either automatically or manually, and stuff in misc storage would be accessed through a menu.

Another aspect of this is that we currently aren’t tracking whether the character’s hands are occupied for most purposes, it’s just assumed that they can interact normally with everything (except cars) even if they’re wielding a broadsword or a flamethrower. I’d like to adjust things such that the natural default is walking around with a weapon holstered unless you think things are about to get dangerous, but having a gun/knife/sword holstered or worn on a strap provides easy access. Currently weilding/unwielding things is basically free time wise, so I think I’ll want to add an off-hand item slot and checks for having enough free hands for various tasks first, then come back later and add holster and sling stuff. As an example of where I’m going with this, eventually if you’re exploring in the dark, you’ll either need a pistol in one hand and flashlight in the other, or a rifle with a flashlight.

I think overall it sounds like a good idea. Would like for maybe some things to fall into multiple categories. Items such as the crowbar is both a tool and often a weapon. Would like to see food and medical split into separate categories. I like the idea of having separate pages/tabs for each category. Of course you’d need an all. Though I’d also like a container’s tab that would show what is in what container. This way you could move stuff between containers. This would allow for things like ditching backpacks, stashing backpacks, using backpacks as storage containers, etc… Hey, I’d have a scavenging backpack, a crafting backpack, a construction backpack, and even a combat backpack.
The way I envision this works is you’d pick stuff up the same as you do now and it’d automatically get assigned to a container based on volume/weight of item vs available volume/weight in containers. Items may get shuffled around inside containers, and this should generally be automatic. Let’s keep this from becoming a pain in the butt for the player.

I’ve only coded in LPC. What is Cataclysm written in? C++? I wonder how the inventory code works. Is it a mapping? Array? Am I even using terms that apply to C++? :stuck_out_tongue:

[quote=“Miloch, post:12, topic:51”]I think overall it sounds like a good idea. Would like for maybe some things to fall into multiple categories. Items such as the crowbar is both a tool and often a weapon. Would like to see food and medical split into separate categories. I like the idea of having separate pages/tabs for each category. Of course you’d need an all. Though I’d also like a container’s tab that would show what is in what container. This way you could move stuff between containers. This would allow for things like ditching backpacks, stashing backpacks, using backpacks as storage containers, etc… Hey, I’d have a scavenging backpack, a crafting backpack, a construction backpack, and even a combat backpack.
The way I envision this works is you’d pick stuff up the same as you do now and it’d automatically get assigned to a container based on volume/weight of item vs available volume/weight in containers. Items may get shuffled around inside containers, and this should generally be automatic. Let’s keep this from becoming a pain in the butt for the player.[/quote]

You have the gist of what I’m getting at, simple interface by default(none, just gets stashed when picked up), but need additional UIs for finer control, like where you want weapons/medicine/ammo/etc

It’s a bit of a mess, the inventory is basically a flat list*, but there are two levels of indirection for an item. One is a stack, which is multiple items of the same type in the same slot, and the other is a container, where the contents (water, booze, rounds of ammo) are a kind of pseudo-item that normally only exists in a container, and the container itself of course. Your carrying capacity is completely independent, and is just the sum of the storage provided by your worn clothing. Which means you can distribute an AK-47 amongst multiple pockets if you have enough of them :stuck_out_tongue:

*With the exception of worn and wielded items, which have a slot-ish system.

I don’t think an all category is necessary and after so many items you’re out of keys. With each in a separate category you can use the same keys for multiple items allowing for many many more items in the future. Love the container idea though. 100% support for that.

Might I suggest a temporary measure while you’re deliberating on a real solution? There are still several ascii characters available for use. The game won’t normally assign anything but ‘a’ to ‘z’ and ‘A’ to ‘Z’ but a simple drop-in replacement could make that ‘a’ to ‘~’ and ‘A’ to ‘’. The game will already assign ‘' if you have 52 items and use an item from a stack with charges, i.e. using a stack of clean waters will create a new stack for the one half full bottle, which if you try to 'E'at again, shows up as 'a' but if you go into 'i'nventory shows up as '’. Also, martial techniques are items that are assigned ‘:’ when equipped/readied. Using ‘a’ to ‘~’ and ‘A’ to '’ increases the maximum by 9. While it doesn’t sound like much, that’s a 17% increase, and cuts down on the annoyance of having to juggle your 51st and 52nd item to pick up ammo. You could probably squeeze out a few more characters from the ascii map too. It’s not pretty, but I’ll take that over an arbitrary 52 item limit due to the size of the Latin alphabet.

The inventory screen doesn’t handle non-alphanumeric characters well.
Having pushed myself over the 52 limit by as much as 3 or 4 before, I found the new character assignments tended not to be functional. (i.e. pushing ~ or whatever comes after ` typically gave an ‘item not found’/‘you don’t have that’ type error.

Also, it shouldn’t be long before the new containerized inventory is implemented.
Gryph’s been at it awhile, and even had a functioning demo of it a week or so ago.

I suppose it’s awful late to comment, but the thought struck me recently so I figured I’d put it down:

Whales said that the reason he went with the 52-item limit is that it’s an effective limit of what one can remember that they’re actually carrying, and beyond which management would become too bothersome for an individiaul. To that end, what if we separated items into two catagories: “Readied” items, which go into the current inventory setup, and “Stashed” items, which’re in a separate page of the inventory and represent the crap you’ve grabbed and squirreled away to be unloaded at a later date? Rather than be given a letter designation, the stashed item page can be navigated with the arrow keys and items selected with enter. The / key could be used to switch between those two catagories, and the , and . keys could be used for two new inventory commands, “Stash Items” and “Prepare Items,” which allow you to switch items between the two catagories as desired, with a cost of 100/speed per stack of items shifted.

I should think that a system of this nature should be quite feasable and mesh well with the currently-existing inventory system, so it wouldn’t require nearly as much work as some of the inventory overhauls some others have suggested.

I kinda like that idea, Sorenson. I’d almost say you should have two different kinds of storage from clothing. Something like a utility harness is easily accessed items. But something like a backpack would take a bit more to get at. You’d generally have to dig around for it. It should take longer to use an item from there.