Inflation

well to be honest i never understood inflation, does anyone have any idea what it does????

It just increases your total expenses by a certain % based on how many turns you have already passed. Check the financial advisor (F2) in a developed game and you should see how the inflation affects your :gold: per turn.
 
I have a compromise idea to fix inflation, which will hopefully be balanced for all playstyles. It consists of;

  1. Making the base driver of inflation (or deflation) rate of Gold income. By this i mean that if you have 10% of your treasury in income a turn you have 10 units of inflation (modified by gamespeeds ofc). What that base unit would be would have to be calculated, but you get the basic idea. This would only apply to positive gold above a certain percent of Treasury.
  2. Deflation would be handled much like inflation, except that instead of one unit per percentage point of Treasury, it would be one point per 3 percentage points of treasury gold loss. This would prevent Deflation from unfairly helping those with a horrible cash flow.
  3. Civics which modify Inflation would modify the base value. So, if a civic gave +15% inflation, it would add 15% on to whatever base value we choose. Same for civics that give negative inflation modifiers.
  4. Hurrying things would have a more indirect impact on inflation, because they reduce that Treasury value that determines how many units of that base value of inflation you get.
  5. Inflation, once calculated in the manner listed above, would act much as it does now, adding that much to your expenses. For instance, if you have 5000 gold of expenses and 7% Inflation, you would actually have 5350 gold of expenses. Inflation would NOT compound.
  6. Trade would be normalized in the manner that Koshling suggested, as that seems like the most reasonable idea.

What does everyone think about this plan? I tried to take parts of everyone's suggestions, so that we would upset the lowest number of people, but I want feedback, especially from Koshling, who would be coding this. :)
 
Wouldn't that mean that one could 'cure' inflation just by running a big surplus for a long time? Once my treasury gets big, the per turn proportion of change goes down, so the inflation base value would also decrease. That sounds like the opposite of what you're looking for unless I've missed something.
 
Wouldn't that mean that one could 'cure' inflation just by running a big surplus for a long time? Once my treasury gets big, the per turn proportion of change goes down, so the inflation base value would also decrease. That sounds like the opposite of what you're looking for unless I've missed something.

I don't want Inflation to run away with a positive feedback mechanism, as that ruins games and makes them unplayable. This way we will cap extreme +:gold: while keeping things from becoming unplayable due to certain playstyles. Running a large surplus for a long time will decrease the base value, but it will also run up a lot of extra expenses, thus capping your treasury until you start using deflationary tactics.
 
I don't see how the extra expenses would matter if you already can run a sizable surplus and they aren't compounded/carried over in some way. By the time your expenses to be modified are big enough to matter, your already going to have been building the treasury for quite some time. So you're not really capping anything.

I think you would be far better served by giving playsytles that cause runaway inflation a way to modify their behavior for a while (promote deflation through civics changes). If the solution is instead to just make inflation universally irrelevant, I think it would be a more efficient use of your time just to strip it out entirely.
 
I don't see how the extra expenses would matter if you already can run a sizable surplus and they aren't compounded/carried over in some way. By the time your expenses to be modified are big enough to matter, your already going to have been building the treasury for quite some time. So you're not really capping anything.

I think you would be far better served by giving playsytles that cause runaway inflation a way to modify their behavior for a while (promote deflation through civics changes). If the solution is instead to just make inflation universally irrelevant, I think it would be a more efficient use of your time just to strip it out entirely.

Depends on what the base value is doesn't it. I'm basing this a lot off of Crime and how it accumulates.
 
I'm still in favour of the sldiing average schema I posted on the previous page. Its a smaller change to the codebase and seems to have the right properties.
 
Depends on what the base value is doesn't it. I'm basing this a lot off of Crime and how it accumulates.

1)I had in my head a base value of 1, in my current game I saw 2000gpt and 200,000 treasury for a 1% rate. You could have a base value that's higher, but I think you'll run into problems in the Prehistoric Era for anyone who doesn't get a fair amount of seed money from goody huts.

2)I don't understand how the description you've given is similar to crime accumulation. I can see how one could have an inflation-ish effect based on the limiter to crime accumulation [Calculate inflation rates however you want, but make Inflation Cost an additively accumulating value increasing each turn by income times inflation rate. This would still need some mechanism for deflation for when it gets burdensome aside from running a deficit.], but I don't think that's what you're talking about.
 
Prehistoric shouldn't run into any trouble with Inflation as everyone is under No Inflation Civics during almost the whole of Prehistoric. Start considering Inflation effects after Slavery is researched and/or after the Inflation Offset in SpeedInfo.xml has been reached in number of turns.
The Offset means no inflation will take effect until at least that many turns have passed in the game.

Cheers
 
Prehistoric shouldn't run into any trouble with Inflation as everyone is under No Inflation Civics during almost the whole of Prehistoric. Start considering Inflation effects after Slavery is researched and/or after the Inflation Offset in SpeedInfo.xml has been reached in number of turns.
The Offset means no inflation will take effect until at least that many turns have passed in the game.

Cheers

Yes, the effect of the offset would remain unchanged.
 
Ok, I have completely reworked how inflation is applied, in a way that should address the way it currently scales out of control the deeper you go into the game.

I'm not going to claim that the new inflation system is in any way a model of real world inflation, but I believe it fulfills the game purpose and has the right gameplay characteristics.

