Shopping destroys household balance
Closed this issue · 13 comments
Hello, I have been doing some testing to see if the economy simulation works with your mod, then I realized something bizzare. I have the ExtendedTooltip mod to watch my households balance.
I have an initial town with just electricity and water (give me 4 jobs). I put 3 low residential buildings, then started to watch how the cims behave.
Unrelated but it is weird that some of them actually spawn with negative balance.
So, eventually those poor households move out, and some proper households move in. Then I look at my production and see tons of deficit for gas, food, etc. At this point I have no commercial building, so that means they somehow order stuff from out of the city, for "free"?
Anyways, then I put down a single shop, then one of my cims went shopping. This action makes their balance well below 0. Example, household had a balance of 1200, then they went to shopping and now they have -1500. Now their wealth is wretched and they leave the town soon after. This makes an endless loop of cims moving in, destroying their balance, then move out.
Then I disabled your mod, but the issue persist. I think there is something wrong about shopping in general in the game.
Also the numbers does not make sense to me. For example, I have 6 cims and I see a production deficit of 4 tons of gas in a month.
Even though this is not directly tied to the mod, looks like it already touches those systems so I thought maybe you can help with this.
How many cims are we talking about that generate that "tons of deficit"? Also, is it with all resources or just few? The game is finnicky and those resource spikes happen regularly but then go away.
If you install InfoLoom and enable Consumption option then you will see actual cims consumption vs. industrial demand.
In vanilla deficit/surplus is a result of comparing production to total demand from individual cims, and companies, both commercial and industrial.
As for shopping, cims always buy for 2000 * number of cims in the household. So if there are 2 cims in the household, they would buy for approx. 4000 thus going from 1200 to -1500. 3700 is close enough, they buy full units of resources so there are some roundings.
As for gas, it is mostly consumed by cars.
Also, one thing. in the very small cities the values shown are not actual consumption, but an ESTIMATE that the game makes to start things up. When the city grows, the actual consumption takes precedence and values start making sense.
For the tests I had 6-10 cims.
I see what you are saying, but isn't it weird for the cims to destroy their balances just to shop?
It is how devs programmed them. In the end it should not matter. Cims are allowed to be in the negative balance. If they work, the balance will become positive in end.
What matters is that their income must be enough to cover resources, rent and taxes. All those processes work independently, so balance changes up and down.
But in my tests I've seen them go to shop, get something like a -2000 | -3000 balance, and then move out so my small village wasn't stable
But in my tests I've seen them go to shop, get something like a -2000 | -3000 balance, and then move out so my small village wasn't stable
Like I said, there is no check in that system for balance, they will go and buy even with negative balance.
There is also not an obvious easy solution for that.
Cims consume resources. They must buy resources. If they e.g. buy for less to not enter into negative balance, they will buy less resources and consume them faster because they consume at a steady rate
So, they will have to buy another batch anyway, only faster
In the end they would have to either consume less or earn more
So, e.g. you could set lower taxes and thus they would have more money left in their pockets to buy resources
Is there a way to know how much an Cim earn? Is within their info? Or the company/industry info?
Wages are stored in the game prefabs, not visible in the game.
EconomyParameters.m_Wage0: 1200
EconomyParameters.m_Wage1: 2000
EconomyParameters.m_Wage2: 2500
EconomyParameters.m_Wage3: 3500
EconomyParameters.m_Wage4: 5000
RealEco tweaks it a bit, for better stability when the company levels up
Modded EconomyParameters: Wages 1400 1700 2640 3520 4350
But in my tests I've seen them go to shop, get something like a -2000 | -3000 balance, and then move out so my small village wasn't stable
Like I said, there is no check in that system for balance, they will go and buy even with negative balance. There is also not an obvious easy solution for that.
Cims consume resources. They must buy resources. If they e.g. buy for less to not enter into negative balance, they will buy less resources and consume them faster because they consume at a steady rate So, they will have to buy another batch anyway, only faster In the end they would have to either consume less or earn more So, e.g. you could set lower taxes and thus they would have more money left in their pockets to buy resources
Not sure if we can tweak their "resources", but maybe we can make cims move in with a "full resource" so they won't go to shop immediately after they move in? That way they would work for a few days to keep them afloat I guess
Also I've seen cims move in with negative balance which does not make any sense, would be nice if we can tweak that too
Edit: Maybe this only bothers me, but it makes me mad to see the economy model not working even in such a small scale
Hm... I think there is a bug in the routine that generates how much money households have at the start.
It literally allows for negative balance, from what I see it randomly generates the number in range -300..+700 for most of the households.
It can be either fixed in the code or in the params. Hm... I could tweak params such a fix in the next version of the mod.
Hm... I think the code is ok, it just the params are set wrongly. Instead of 2000 for initial budget which allows to buy the first batch of resources, they set 200. I think someone missed one '0'. If properly set, the households would start with budget in range 1000..3000.
Issue has been transferred from RealEco to RealPop and will be fixed here.
New households will spawn with more money, randomly between 2000 and 3000.