[GS] Overpopulation

Discuss the new AI features ("NoAI") introduced into OpenTTD 0.7, allowing you to implement custom AIs, and the new Game Scripts available in OpenTTD 1.2 and higher.

Moderator: OpenTTD Developers

Post Reply
User avatar
Skarfester
Engineer
Engineer
Posts: 53
Joined: 07 Jun 2022 02:09

[GS] Overpopulation

Post by Skarfester »

I wrote my first OpenTTD game script :D

Overpopulation keeps track of the world population and records a milestone every time the initial population is doubled. There is no final goal; each time you reach a population milestone the next one starts, so you can play to see how much you can increase the population up to a certain date or how many years do you need to reach a certain milestone (x4, x8, x10...).
The code is build on top of City Growth Limiter Minimal by gnrd, a fork of City Growth Limiter by Sylf, which means that towns need a minimum percentage of passengers transported to grow.
It also includes an optional income tax that increases with every population milestone, starting at 0% so you have time to prepare. In the games I've played it really weighs you down so it's way harder to become a billionare.

After some testing and debugging the code is finally ready for a release. I'll wait for some more playing and hopefully some feedback before uploading it to bananas.

UPDATE July 2023

New version 3
See following post: viewtopic.php?p=1263234#p1263234
Attachments
Overpopulation.tar
the game script v1
(50 KiB) Downloaded 78 times
screenshot
screenshot
overpop.png (88.58 KiB) Viewed 2044 times
Last edited by Skarfester on 12 Jul 2023 01:31, edited 1 time in total.
User avatar
Skarfester
Engineer
Engineer
Posts: 53
Joined: 07 Jun 2022 02:09

Re: [GS] Overpopulation

Post by Skarfester »

Any feedback, language corrections or translations are much appreciated.

For future releases I'm thinking of adding other optional cargo requirements like mail and goods and also an industry controller so the map doesn't end up cluttered with industries.
User avatar
2TallTyler
Route Supervisor
Route Supervisor
Posts: 495
Joined: 11 Aug 2019 18:15
Contact:

Re: [GS] Overpopulation

Post by 2TallTyler »

It's always lovely to see a new GS, particularly one that adds new and interesting goals to the game. :D

My main critique is that it doesn't seem to work properly with multiple companies. Only the first gets a storybook and goal list. The "Income tax last month" display in the goal list doesn't change and neither company appears to be taxed at all.

Personally, I don't think the OpenTTD economy can be fixed and the real challenge comes from other aspects, so I'm not interested in the income tax at all. It may be easier to remove it, if that's what's needed for multiplayer compatibility. Or you could look into "growth points" in Renewed Village Growth and reward companies differently for their contributions to growth...but that seems overly complex. I quite enjoy the simplicity of this. :)

A few minor points:
  • In the goal list, after completing a goal the top line says "Starting population multiplied by 2". I don't know what this means, since the starting population mentioned in the notebook still (correctly, I think) gives the number at the start of the game. Assuming this doesn't change, you could just remove this line from the goal list and let the "Next population goal" indicate that the goalpost has moved?
  • In the main story book, the word "duplicates" sounds odd. I think "doubles" would fit better.
  • In the main story book, it says the income tax will increase every time a new goal is achieved. It would be nice to know by how much it will increase.
  • If only one town exists on the map, the script throws an error and fails. This looks intentional, but might not be needed? (Might be leftover from City Growth Limiter.
  • In the town window, it might look cleaner to include the percent required on the same line as percent transported, as in "Passengers transported: 49% (35%)"
  • As mentioned above, the "Income tax last month" display in the goal list does not update, at least in multiplayer games.
I'd also like to see this in the in-game content downloader so more people can discover it. :D
User avatar
Skarfester
Engineer
Engineer
Posts: 53
Joined: 07 Jun 2022 02:09

Re: [GS] Overpopulation

Post by Skarfester »

Thank you very much 2TallTyler for your time reviewing the script. I really appreciate it.

The GS is single player only, cause it's hardcoded to company 0. I suppose it won't be hard to make it multiplayer as the goals would be shared by everybody.

The intention of the income tax is to force the player to invest in other sources of income instead of just focusing on passengers for growing the population very fast. In my tests it makes way harder becoming rich, so you are wary about money for longer. You can turn it off, anyways.

Now with the other points:
2TallTyler wrote: 27 Feb 2023 21:38 In the goal list, after completing a goal the top line says "Starting population multiplied by 2". I don't know what this means, since the starting population mentioned in the notebook still (correctly, I think) gives the number at the start of the game. Assuming this doesn't change, you could just remove this line from the goal list and let the "Next population goal" indicate that the goalpost has moved?
It's a reminder for the last goal achieved, as noted in the storybook. The wording could be better, I suppose, although I like to use short sentences so you can have the info in a small window open on a corner of the screen.
In the main story book, the word "duplicates" sounds odd. I think "doubles" would fit better.
Noted.
In the main story book, it says the income tax will increase every time a new goal is achieved. It would be nice to know by how much it will increase.
True. That's explained in the readme, but not in game. It's the same number as the many times the original population has doubled (2 times = 2%, 4 times = 4%, 6, 8, 10, 12...).
If only one town exists on the map, the script throws an error and fails. This looks intentional, but might not be needed? (Might be leftover from City Growth Limiter.
That's part of City Growth Limiter. Since you can transport passengers within a town it's probably not needed. Noted.
In the town window, it might look cleaner to include the percent required on the same line as percent transported, as in "Passengers transported: 49% (35%)"
True. Will do.
As mentioned above, the "Income tax last month" display in the goal list does not update, at least in multiplayer games.
The GS calculates profit comparing your actual balance with your last month's balance, deducting loan. So you only pay when you make money over loan amount, and only if you made profit that month. Should work for company 0.
I'd also like to see this in the in-game content downloader so more people can discover it. :D
Will do, once the GS is more mature. You helped with that.
User avatar
Skarfester
Engineer
Engineer
Posts: 53
Joined: 07 Jun 2022 02:09

Re: [GS] Overpopulation

Post by Skarfester »

Version 3
Version 2 was never published... :P

This new version includes a simple optional industry limiter: when a certain amount of industries on map is reached (a percentage of the starting ones) the industry spawning is disabled. When that number drops due to industry closures the spawning will resume once again (like the town growth, it works as an on/off switch).

Now you can use this script as a simple town and industry limiter and forget about the rest.
But if you wish to have actual goals I added two optional ones: a total population goal and a minimum population per town. The latest one could be particularly interesting in sub-arctic and sub-tropical maps where you need food and water to grow certain towns. In temperate climate it won't be a challenge unless you set up a high passenger requirement for town growth.

The script is now available on bananas.
Goals window with all settings enabled
Goals window with all settings enabled
overpopulation.png (10.22 KiB) Viewed 1578 times
User avatar
2TallTyler
Route Supervisor
Route Supervisor
Posts: 495
Joined: 11 Aug 2019 18:15
Contact:

Re: [GS] Overpopulation

Post by 2TallTyler »

Great! Can't wait to try out the new version. :)
Post Reply

Return to “OpenTTD AIs and Game Scripts”

Who is online

Users browsing this forum: No registered users and 3 guests