Yes, there is, with some caveats
The real mechanics are a bit complicated. Here's an in-depth resourcenote. You can also check out the code, specifically the file
From the contents of this file, you can learn the following happens when
fund_new_buildings is set:
- The growth rate improves from 1/100 to 1/60 (with 5 functioning stations).
- The "CBD" of the town is enlarged to 25 tiles.
- The 'house build counter' is set to a low number, building an additional house, if not pressed too quickly.
That third point is what can cause repeated use of Fund New Buildings to grow a small town quickly, colloquially known as powerfunding. Here's the relevant line of code:
t->grow_counter = min(t->grow_counter, 2 * TOWN_GROWTH_TICKS -
(t->growth_rate - t->grow_counter) % TOWN_GROWTH_TICKS);
There are 74 ticks in a day.
TOWN_GROWTH_TICKS = 70.
growth_rate is simply the rate of growth in days per house, times 74. The
grow_counter is a simple tick counter, keeping track of how long until we next attempt to build a house. Let's assume building a new house always succeeds. (On failure, the counter is reset to
You can actually make this happen: The town is for example hand-built using a spiral pattern, with no loops and no dead ends that do not feature plenty of empty space to build in.
Let's see what happens if a few values are plugged into this formula: At
growth_rate > 140, the formula will reduce any
grow_counter greater than 140 to 140. Below this number (faster growth) there is no effect. So if your town is big enough, you should only fund at the start of every 3-month period. (1st of January, 1st of April, 1st of July, 1st of October).
Thus, by pressing the fund new buildings button every 141 ticks, you can maximize this effect. This amounts to pressing it about every 2 days. Because humans are inaccurate, trying to exactly time your button press like mechanical clockwork to a precision of a single frame is unlikely to work for you. And pressing too early (even by one tick) does completely waste your money. So how can you do this perhaps a bit suboptimally, but at least reliably? There are two methods:
- Check the house counter in the town. Press the fund new buildings button every time it increments. It has a bit of a delay.
- Fund every 3 days, not every 2.
- Use an openttd client with a patch that includes powerfunding. As of now, the BTPro and Citymania (linked above) clients both have it.
- If you want, you could even try to extract the functionality from the above for inclusion in trunk and/or to just have that one modification. It would be quite useful to have a couple buttons to automate funding (once every 3 months or once every 141 ticks) in the default game as well. It's in scope (see vehicle autoreplace).
Note: This resource was assembled with user experience playing the game, not actually debugging the code, and isn't updated as often as the openTTD code is. It's wrong or not quite accurate on some points, though this particular article is still mostly relevant. For example, the bug where "Fund new bulidings" can actually increase the grow counter has been fixed, as you can see with the use of the