Before I describe the mechanism in detail, these are the characteristics I wanted:
  1. Costs due to inflation should increase the longer you spend with high inflation modifiers (i.e. - it kicks in progressively)
  2. Costs should not escalate indefinately. They should cap at some (reasonable) point
  3. Arbitrary contributors to inflation should be supported, so all current sources continue to feed into the new mechanism without requiring changes to them
  4. High inflation costs should be addresable by switching to a lower inflation environment (usually civics). This should (progressively, not instantly) reduce your costs, not just arrest their growth
  5. It should be cheap to calculate
  6. The exact parameters of the process should be tweakable via global defines since I am going on holiday and it may need tweaking!

So this is how it works:
  • The game (already, so in existing saves) has the cost modifier due to inflation. Cost calculation continues to use this as now. The new mechanism just changes how this value is modified over time.
  • The game already has a routine to calculate your current inflation 'rate'. Again I am leaving this unmodified (well, I reinstated hurry modfiiers, which ls612 had removed as an interim position, now that the entire mechanism is more clement), so that the various sources of inflation continue to act.
  • Finally, each turn the game ran a calculation that took the current modifier and the current inflation rate, and adjusted the modifier. This is where all the changes are (it's very self-contained):
    • Previously the calculation just took the current cost modifier and applied the current rate to it to get the next turn's modifier (it actually applied 100th of the displayed inflation percentage every turn). This is a ratchet unless you can actually get negative current inflation, and for constant inflation leads to an exponentially growing cost modifier over time.
    • In the new system it takes the current inflation rate and compounds it up for a fixed window of time (aka turns) or the number of turns since the game started (minus the gamespeed's 'inflation offset', which is the turn number at which inflation starts) if that is lower. This window is the first config parameter. If not present in the global defines it defaults to 200. Its name is "MAX_INFLATION_EFFECT_WINDOW". This gives a cost modifier that would be the one we wanted if the current inflation rate had been in force forever. This is your equlibrium cost modifer (i.e. - the one you'll end up with eventually if nothing ever changes from then on)
    • It then adjusts the current cost modifier towards the equilibrium one it just calculated in the previous bullet, by one Nth of the difference between them. This N is the second tunable parameter. If not present in the global defines it defaults to 50, but after reading that value it is adjusted by the game speed modifier, so 50 is actually more like 200 on snail - it is a measure of how long it takes your cost modifiers to move to the equilibrium position that your current inflation rate (if maintained) would imply. The effect of this is to cause your costs to drift up or down towards their new equlibrium level as the inflation environment changes. The name of this global define is "INFLATION_RATE_MOMENTUM"
Since I provided default values in the code (as above) I have not bothered adding the global defines, but if you need to override it based on tuning experience they are there for that purpose.

Note - I have also not attempted to change any descriptions in the pedia since I'm not sure what needs changing for concept entries like this.

Finally, I have made a small change to the financial advisor - the hover text for the inflation entry will now say "stable", "improving", or "worsening" in the line that tells you your current rate - this reflects whether your costs are currently moving down or up (towards the current equilibrium level), so when you first switch to a higher inflation civic (say) it will initially say 'worsening' an your costs will ramp up turn to turn. As you get close to the end of the calculation window period (circa 200 turns on snail) it will change to 'stable' and your costs won't ramp any further (well much - I change it to reporting stable slightly before it reaches the equilibrium point)

Expect this to hit the SVN later today...
 
I want to say :woohoo:, maybe now I'll get to see an Inflation rate below 33%. Hopefully.

JosEPh
 
Should we expect to see a huge spike in inflation from rush building stuff (that's two questions-is the code meant to do so at the moment and do you have an opinion on it).

Just wondering so I can plan ahead. I don't currently worry about having enough gold to rush build a wonder at the moment.
 
Should we expect to see a huge spike in inflation from rush building stuff (that's two questions-is the code meant to do so at the moment and do you have an opinion on it).

Just wondering so I can plan ahead. I don't currently worry about having enough gold to rush build a wonder at the moment.

Rush inflation is progressive - I think it adds 1% per rush. It will also have less of a long term effect unde the new system than it did und the old, so I wouldn't worry unduly about it.
 
so how you can fight the inflation

It is no longer a system that unrelentingly increases costs every turn (where all you can do is influence how fast it increases then). Now it moves costs towards an equilibrium level based on the inflation modifers you currently have selected (through civics and so on). Hence selecting lower inflation civis will now not just reduce the rate of cost increase (old system), but actually lower costs over time to the new equilibrium level.

Hurry inflation might still be a slight fly in the ointment, that needs further tweaks, but you now have other tools to fight it with. I might make further changes to hurry inflation (decay it slightly each turn that does not involve a hurry for instance), but I want to see how the changes to the basic system settle in first.
 
Rush inflation is progressive - I think it adds 1% per rush. It will also have less of a long term effect unde the new system than it did und the old, so I wouldn't worry unduly about it.
Suggestion for when you get back-maybe it should be proportional to the ratio of gold spent rushing to gross income? So rushing units in an emergency should be relatively trivial, but one turn rushing a wonder would spike inflation for a while?

Also this is calculated every turn without memory if I read you correctly, so you don't actually reach the equilibrium until the difference is a rounding error, right? That is to say, if (just pulling some numbers out of a hat) current inflation is x1 and equilibrium is x2 with N=100, then the progression isn't x1, x1.01, x1.02, ... x2 on turn 101, but rather x1, x1.01, x1.0199, x1.029701, ..., well I'm not quite sure because I'm doing this in my head, but something short of x2 by turn 101?
 
Rush inflation is progressive - I think it adds 1% per rush. It will also have less of a long term effect unde the new system than it did und the old, so I wouldn't worry unduly about it.

So wait, rushing something like a lumber camp has the same effect as rushing some 3000 :hammers: building?
 
Back
Top Bottom