Inventory out of control2 Likes/60 Replies/907 ViewsxJdKxZomBiE 9 posts
OP, one thing I found myself switching to is watching for the loot pile to have the telltale yellow chevron in it, this usually signifies 1 thing, that an item is special, whether its a named item, or one with a max stat of something.
I pick up all drops, but I loot them all as junk. If a pile has the chevron, I press up on d pad to inspect the pile and decide right there if the item is worth my time, if yes, I loot that item only and loot as junk the rest, or just loot all as junk. (deciding at the time meaning if the item have one max stat and less than 2/3 of the others, its also looted as junk)
This makes subsequent inventory management pretty quick, as I can immediately JUNK all the looted as junk items, then check out a few ones I kept to see if they are something I can actually use.
RichardOshea 167 posts
"Inventory out of control"? I dunno, mine sits there doing as it's told 24/7/365. You probably meant that you're having problems controlling your inventory but that's mostly you I think as it's not hard to do, nor is it particularly time consuming. The devs have done quite a few things to drastically improve inventory management so if you think it sucks now and weren't around day one then you dodged a bullet there.
I'll just let you know how I go about it and if you can use it then that'll be a good thing I hope. I don't use mules and only have one character so my limits are the stash size and my character inventory capacity, so 450 items. Now my chap has 16 loadouts that he carries all the time so that uses 105 inventory slots leaving me space for about 45 looted items each mission or activity. Most of the time that is enough room to just loot as I run past continuing on unilt the task is complete. At the end of the task I sort through what's been collected and junk what isn't wanted and that takes a minute tops. Over time those 45 spaces are consumed by stuff I keep so at some point I go to the stash box and begin a finer grained inventory sort.
At the stash box I already know that if it's in there it's either perfect, can be made perfect or has something interesting about it that is stopping me from junking it. The finer grain part I mentioned comes when I start to look at each item category and within that sub-categories of specific brands types etc. I look for duplication that I may not have spotted and junk those. I look for weapons that I've never use and get even more picky about those -- perfect only -- and I go through the stash doing that. This part can indeed take some time and it's the part I like least as this is stuff that I'm not using so I'm gaining no immediate benefit from my efforts. I know it pays off in the long run though as I can and often do just open that stash up and can quickly put together a build with what's there, and because what's there has already been through the filter I can put together a build quickly and at low material cost. Pros and cons I guess.
It's not broken or out of control. It's not even close to being the worst I've used in a game and it's not that far from some of the best I've used in a game either. Time seems to be your real problem here so your limited gaming time isn't the games fault per se but a consequence of your current situation. If I only had one hour per day to play a video game I would not choose a game that required a lengthy journey to end-game and an rng loot system with heavy doses of grind for that single hour of my day.
My last point would be to say that in well over 2.5k hours I have not grinded for a single item in this game. I have completed tasks required for items or exotic gear but never have I sat there and thought: "Right, I need x and it's over there so I'll spend the next 6 hours hitting that same CP over and over until I get it..." hell no, that ain't me at all! But I still have everything I need for the game and I still didn't have issues with the inventory while I was doing it.
N3mB0t 801 posts
@n3mb0t You came back! I suspected you didn't really believe in pro-active quitting. It would be easy to just assume you're ornery, but I doubt that is your real motivation. I think you are defending your favorite game, and you found my complaint about excessive inventory management to be an attack on your game that needed defending.
Unfortunately, I am right about inventory management being out of control. 'Defending the game' equates to conservatism, keeping things the same. I see your point of view, I see you as a person with motivations that are not really questionable. That said, I see no need to take any crap from you, either. So this will be a civil discussion or you might get your feelings hurt.
I don't claim to be more important than you, but I do lead redditdads and I represent hundreds, (not thousands anymore) of players.
I want this fixed. I want to hear the pitter patter of little feet running raids and fornicating the dark zone. Like you, I am a fan of Div2. But this fan wants to expand the game rather than preserve the status quo.
Things change or things die. I'm not your enemy, we are on the same side. Why don't you help me out rather than testing my limits.
LMAO, i have nothing else to express , im sorry , like i said good luck with your endeauvor and thank for such an amusing post , LMAO.
@zombieninjafreq Very useful post, thank you. I will figure out what the chevron you mention is, and look for it from now on.
I appreciate the tip, zombieninjafreq.
@richardoshea Quality post, I thank you for it.
I will go through my stash and discard anything that does not have the potential to be perfect. You are absolutely right, there is zero chance of me using most of the crap I have stashed.
That tip alone should save me half an hour a day, believe it or not.
Solid, helpful advice. Sincere thanks.
Sircowdog1 77 posts
I have a few personal rules that I stick to when I'm dealing with my inventory. Keeping in mind that this is customized for my own playstyles and builds, and not hard/fast rules everyone should follow. But it does help me keep my inventory organized.
- 1) I only ever keep 1 of each set item. And some sets I don't keep at all because I don't find them useful(Striker, TP, Hardwired, etc). I know there are builds for them, but I don't enjoy them. And if I ever wanted to try one of those builds, farming sets is fast and easy.
- 2) I only ever keep 2 of each brand item, assuming they have at least marginally correct attributes. The only exception is Wyvern Wear and Empress, since they have several different applications across many builds. Any Overlord or Petrov pieces except for Fox's Prayer and Contractor's gloves go straight to recycle.
- 3) Shotguns, LMGs, Snipers, and Pistols go straight into the recycle. Any shotgun build is garbage without Scorpio. And any LMG build is garbage without Pestilence. Sniper builds are just not for me. And pistol builds are all outclassed by Kard pistols except for the exotics.
- 4) I only ever keep the best skill mods of each type. And some skill mods I don't keep at all. Deflector shield mods is a good example of this. Fire damage mods for turrets is another.
- 5) I only keep 3 of each armor mod. Again, some mods I don't keep at all, such as disrupt or fire resist.
- 6) I carry all my loadouts in the backpack, and keep items for potential builds in the stash. Mods take up space in the stash, but have their own separate inventory space in your backpacks. If you're storing mods in the stash, you're wasting space!
@dagrommit I watched the video on server-side memory management and found it fascinating. I am not going to recommend that the community watch the video, as it is very technical.
I noticed that Ubisoft is a Microsoft house: They use MS Server 2016 and T-SQL (pronounced Tee Sequel). Most of the examples from Mr. Lind (the presenter) were actually T-SQL stored procedures, indicating that the bulk of their data is housed in T-SQL or at least managed by T-SQL and MS Server 2016.
For the record, I have personally written massive data warehouses in T-SQL on MS Server 2016. This was for tracking advertising cross charges and to say it was huge does not even give you a hint. Bottom line, I can vouch for Mr. Lind's competence (although his code generally lacked error handling etc.).
When you say, "The entire map is loaded into memory," and you think I am an antique from the days of FoxPro, you are confusing yourself. Let me help. First of all: While I can use FoxPro you would need a gun and a sincere willingness to use it in order to get me to use FoxPro over some flavor of SQL. MySQL is free, for the love of everything good and holy. Why wouldn't I use at least MySQL?
The map is not in T-SQL, it is in a proprietary game engine called Snowdrop. The server is MS Server 2016, but the map data is not housed by T-SQL. Whereas virtually all the other data in the game is housed in T-SQL. I have no expertise in gaming map data storage or manipulation. Neither do you, incidentally. Luckily, the map data has nothing to do with our conversation.
However, since the rest of the game data is housed in T-SQL, I feel reasonably confident in discussing the rest of the game data--especially inventory.
I did see the memory limitations you correctly cited on the X-Box and various flavors of gaming boxes. For this reason, I am going to admit that you are correct that individually-carried loot must be limited. So you have forced me to concede part of my demands, and for that you get a measure of respect.
However, there is no reason whatsoever for a limit on stash space, which is housed server-side in T-SQL.
Bottom line, dagrommit has forced me to change my request from "unlimited inventory" to "unlimited stash space".
@cazbot Nit picking example code that they explicitly stated was simplified for the presentation deserves a
Neither I nor the presenter made reference to SQL or the specific datastore they use for the game data (as opposed to the performance stats they capture). That you mix up references to T-SQL, MS SQL Server & Snowdrop suggests that's projection on your part.
Regardless, the point is that performance tuning is a fine balancing act, both because of last-gen console hardware (see the link about audio), but also the need for near real-time responses (i.e. up to 30 FPS) on the server for every user world. The mention of a resource budget for each game system implies that changes in one would require other parts be modified to use less resources. That's a lot of work because a handful of people can't manage their hoarding instincts.
Ultimately, whether you believe any of this is irrelevant. They've ignored similar requests before, and I expect them to do so. But hey, go ahead and continue tilting at windmills.
@cazbot MS SQL Server is not the only database engine that runs on Windows. Not that it matters, but my recollection was that the sample code was for thread creation and memory allocation, not data retrieval or storage (with the exception of when they wrote out their performance stats).
@dagrommit Lind, the presenter, explicitly states he is using MS Server 2016. This incorporates T-SQL and is, in practice, only used with MS T-SQL (I've seen SNAC, basically the same). See https://en.wikipedia.org/wiki/Microsoft_SQL_Server: (https://en.wikipedia.org/wiki/Microsoft_SQL_Server).
I'm not going to pretend the stored procedure code examples are something other due to your recollections. I just now watched the Lind video. If you really care whether this is T-SQL, which it is, then why not grab a code snippet and drop it into a MS SQL dB and see if it works? I did, and aside from getting the normal errors due to undefined parameters, the T-SQL on my machine accepted the code. Why do you care, and why don't you test it so we can have a rational discussion.
LMAO @ spinning up an otherwise useless development environment just to win an internet argument.
Here's an equally preposterous thought - apply for a job at massive. Then you can work on their engine yourself and implement your idea
/edit - just realized, the slide talked about "Windows Server 2016" (the OS) not "SQL Server 2016" (the DB). LMAO
@dagrommit You may have just realized, but I knew it all along. This is why I told you that T-SQL is native to MS Server 2016, remember?
Also, I blame you LOL for getting me interested. I have Visual Studio on this machine, so it wasn't much hassle.
Whatever your other qualities, you do dig into issues. I learned a thing or two from this convo. Hope to run into you in the future, be well.
SuicideHero793 21 posts
I just wish there was a toggle on/off switch, or just a simple drop on the ground for the end of mission items you get when completing a mission. Sometimes I dont want the purple item in my inventory for completing the whatever it is I just did.
tcarlisle2012 170 posts
Wow. I would have never foreseen this discussion would turn into the weeds of database design, though I always can see any Internet forum discussion turning into a technological chest beating contest. LOL. I'll be happy to join in that.
While I do not personally think that inventory or stash should be unlimited, the amount of storage required to represent the relationship between a player character and inventory items is not as big as one might presume. I'll get to computing the storage shortly, but first want to talk about whether the limits are game client side or server side.
The storage is likely server side, not client side, which is what some arguments in this thread are presuming. But the storage is server side, that means the hardware limitation on the client side are not a factor. So it isn't a "console holds back the world" thing.
If you have ever tried accessing your inventory when you are in the midst of a delta disconnect being imminent, you know that you can't. So there is not doubt in my mind they have correctly designed such that the inventory is server side. If not, there would be hacks to manipulate inventory.
The game never needs to look at what your inventory items are in total. While playing, the game only cares about what you are wearing, so it can apply the various buffs and talents, etc. Oh.... and that is done server side too. Because we all know when you are in the midst of a delta, one of the things you notice is your shots do no damage.
The only time the game client cares about your total inventory is when you are in the inventory menu. Just like any other properly designed UI, they are almost certainly doing a lazy load. Specifically, a lazy load that infinitely scrolls. Except, it isn't infinite because they put hard limits in place. But if inventory were infinite, well, the game client could handle it.
That said, an actual limitless design would not be a very good idea, because there are always limits. But those limits are server side, not client side. Ii the inventory were limitless, the game client could handle it with a lazy load/paginated scheme. Basically, as you browse your inventory it would load a page of X items, and as you scroll down it would fetch the next page of X as you scroll. There does not need to be a hard limit as far as the client is concerned.
The only thing I can see where the game might care about your total inventory might be when the game is computing RNG for drops. None of us can possibly know, but I suspect that the RNG system does consider what you have in your inventory. How else could the game know you are far enough along that a low roll is not appropriate? But, since drops are computed server side, again that makes it a non-issue as far as the game client is concerned. And drop computation certainly is server side, otherwise there would be hacks to cheat the RNG.
So the limitations are server side, not client side, so what is the storage required? I see it as being a fairly simple database design. The key point is that the data required for each gear piece is limited to the various attribute values and linkage to other entities.
For example, the entity that represents each item in your inventory does not include the kilobytes for the image or the ~200 characters of the description, etc. Because a memento backpack has the same picture, same name, description, etc. therefore those things are stored once, and each inventory item just points to that single entity. So the only things that are stored in the inventory entity are the attribute values and pointers to the item type,. It is the item type holds the image, name., description, etc.
A very simplified diagram would be:
Just a quick look at the various TD2 spreadsheets and diagramming on a napkin..... I am sure I have over simplified, but the gist of it is that there are about 48 bytes of actual storage needed to store each item in your inventory. Lets assume that I have covered just half of it, and double that, and round up.
Approximately 100 bytes per each item, so 15,000 bytes for the 150 max size.
Now, if we take the total number of copies sold, which is about 10M, and assume every person that bought the game logged in and played it AND they ALL have their inventory maxed (which is unlikely), that comes to about 150GB storage for everyone's inventory. That is a very high guesstimation, and the real number probably is around 50GB. Because not every person that bought the game plays through into the end game, etc.
Could it be limitless? Certainly. But does it make sense? I think not. There just have to be limits. The design they did, I am sure, was appropriate for the game at the time and for adequate scale over time. But I would not be able to justify going that far back in the design process to remove limits -- or even to expand them.
I think it really becomes a question of "how much storage do players need"? I was happy when inventory got bumped from 100 to 150, but I didn't need 100. That said, once I started exploring builds and playstyles and creating loadouts, just 6 loadouts does chew up a lot of inventory space. So I do see 150 being a good increase. Beyond that, I just can't justify it and I'd say it is more of a player packrat thing.
I can name zero RPG games where I don't have a limit on what I can carry, or that the limit is anywhere near what we have in TD2. The problem though, is the variety of gear we have in this game makes it hard to say "no, I'll never need that".
This game unfortunately does some things that help to create a packrat mentality across the player base. For example, DZ exclusives -- which then get turned into "you can get it during Season X in the LZ" but if you aren't ware you might not pick it up and then it is only DZ for you. A player needs to know a lot in order to smartly make the pick-up vs deconstruct decision.
I wrote earlier in this thread that I think a "wish list" feature would be helpful. I still do.
Most players have learned to manage inventory, and they all virtually follow the same idea. You keep just one or two of each piece brand/gearset that you think you might ever need, and at some point you have to dwindle down your keep critieria further. The game does give us visualizations that greatly help.
Keep in mind that as I write this now, my wife has her inventory and stash almost completely full of exotics. Now, she is never going to use a dynasty holster or an Acosta's go bag, but she earned several dozen of pretty much every exotic and if she wants to keep them it should be possible. I am nearly in the same boat, but I do deconstruct exotics from time to time.
What we really need is a trophy case. A place where we can take items out of inventory and hang a trophy on the mantel. One entity that represents a dozen of this exotic item. And you can go down to the basement and view them like you can your collection of hunters masks. But you can't put them back in inventory.
I would estimate that over 70% of my inventory and stash are trophy items. But that isn't going to make me stop playing the game, or call for redesigning.
RichardOshea 167 posts
Inventory and character info have to be server side as I have reformatted the drive this game runs on many times and reinstalled back to my character without issue. If it were on my end I'd have deleted my character whilst formatting.
If the inventory were limiltless then I'm certain that the first strategies I'd look at were about not letting it get out of hand which would be filtering in mission and immediately afterwards. But that's what you do any way so it would be limitless in theory but limited in practice because of time and effort. I prefer it to be limited.
The only thing I'd change is to stop letting mods use up stash slots and give them a seperate allocation.