Man, I can't tell you how excited I am about the upcoming changes! I'm almost drewling. I ran into virtual storage issues almost at day 1 of my SS2 playthroughs. But posting more than in game observations was way out of my league. So I am really happy @cbrgamer2 did such a wonderful job on this investigation.I believe I found the issues now - in my test settlements for each of the complexity levels, all of the numbers matched up perfectly across multiple in-game days. I have not yet had a chance to test networked settlements, but presumably there will be no issue since the code simply queries each networked settlement for the same data it grabs for an individual settlement and adds it all together.
We had three major problems:
1. The HUD was fetching production numbers twice for plots in multiple places.
2. The plots were not recording their operating costs for the HUD at the Category and Scrap complexities, so the HUD and actual consumption of those costs would only work correctly if playing in Component Complexity, and even then the HUD would get out of sync since the category and scrap levels were not being updated as well.
3. Then we have the worst offender, plot production was being done multiple times. 2 x at the Category level, and 4x at the scrap level - which would lead to massive sync issues and storage filling up 4x faster than it should. For people playing on Category or Component, this effectively meant they could only spend 1/2 and 1/4 their storage worth of resources.
The concern described in this thread about how plots consume independently, and therefore can only consume what is in storage, rather than taking from what would be produced that day first remains. It was actually something considered during development, and left in intentionally. Yes, we could do some sort of reserve pool, and I might change my tune on that in the future - but for now, I like that people don't just perpetually stay at their storage cap when they are producing a lot. I think the desire to be at cap all the time likely stems from how buggy the resource system has been, so now that you guys have pointed me to some solutions, and we can start experiencing what a functioning resource system feels like, we can better gauge how to change things in the future.
One of the projects that we've been discussing, basically since launch, is doing a full re-balance of the costs, to get the progression system we were aiming for. Getting a first draft was really tough for the team, and we knew it was going to need a lot of tinkering. We have a rough idea of how we want it to play out, and now that I seemingly have the code working, we can start collecting some feedback from players before we proceed with a rebalance.
Getting feedback on balance, with everyone playing with the broken code would have been tainted - so I'm really excited you guys found some threads for me to tug on!
Will be posting a build tomorrow so you guys can let me know if I've fully squashed the issue. After we've confirmed the bugs are definitely gone, would love to have some people start up new saves "for real" (ie with the intention of actually enjoying the game, and not just a test save for checking numbers) and start taking notes about how everything feels with a fully working resource system!
This is a very good point. If virtual storage is set back to 0, it may be hard to get production back up and happening again.One question: would it be advisable not to set the virtual resources to 0 but to e.g. 10% of the available storage space? Otherwise all plots will fail after one resets the virtual resources, won't they?
Sounds great KingGath. The only suggestion I have about the problem of plot consumption when you hit the cap is it would be great for players to have the ability to throw out excess virtual resources to make more room if they desire, as an alternative to always building more storage space.