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

[Feature]: Make money scaling implicit #10

Closed
kaomoneus opened this issue Jan 6, 2022 · 5 comments
Closed

[Feature]: Make money scaling implicit #10

kaomoneus opened this issue Jan 6, 2022 · 5 comments

Comments

@kaomoneus
Copy link
Owner

kaomoneus commented Jan 6, 2022

Version of OpenTTD this feature is to be implemented.

12.1.slowpace-1.2

Description

Currently we multiply max loan amount, vehicle costs and some other costs on pace factor. Main motivation is to keep payback periods unchanged comparing to legacy modes.

  1. Introduce virtual currency on top of chosen currency with rate 1/<pace_factor>.
  2. Add support of prices with fractional numbers.

All together it will allow to keep max loan, and costs unchanged comparing to legacy. At same time fares per single trip will be reduced and for big pace factor will become less than 1. E.g. bus might earn $0.54.

This approach supposed to be more intuitive for user experience.

Implementation description

It seems that all stuff should be done in FormatGenericCurrency.

In fact we don't even need a virtual currency. Just add support for decimal point and divide on pace factor

kaomoneus pushed a commit that referenced this issue Jan 6, 2022
@kaomoneus
Copy link
Owner Author

Just pushed implementation. Still wait before merge for may be some feedback.

Here's a screenshot (year pace = 1 hour):
Screen Shot 2022-01-06 at 7 45 32 PM

@James103
Copy link

James103 commented Jan 6, 2022

Would it be possible to

  1. Make sure that currency amounts show only 0, 2, or 3 digits (after the decimal). It is unusual for there to only be one digit after the decimal in a monetary amount.
  2. Take into account the exchange rate of the current currency with respect to the GBP when deciding how many digits after the decimal to show. In other words, even if the game pace factor is 100:1, if you use JPY, no decimals should be shown because the exchange rate (220:1) exceeds the game pace factor (100:1).

@kaomoneus
Copy link
Owner Author

Ok, that makes sense

@Ufiby
Copy link

Ufiby commented Jan 6, 2022

How did you calculate finances with a growth factor? If 1 annual pace is equal to 1 hour. 1 hour means that the coefficient is multiplied by 4. There is a possibility that 1 annual pace will be 2.5 hours. Thus, the coefficient is multiplied by 10. To receive payments from the profit, the price is divided by 10. Is this an opportunity ?

kaomoneus pushed a commit that referenced this issue Mar 7, 2022
@kaomoneus
Copy link
Owner Author

Implemented in 8fb25e1

smurfix pushed a commit to smurfix/OpenTTD that referenced this issue Jan 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants