StrangeLoopGames / EcoIssues

131 stars 21 forks source link

House bonus stacks wrong when multiple (+4) residents living in the same house #20296

Closed Seekersdk closed 3 years ago

Seekersdk commented 3 years ago

Something goes very wrong when 4+ ppl live and share the same house. Eg, the frist bedroom gets the 100% 2nd gets 200% 3rd gets 400% 4th get 800% etc

How to produce the bug:

  1. Build house
  2. Make 4 bedrooms with beds
  3. Get 4 ppl to move in
  4. Then you have the issue
  5. Then make 4 toilets, WCs, kitchens
  6. If you are more ppl, you just make more rooms ofc. and the bug goes crazy

Its stack like crazy the more ppl who move in. You have to be 4 persons or more for the bug to kick in

Confirmed the bug on Whitetiger as well, to rule out my own server. Feel free to check my house out on Whitetiger (1073,373).

Some players on my server managed to get minus 1 million XP, draining their XP bar right away. bug1 bug2

aritchie05 commented 3 years ago

Can confirm, this is also happening with a group of 5 people on my server. Hitting the soft cap on a room causes extreme negative xp gain.

Going from 5 residents to 6 residents causes house value to jump from 83.26 to 242.2.

5 residents: image

6 residents (no change in furniture): image

talonos2 commented 3 years ago

We did some experimentation and realize that the value of each piece of furniture is ((1-D)/(1-T))N, where D is the listed diminishing return value, T is the "penalty" for having multiple occupants, and N is the number of previous pieces of furniture in that category. So for the third hewn chair in a given room in a three person house, we're getting ((1-0.3)/.5)2, or 1.42. I've tested this: 10 hewn chairs gives a ridiculously high value, as per the formula.

But it gets worse: Rooms follow the same pattern, just with a D locked to 0.5. This means with three people (a 50% reduction) there is no diminishing returns on rooms, and if you can get a housing penalty "worse" than a 50% reduction, each room is worth more than the one before it, scaling exponentially off into infinity.

It seems something's going wonky with the material soft cap, too. Not sure what. Normally, the second full multiple of the soft cap is worth half the first, the third is worth half the second, etc. So, for instance, 10 worth of furniture in a tier 1 room is normally worth 7.5, 15 worth of furniture is worth 8.75, etc.

It no longer works like that if you have multiple people on the same deed. With three people (a 50% reduction) 5 worth of furniture gives the full 5, 10 worth of furniture gives zero, and then the value of the room starts going negative: 15 worth of furniture gives you -10, and it starts exploding exponentially into negative infinity after that.

WeaselDog commented 3 years ago

This is fixed in 0.9.2.4

SlayksWood commented 3 years ago

release-156 still an issue for me. A little different, but the problem is there and now starts with the addition of 2 residents. It gives correct penalties tight now, but will broke Room calculation. Step to reproduce: I build a Hosue with 4 Bedrooms, 1 Kitchen, 1 Bathroom and 2 General Rooms.

and etc.

SlayksWood commented 3 years ago

And I guess it was broken here too (haven't tested it yet) #20353

talonos2 commented 3 years ago

Seems intentional.

Look at it this way: With one resident, you get one "free" room and the rest decreasing exponentially after that, you asymptotically approach 2x the points of your best room.

With three residents, you get three "free" rooms and then the rest decrease exponentially. In this case, you asymptotically approach 4x the points of your best room. But this is divided in half because of the residency penalty, leaving you at 2x the points of your best room, same as with a single person.

I think this feature is working as intended. One is the same, two has a better asymptotic cap than one, three has the same asymptotic cap, and beyond that overcrowding takes place and the cap gets worse. Also it's now impossible to get exponential "runaway" XP like that 200,000 point house I had a few hours ago before the patch. I am satisfied with these new formulas, so far as I understand them.

gzatravkin commented 3 years ago

Yes, the change to give for each new resident one free of penalty room is intentional. The issue was critical because of allowing near infinity skill points. So if it don't happens anymore I would close the issue and maybe create new one for balancing (the final formula is still in discussion) @SlayksWood

talonos2 commented 3 years ago

the final formula is still in discussion

Thanks for the heads up; I'll avoid updating the wiki page for a while. ;)

talonos2 commented 3 years ago

Spreadsheet stuff: I'm sure the devs are aware of this, but this is so the others watching this thread are aware:

If you want to maximize how much XP you, personally, receive, form a two-person house. (Or, not pictured, a 270+ person house with 270+ rooms) Either of these will let you break past the "asymptotic cap" of 200% that was present in previous versions.

image

If you want to maximize how much XP the entire group receives, be in a three person house or a 150+ person house:

image

TwixterZ commented 3 years ago

Issue re-emerged as of 9.4 Staging 2022

image.png

Daniel-Magulado commented 3 years ago

Tested on 0.9.4 Staging-2040.

Tested via commands. Closing as fixed.

image