Bags/Inventory

It occured to me while playing a melee character how strange the bag system is.
I would drop my backpack in order to fight, but somehow i would apparently transfer its contents onto my person as well, is it possible to have the contents of different bags etc drop with them?

Brainstorming the idea, I find that implementing an auto-drop has few outcomes, none particularly good, much less outweighing the cons. For example:

  1. picking from a list of last picked or random has the high probability of dropping a critical item you may need to survive the fight.
  2. working the inventory on a per-bag/clothing basis will quickly grow tedious and overly laborious for almost all inventory actions.

It’s something I had considered myself during a few playthroughs, though I could never come up with a reasonable solution that added more to gameplay than it took away.

I wish you could throw items in bags, whenever activated the bag had its own GUI where you selected to take items out or put items in. All items would be saved in files in the mapgen, this could allow for containers already spawned with items inside.

I guess it would be like how the folding shovels used to work, with a middleman. Item disappears and it’s data is shown in the bag, when items are removed an item with the exact same stats would be spawned in your inventory.

Or rewrite all the workarounds with proper container system. And derive everything else from it - bags, liquid containers, ammo containers

More general containers is a compelling idea; DF does this, and it works pretty well.

However, even in DF, ammo and liquids are still treated as special cases, to some extent.

I’m thinking that liquids should probably not be items at all, but it’s a sticky issue, so we’ll see how it turns out going forwards.

Personally I’m mildly in favor of some amount of container-based inventory management, but I’m not sure real general purpose containers are the answer. The main problem is that you end up with a lot of micromanagement and some really silly situations where you have containers nested 4-6 deep. I found this to be a major distraction when playing df adventure mode.

What I’d like to do is add some more special-purpose containers for the worst offenders (pills->pill organizer, keycards->wallet, ammo->ammo box, etc…) and see how far that gets us in managing the problem. Part of this would be making a sub-container menu, so it wouldn’t be totally wasted effort if we did decide to go with a general-purpose container system.

It’s “general purpose containers” from the programing standpoint, not from users view. To leverage creating of special purpose containers, as, for example, canteen or crate or whatever. Or even “some container based inventory management”. The game absolutely needs to have some bare mechanics of it. So programing “item in item” will not turn into “pile of workarounds”, as i suspect it is currently.
I’m curious, how game handles crates atm? Those ones, you could rarely find near the roads.

Crates are just terrain with a special flag that prevents you from taking items out of them.

Doesn’t sound like a “right way to do things”, no? :slight_smile:

Not particularly, but I’m not the one who wrote 99% of the code, Whales is. I came into this project with nothing but a basic overview of programming, and no specific skill in C++

And now you gaining skill pretty fast. So one day you will want to do some revorking anyway.

The Russian Lurkers have found us! Hide all the bears!

It’s too late for you, already :smiley: Yup, i am russian. So what? )

The majority of the Cataclysm fanbase is Russian :stuck_out_tongue:
You guys love your post apoc games.

[quote=“qurvax, post:7, topic:99”]It’s “general purpose containers” from the programing standpoint, not from users view. To leverage creating of special purpose containers, as, for example, canteen or crate or whatever. Or even “some container based inventory management”. The game absolutely needs to have some bare mechanics of it. So programing “item in item” will not turn into “pile of workarounds”, as i suspect it is currently.
I’m curious, how game handles crates atm? Those ones, you could rarely find near the roads.[/quote]

Ah, this is a misunderstanding then, there is already a general purpose container infrastructure in the game, EVERY item has a member:
std::vector contents;
which means you can nest items in each other arbitrarily. For example this is how gunmods work, they get inserted into the gun object itself.
The only thing preventing more usage of this is that there is no general interface for adding/removing items from a container. As you can see with gunmods, it’s very rudimentary, where to insert an item you have to 'a’pply it to the gun, and then to remove it you have to 'u’nload the gun fully, very cumbersome. The inventory system does some rudimentary stack combining, but if you’re dealing with stacks, you can’t have different types of items, or as we’ve seen in some cases not even the same type of item with a different number of charges or a different age.
That’s what I was talking about adding, in addition to some special purpose containers, so it seems like we’re in violent agreement :slight_smile:

Agreed, it seems so :slight_smile:

Perhaps a fix for the melee character, but have a Drop All button, and allow the player to add exceptions to what can be dropped. So you would flag your clothing, weapon, and some medical supplies as not Drop All-able, and then toss the rest on the ground.

I’d like to have some visualisation of your inventory, like ASCII Sector.
(Not as detailed as dayz, unless we get dedicated artists). Labels arcing off from your pockets and man-purse are a lot easier to parse then endless lines of text.

Definitely a fun idea. The item management in game is absolutely marvelous already.

But thinking back about the former ideas in this post, especially the ‘container in container’ problem got a good solution.

While games like DayZ and other ones are already working with a type of inventory management for each container seperately (A good start) it would make sense to have a similar system in CDDA as well. Sure, there can be some tedium if done ‘wrong’ or rather… not properly, but it would add a lot of feeling to the game, especially from the survival standpoint.

Since right now if a container is destroyed, the items are randomly choosen which fall to the ground is more then annoying, quite often even deadly for no good reason, there should be a change to be able to organize your inventory in a way where one can stop this problem.

The solution I thought up is actually rather simple for the player, but I don’t know how hard it would be to implement:

Each container has their own volume and is a bracket or special spot in the inventory. It shows how much it can contain, and while having a starting volume it changes accordingly to the items added. It would give a player the ability to take a second backpack and store it in a backpack for instance, but only as long as it’s empty, or at least not filled up a lot since it would move over the volume limit of the holding container.
This prevents endless container ‘stacking’ for one part, as well as giving the ability to choose freely where the contents are stored. Got 2 Backpacks, one heavily damaged and one in mint condition? Important items into the good one, not so important ones into the ripped.

This definitely needs a sort of management system as well, my idea would be a sort of labeling system, for instance a plastic chunk, one charge of a soldering iron (to melt it together when attaching it) and a permanent marker, spray or anything like that gives the ability to rename the said Item into whatever is wanted.
This would not only bring an end to the tedium of endless inventory management, but also deepen the immersion into the game whole by a lot, and given the already present interface should be only a minor undertaking for it, probably scripting the framework is the hardest and most time intensive part as only a basic system is present at the moment.

Together with the ‘visual’ outfit screen it would be much much more accessible for new players, as one of the most common problems by watching others playing the game is something overly simple: forgetting where one item is and searching it for a uselessly long time.

  • Oldman Cold, you exist?
  • Yes, child, unfortunately for you …
  • But why?
  • Because no one should see me. so …
    … SEE ALL CINEMAS across the city !!!

:slight_smile: бггг…