Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Item spawns are much too low. #34432

Closed
I-am-Erk opened this issue Oct 3, 2019 · 11 comments
Closed

Item spawns are much too low. #34432

I-am-Erk opened this issue Oct 3, 2019 · 11 comments
Labels
Game: Balance Balancing of (existing) in-game features. (P3 - Medium) Medium (normal) priority Spawn Creatures, items, vehicles, locations appearing on map

Comments

@I-am-Erk
Copy link
Member

I-am-Erk commented Oct 3, 2019

Is your feature request related to a problem? Please describe.
Presently, item spawns are geared towards creating artificial scarcity of items that should be commonplace, creating a rather weird in-game economy where stuff like bicycles, clothing, common books, or basic tools, which should be incredibly commonplace, are hard to obtain.

The difficulty with looting, when the game begins, should stem from the presence of dangerous zombie hordes, frightened survivors, and the challenge of choosing what high priority items to loot from a given site.

For reference, the Research Center and Mansion are pretty close to expected loot levels

Describe the solution you'd like
Items in nearly all buildings need to be increased dramatically, but not in a flat 10x item spawns way. I started, but have been unable to work further, on the Specific Use Storage item groups, sorting loot items by where they should spawn.

Not all item spawns need to be done through SUS groups. In stores, we could just massively increase the number of items spawning on shelves, for example. This still needs to be done carefully to ensure that it's common items spawning more: many rare items, like welding gear for example, are probably spawning at about the right level already.

Describe alternatives you've considered
Leaving it as is isn't really an option as NPC looting and scavenging increases: it will make already rare items completely unobtainable.

Flat increase of item spawns is a problem because it means items that should be rare are suddenly spawning at 10x expected rates.

Additional context
This is going to be a large project that changes gameplay significantly as it goes, I suspect.

@I-am-Erk I-am-Erk added Game: Balance Balancing of (existing) in-game features. Spawn Creatures, items, vehicles, locations appearing on map (P3 - Medium) Medium (normal) priority labels Oct 3, 2019
@snipercup
Copy link
Contributor

This still needs to be done carefully to ensure that it's common items spawning more: many rare items, like welding gear for example, are probably spawning at about the right level already.

I agree with your whole post and I think loot probabilities can be much more balanced if we had some tools to analyze what spawns where and how rare they are. Even if you would fix a specific category now, more items will be added and changed and it will help to re-create a picture of what spawns where and how much. There may be items in the game that have next to 0 probability to spawn even though it is a common item (like the kiddy bowl).

@I-am-Erk
Copy link
Member Author

I-am-Erk commented Oct 3, 2019

That gets a little complex - kiddy bowls are only rare because so many houses are procedurally generated and so don't have SUS kitchen supplies. In SUS kitchens they're fairly common. A tool like that would probably only give you the json answer, which misses the increasingly outdated and unnecessary procgen stuff.

For the purpose of this issue, we just need people to go through mapgen and item lists and rationally increase stuff. ALthough I agree a tool like that would be really handy

@bobchaos
Copy link
Contributor

bobchaos commented Oct 3, 2019

perhaps starting with a list of locations that need to be looked into, along with whether or not it's JSON or old proc-gen (so not-qualified-for-c++ folks like me can be directed right away to something they can handle)? I could contribute a location here and there, but without some sort of checklist it's likely that contributors would start stepping on each other's toe sooner or later.

@I-am-Erk
Copy link
Member Author

I-am-Erk commented Oct 3, 2019

Yeah, I'll probably add that once I've had a chance to find out what it would be.

@misterprimus
Copy link
Contributor

Yeah, I'll probably add that once I've had a chance to find out what it would be.

A bit related, but I noticed that spawns generally seem very distributed. Like for example, I'll go into a gun owner basement (you know, the ones that have 3-4 guns and 8-9 related or unrelated boxes of ammo) and it will be one item per spot on a bench. IRL all of this would likely be stored in a closet or cabinet since a typical cabinet would be able to hold 3 rifles, 3 handguns, and hundreds of rounds of ammo (which takes up a tiny amount of space). Is there any reason why the spawns appear so spread out? Is it because the game is designed to pick one item and spawn it per slot?

It just never made sense to me.
That and the difficulty in finding common household tools like a hacksaw.

@I-am-Erk
Copy link
Member Author

I-am-Erk commented Oct 3, 2019

That's what the SUS stuff is about: making things like a 'supply closet' item group that contains repeated entries for all the stuff you'd find in a supply closet. In stores it would mean having shelves designated to hold one type of merchandise, often repeated several times.

@misterprimus
Copy link
Contributor

misterprimus commented Oct 3, 2019

That's what the SUS stuff is about: making things like a 'supply closet' item group that contains repeated entries for all the stuff you'd find in a supply closet. In stores it would mean having shelves designated to hold one type of merchandise, often repeated several times.

Have you considered using cost, weight, and/or volume as a sort of multiplier affecting how many of an item is spawned? If the problem is that it's too much work to go into every single item and add this frequency modifier to it, then perhaps the method I mentioned would be the best, and then you just add an "override" value in case one or two dozen items end up being out of place.

@I-am-Erk
Copy link
Member Author

I-am-Erk commented Oct 3, 2019

I don't think any of those things would be a reliable way to create multiples.

It's a lot of work to revisit item spawns, but there's a lot to be gained from it too. By going over our old maps to touch up items, we can also upgrade furniture and do a lot of other necessary changes to make things newer and punchier. Overall, the item spawns do ultimately need to be revisited pretty thoroughly to have things spawning in logical-ish locations.

@bobchaos
Copy link
Contributor

bobchaos commented Oct 3, 2019

adding on Erk's comment, the original setting for this game was late 80s as I recall, a lot of the older buildings and terrain is still designed with the old setting in mind. The new setting being present day +1 year (off the top of my head). This can be a nice opportunity to bring the old stuff in line with the new setting

@misterprimus
Copy link
Contributor

misterprimus commented Oct 3, 2019

I don't think any of those things would be a reliable way to create multiples.

It's a lot of work to revisit item spawns, but there's a lot to be gained from it too. By going over our old maps to touch up items, we can also upgrade furniture and do a lot of other necessary changes to make things newer and punchier. Overall, the item spawns do ultimately need to be revisited pretty thoroughly to have things spawning in logical-ish locations.

Reliable? Not completely, but you'd get it 80-90% right and then you can fix the rest by introducing an "override" variable that's checked first and if it does not exist then the price/weight/volume parameters are used to determine spawns. Presently I think it works by running through the item group and rolling the dice until it gets an item. You could have it spawn each item in a quantity based on probability times a factor based on volume/price/weight, with heavier and more expensive items spawning less frequently. Perhaps even have a hard-coded max volume to the array of the items to prevent the spawning of a quantity of items that would not reasonably fit on a shelf (meaning check total volume of spawn after the items are in the array, but before they are finalized for that spot, and then run a loop deleting items one at a time randomly until volume is below ceiling).

The other solution is going through each JSON for every location - incredibly tedious and possibly not realistic.

@I-am-Erk
Copy link
Member Author

This can be closed now, the problem still exists but it's more of a project than an issue to track down remaining spots.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Game: Balance Balancing of (existing) in-game features. (P3 - Medium) Medium (normal) priority Spawn Creatures, items, vehicles, locations appearing on map
Projects
None yet
Development

No branches or pull requests

4 participants