[GS] Goal Based City Growth

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

srschacher
Engineer
Engineer
Posts: 37
Joined: 15 May 2017 12:48

Re: [GS] Goal Based City Growth

Post by srschacher » 20 Dec 2018 17:50

[removed]
Last edited by srschacher on 20 Dec 2018 18:39, edited 1 time in total.

User avatar
planetmaker
OpenTTD Developer
OpenTTD Developer
Posts: 9335
Joined: 07 Nov 2007 22:44
Location: Sol d

Re: [GS] Goal Based City Growth

Post by planetmaker » 20 Dec 2018 18:35

Please don't double-post questions.

srschacher
Engineer
Engineer
Posts: 37
Joined: 15 May 2017 12:48

Re: [GS] Goal Based City Growth

Post by srschacher » 20 Dec 2018 18:39

Sorry, I didn't intend to. At first, I thought it was a script error so I posted to the script thread. Then I thought it was an API error so I posted to the general thread with the intent to come back here and delete the original thread.

Steve

srschacher
Engineer
Engineer
Posts: 37
Joined: 15 May 2017 12:48

Re: [GS] Goal Based City Growth

Post by srschacher » 20 Dec 2018 20:14

If anyone wants to try this variant of the script, replace these two attached files into your game script folder. Be sure to make copies of the original files.

I added four game script parameters to control the behavior of the script changes:

1. Penalty Type (1=Original, 2=Easy, 3=Hard *default*)
2. Initial penalty percent (default is 10)
3. Growth of penalty percent (default is 5)
4. Duration of penalty in years (default is 7)

Zero is a valid value, so penalties can be turned off, too. Duration must be greater than 0.

Penalty Types are:

1. Original - 1% of current balance each month per expired goal.
2. Easy - 10% of balance at time of expired goal, paid out over the entire duration in monthly payments.
3. Hard - 10% of balance at time of expired goal, annually for the duration, paid monthly.

For #1, each subsequent expired goal adds 1% to the penalty.
For #2 and #3, the starting penalty and growth rate are script settings.

One thing you can do is mimic the original penalty but based on the balance at the time of the expired goal. To do this, use Penalty Type=2, Initial Penalty Percent = 12, Growth of Penalty Percent = 12, Duration = 100. This will keep the penalty from escalating when the Company balance increases.

Steve
Attachments
main.nut
Main script file
(47.76 KiB) Downloaded 52 times
info.nut
Script settings file
(10.22 KiB) Downloaded 52 times
Last edited by srschacher on 26 Dec 2018 17:52, edited 4 times in total.

pbrennan
Engineer
Engineer
Posts: 21
Joined: 10 Dec 2016 22:46

Re: [GS] Goal Based City Growth

Post by pbrennan » 21 Dec 2018 05:00

Thanks Steve. Good stuff!

srschacher
Engineer
Engineer
Posts: 37
Joined: 15 May 2017 12:48

Re: [GS] Goal Based City Growth

Post by srschacher » 21 Dec 2018 05:47

Thanks.

I updated the info.nut file to make the minimum duration of 1 to avoid a zero divide error if someone makes that value zero.

Please redownload the info.nut file for the latest version.

Steve

srschacher
Engineer
Engineer
Posts: 37
Joined: 15 May 2017 12:48

Re: [GS] Goal Based City Growth

Post by srschacher » 23 Dec 2018 23:57

I'm thinking that I was still too cheap in assessing the penalty. I think what I wanted was to assess a 10% penalty on the current balance, assessed each year in 12 monthly payments for seven years. Instead, what I coded was assessing the 10% penalty of the current balance, assessed monthly over seven years.

As an example, suppose you missed a goal with a $1,000,000 balance. A penalty of 10% would be $100,000 each year, made in 12 monthly payments per year. This would result in monthly payments of $8,330 for seven years.

Instead, what I coded was a penalty of $100,000, made in monthly payments of $1,190 over seven years.

My goal in the change was to assume that the company would continue to grow, so a payment of $8,330 today won't be as sever in seven years as it is today. To be sure, it's still severe enough to question the worth of ignoring a goal.

Comments? Look for a change in the files in the coming days.

Steve

srschacher
Engineer
Engineer
Posts: 37
Joined: 15 May 2017 12:48

Re: [GS] Goal Based City Growth

Post by srschacher » 26 Dec 2018 17:54

I uploaded new versions of both files.

Hopefully, this is the last revision.

Steve

misha.nut
Engineer
Engineer
Posts: 4
Joined: 31 Jan 2019 11:03

Re: [GS] Goal Based City Growth

Post by misha.nut » 31 Jan 2019 12:16

Hello there!

I have a question. How can I play with this script & FIRS 30.0.10? I've read a lot, tried to fix cargo list by using cargo.nut and Debug mode, tried onother Renewed_City_Growth and Simple_City_Builder... Still "cargoes don't match the list etc.".
May be someone have the right cargo.nut and can upload it... It's my favorite way to play OTTD so far :bow:
Do I something wrong?

srschacher
Engineer
Engineer
Posts: 37
Joined: 15 May 2017 12:48

Re: [GS] Goal Based City Growth

Post by srschacher » 02 Feb 2019 21:32

Which FIRS cargo setting are using in the game script options?

Steve

misha.nut
Engineer
Engineer
Posts: 4
Joined: 31 Jan 2019 11:03

Re: [GS] Goal Based City Growth

Post by misha.nut » 07 Feb 2019 23:37

srschacher wrote:Which FIRS cargo setting are using in the game script options?
I prefer "Nightmare", but i also tried Steel City for example.

srschacher
Engineer
Engineer
Posts: 37
Joined: 15 May 2017 12:48

Re: [GS] Goal Based City Growth

Post by srschacher » 08 Feb 2019 15:52

I play with Extreme, and that works. I don't think I ever tried to realign the other settings (note: I'm not the author of the script, so I only changed the penalty section of the code).

Can you try the Extreme setting to see if that one gives the error, too?

Steve

misha.nut
Engineer
Engineer
Posts: 4
Joined: 31 Jan 2019 11:03

Re: [GS] Goal Based City Growth

Post by misha.nut » 11 Feb 2019 09:04

srschacher wrote:Can you try the Extreme setting to see if that one gives the error, too? Steve
Thank you so much, Steve!!!
There was a problem with the translation of the FIRS GRF (i'm russian). So i set game lang to eng, reset GS & GRF parameters - and no error appeared! Awesome!

Post Reply

Return to “OpenTTD AIs and Game Scripts”

Who is online

Users browsing this forum: No registered users and 3 guests