Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Inflation problem (since 1.11.0 beta1) - price and cost levels, therefore the difficulty level varies depending on the game start date #8627

Closed
LC-Zorg opened this issue Jan 31, 2021 · 9 comments
Labels
enhancement Issue would be a good enhancement; we accept Pull Requests!

Comments

@LC-Zorg
Copy link

LC-Zorg commented Jan 31, 2021

Version of OpenTTD

1.11.0-beta1

Expected result

The initial prices and cost level is 100% regardless of the start date of the game.

Actual result

Inflation has been counted since 1924 and doesn't work before.
When starting the game later, prices and costs take into account the inflation that has been in effect since 1924, which can be very high and in practice prevent the game.
The loan level is also irrelevant to the game settings.
Loan bug 2

Comment

The problem concerns especially games that start later - this change can significantly spoil the balance of the game, making it impossible to play. An extreme example is Wasteland, where the game starts in 2077, when inflation is already at a very advanced, near-final level.
A significant problem will be adjusting costs in such games, where each different starting year means a different balance.
Another problem is taking a loan - the standard value of £ 10,000 is not subject to inflation, which makes borrowing / repaying amounts other than the maximum cumbersome.

@2TallTyler
Copy link
Member

Just for reference, the recent change was discussed in #7589 and #8429.

@TrueBrain
Copy link
Member

As the references @2TallTyler mention, this has been talked about in length, and you can read up on them in the mentioned places.

First off, currently the consensus is that inflation is broken; as such, the default in 1.11 changed that inflation is off by default. Enabling it means you are venturing into games with some weird behaviours. This is well known, and not likely to be fixed. Our advise: disable inflation.

In general, inflation was always meant to run between 1920 till 2090. Prior to 1.11, it used what-ever start year you had to start inflation, which resulted in horribly broken games if you started early, especially with NewGRFs loaded. This change is an attempt to remedy that a bit, while still make it possible to play games that start later too. However, if you start a game late, so after 2050 or so, you will have to adjust the loan you start out with. The game does not do this for you.

So in conclusion, the problem you describe is "working as intended". From your perspective it might be a regression against 1.10, but for many other people this is a fix for their way of playing.
If you do want to play with inflation and late state dates, we suggest you adjust the starting loan yourself to get enough foothold to make an empire. After that, the game will be like a regular inflation-based game.

@nielsmh
Copy link
Contributor

nielsmh commented Mar 15, 2021

I'm going to reopen this one, because the argument is wrong.

In Transport Tycoon Deluxe, inflation begins counting in the game start year. Prices are at the base in 1950 (which is always the game start year in the unpatched game), there is no inflation applied from 1920-1950 unless you use a patched game. This means the game balance has changed (increased difficulty) even for the default world generation, when inflation is enabled.

Additionally, as reported on TT-Forums, if a game was started before 1920, it has already received inflation between the original start year and 1920, but this inflation will continue increasing until 2090 regardless of when the older inflation calculation would have stopped applying more. For example, a game started in 1850, saved in year 1950 in version 1.10.x, and then loaded in 1.11, will receive 240 years of inflation in total by 2090, instead of 170 years of inflation max by 2020.

@nielsmh nielsmh reopened this Mar 15, 2021
@LordAro
Copy link
Member

LordAro commented Mar 15, 2021

Honestly, just removing inflation entirely is looking more and more tempting. At least it's disabled by default now (#8463)

There's no good solution here - it's basically impossible to "fix" old savegames to reverse existing inflation, and reapply the new method

@LordAro
Copy link
Member

LordAro commented Mar 15, 2021

Another problem is taking a loan - the standard value of £ 10,000 is not subject to inflation, which makes borrowing / repaying amounts other than the maximum cumbersome.

This is an issue that could be fixed

The loan level is also irrelevant to the game settings.

The setting is not game-specific, so it can't have inflation pre-applied in the settings window to make it clearer. Perhaps it could be reworded to say "pre-inflation" somewhere in the text? Alternatively, rework it entirely to be a percentage of starting money (200%, 300%, etc)

@JGRennison
Copy link
Contributor

If compatibility with old saves which made different assumptions is an issue, you could use the old mechanism for old saves, and the new mechanism for new saves.
At the risk of invoking the "s" word, the most straightforward to implement this would be with a setting, which you could then expose to the user too if you're feeling brave. (I've already put this in my branch).

@LC-Zorg
Copy link
Author

LC-Zorg commented Mar 15, 2021

LordAro: This is an issue that could be fixed

Of course it is possible. :) A partial loan can always be 1/50 of the maximum. There are other possibilities as well. I will not elaborate on the topic because this is not a talk about it - just look at the bottom left corner of this graphic. ;)

LordAro: There's no good solution here - it's basically impossible to "fix" old savegames to reverse existing inflation, and reapply the new method

Of course it is, and it is not one thing. :)

I will mention a few:
1. Check the start date of the game and make the possibility of continuing inflation dependent on it - it does not solve the problem of too high costs when the game starts on a later date.
2. Equalizing the level of cost and revenue inflation - JGR wrote about it - simple and with the addition of the denomination function it's enabling to use inflation in an unlimited period, but also this solution castrates inflation from an interesting function of a gradual increase in the difficulty of the game.
3. Adding separate settings for inflation of costs, revenue and interest on a loan - James103 wrote about it - such possibilities would be appreciated by every non-beginner player who likes challenges. The default settings would be equal to cost and revenue inflation.
4. Variable level of inflation, depending on the global proportion of revenues and costs:

  • when costs are low, cost inflation is high (relative to revenue inflation)
  • when costs increase, cost inflation decreases, even to zero (relative to revenue inflation)
  • when costs exceed revenues, cost inflation is negative
  • hyperinflation may occur during a recession (applies to revenues and costs)
    This solution will make:
  • the game will never become impossible to continue
  • broken games will be repaired
  • the difficulty level will adapt to the level of the player
  • balance of add-ons will change, but it will always be at a level acceptable to the player.
  • new inflation instead of the percentage setting could have a difficulty setting that would set a limit on the ratio of cost to revenue.
  • inflation will be able to run for an unlimited period (this will require adding a denomination function)
  • revenue inflation could be constant or variable - higher when the amount of investment is high.

@2TallTyler
Copy link
Member

Variable inflation is actually a very interesting idea — such a negative feedback loop could make money relevant again in the mid- and late-game, which I guess was the original idea of inflation.

This would, however, take a lot more time to develop, test, and balance than we have time for before 1.11 releases in a couple weeks. Maybe something to consider for 1.12?

@James103
Copy link
Contributor

@LC-Zorg For (3), if the implementation also allowed Game Scripts to control the inflation cost factor, then that would allow Game Scripts to (also) solve (1), (2), and (4).

@2TallTyler 2TallTyler added the enhancement Issue would be a good enhancement; we accept Pull Requests! label Oct 19, 2022
@OpenTTD OpenTTD locked and limited conversation to collaborators Jan 9, 2024
@2TallTyler 2TallTyler converted this issue into discussion #11738 Jan 9, 2024

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
enhancement Issue would be a good enhancement; we accept Pull Requests!
Projects
None yet
Development

No branches or pull requests

7 participants