<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://www.tt-wiki.net/index.php?action=history&amp;feed=atom&amp;title=TTDTownGrowth</id>
	<title>TTDTownGrowth - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.tt-wiki.net/index.php?action=history&amp;feed=atom&amp;title=TTDTownGrowth"/>
	<link rel="alternate" type="text/html" href="https://www.tt-wiki.net/index.php?title=TTDTownGrowth&amp;action=history"/>
	<updated>2026-05-13T22:13:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://www.tt-wiki.net/index.php?title=TTDTownGrowth&amp;diff=6408&amp;oldid=prev</id>
		<title>Orudge: Reformat and update</title>
		<link rel="alternate" type="text/html" href="https://www.tt-wiki.net/index.php?title=TTDTownGrowth&amp;diff=6408&amp;oldid=prev"/>
		<updated>2011-06-18T15:54:46Z</updated>

		<summary type="html">&lt;p&gt;Reformat and update&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:54, 18 June 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=TTD Town Growth=&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;How towns grow in regular TTD&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is very technical, and only required if you want to fine-tune your town growth. Otherwise, you can skip over this and the next section.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is very technical, and only required if you want to fine-tune your town growth. Otherwise, you can skip over this and the next section.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 56:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 50:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{|&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{|&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;!&lt;/del&gt;[1] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;!!&lt;/del&gt;When a town building fund is active (i.e., up to 3 months after using the &quot;Fund new buildings&quot; option).&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&lt;/ins&gt;[1] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;||&lt;/ins&gt;When a town building fund is active (i.e., up to 3 months after using the &quot;Fund new buildings&quot; option).&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|[2] ||When a town building fund is active and &quot;towngrowthratemode&quot; is set to 1.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|[2] ||When a town building fund is active and &quot;towngrowthratemode&quot; is set to 1.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|[3] ||In this case the town is blocked with a 11/12 probability, so the effective mean &amp;lt;tt&amp;gt;growth_delay&amp;lt;/tt&amp;gt; is 1920.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|[3] ||In this case the town is blocked with a 11/12 probability, so the effective mean &amp;lt;tt&amp;gt;growth_delay&amp;lt;/tt&amp;gt; is 1920.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|[4] ||This is a bug in TTD (array overrun). TTDPatch now fixes this if any of &quot;generalfixes&quot;, &quot;towngrowthratemode&quot; or &quot;towngrowthlimit&quot; is active. If &quot;towngrowthratemode&quot; is 0 or off, &amp;lt;tt&amp;gt;growth_delay&amp;lt;/tt&amp;gt; is set to 80 (which seems to be the original programmer&#039;s intention); if &quot;towngrowthratemode&quot; is 1, it&#039;s set to 55.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|[4] ||This is a bug in TTD (array overrun). TTDPatch now fixes this if any of &quot;generalfixes&quot;, &quot;towngrowthratemode&quot; or &quot;towngrowthlimit&quot; is active. If &quot;towngrowthratemode&quot; is 0 or off, &amp;lt;tt&amp;gt;growth_delay&amp;lt;/tt&amp;gt; is set to 80 (which seems to be the original programmer&#039;s intention); if &quot;towngrowthratemode&quot; is 1, it&#039;s set to 55.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 115:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 106:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Regardless of all the town growth processing mentioned above, each town building&#039;s status is updated periodically (every 256 ticks). This includes construction progress and &quot;production&quot; of passengers and mail. If the town the building belongs to is not blocked, this also includes destroying the building (and, with 61/64 probability, immediately building a new one in its place) at random intervals. This process is not controlled by &amp;lt;tt&amp;gt;growth_delay&amp;lt;/tt&amp;gt; or any of the new town growth switches, althought is does indirectly affect the growth of a town.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Regardless of all the town growth processing mentioned above, each town building&#039;s status is updated periodically (every 256 ticks). This includes construction progress and &quot;production&quot; of passengers and mail. If the town the building belongs to is not blocked, this also includes destroying the building (and, with 61/64 probability, immediately building a new one in its place) at random intervals. This process is not controlled by &amp;lt;tt&amp;gt;growth_delay&amp;lt;/tt&amp;gt; or any of the new town growth switches, althought is does indirectly affect the growth of a town.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Additional Reading]][[Category:New Town Growth Mechanism]][[Category:TTDPatch]][[Category:TTDPatch Manual]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://www.tt-wiki.net/index.php?title=TTDTownGrowth&amp;diff=5747&amp;oldid=prev</id>
		<title>Pm-bot: Bot: Automated text replacement (--= +==)</title>
		<link rel="alternate" type="text/html" href="https://www.tt-wiki.net/index.php?title=TTDTownGrowth&amp;diff=5747&amp;oldid=prev"/>
		<updated>2011-06-15T11:27:34Z</updated>

		<summary type="html">&lt;p&gt;Bot: Automated text replacement (--= +==)&lt;/p&gt;
&lt;a href=&quot;https://www.tt-wiki.net/index.php?title=TTDTownGrowth&amp;amp;diff=5747&amp;amp;oldid=3163&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Pm-bot</name></author>
	</entry>
	<entry>
		<id>https://www.tt-wiki.net/index.php?title=TTDTownGrowth&amp;diff=3163&amp;oldid=prev</id>
		<title>Orudge: 2 revisions</title>
		<link rel="alternate" type="text/html" href="https://www.tt-wiki.net/index.php?title=TTDTownGrowth&amp;diff=3163&amp;oldid=prev"/>
		<updated>2011-06-12T19:11:03Z</updated>

		<summary type="html">&lt;p&gt;2 revisions&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;How towns grow in regular TTD&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=TTD Town Growth=&lt;br /&gt;
&lt;br /&gt;
How towns grow in regular TTD&lt;br /&gt;
&lt;br /&gt;
This is very technical, and only required if you want to fine-tune your town growth. Otherwise, you can skip over this and the next section.&lt;br /&gt;
&lt;br /&gt;
The basic time unit in TTD is a &amp;amp;quot;tick&amp;amp;quot;. &amp;amp;nbsp;In the following, it will be used to describe how often something happens. &amp;amp;nbsp;A tick of &amp;amp;nbsp;the simulation engine takes ca. 27 ms, if your computer is fast enough, otherwise it takes as long as necessary. &amp;amp;nbsp;One TTD day is ca. 74 ticks, which is about 2 seconds &amp;amp;nbsp;of real time on fast enough computers.&lt;br /&gt;
&lt;br /&gt;
The &amp;amp;quot;expansion state&amp;amp;quot; of a town is determined by two fields in town &amp;amp;nbsp;structure: bit 0 in the word at the offset 0x12 (I&amp;#039;ll call it the &amp;amp;nbsp;-+growth_flag+-) and the byte at 0x0A (-+idle_countdown+-):&lt;br /&gt;
&lt;br /&gt;
||-+growth_flag+- &amp;amp;nbsp; |-+idle_countdown+- &amp;amp;nbsp; |state&lt;br /&gt;
&lt;br /&gt;
0 |any |blocked&lt;br /&gt;
&lt;br /&gt;
1 |0 |expanding&lt;br /&gt;
&lt;br /&gt;
1 |nonzero |idle||&lt;br /&gt;
&lt;br /&gt;
Town status update (including expansion) is performed on every tick in a &amp;amp;nbsp;round-robin fashion; since the town array can hold 70 entries, the main &amp;amp;nbsp;town status update procedure is called every 70 ticks for each town. &amp;amp;nbsp;If &amp;amp;nbsp;the town is blocked, nothing happens. &amp;amp;nbsp;If it&amp;#039;s idle, -+idle_countdown+- is &amp;amp;nbsp;decremented. &amp;amp;nbsp;If it&amp;#039;s expanding, an attempt to place a new building or a &amp;amp;nbsp;piece of road (or a bridge) is taken; if it succeeds, the expansion &amp;amp;nbsp;state is changed to idle by setting -+idle_countdown+- to the byte at 0x39, &amp;amp;nbsp;from now on referred to as -+growth_delay+- (extension of an existing road usually &amp;amp;nbsp;doesn&amp;#039;t change the state to idle). Therefore, -+growth_delay+- &amp;amp;nbsp;determines how often the town will be in the expanding state, and thus &amp;amp;nbsp;is the &amp;#039;&amp;#039;inverse&amp;#039;&amp;#039; growth rate of the town. &amp;amp;nbsp;Smaller values of -+growth_delay+- &amp;amp;nbsp;mean faster growth.&lt;br /&gt;
&lt;br /&gt;
-+growth_delay+- is reset each month, and depends on the number of &amp;amp;quot;active&amp;amp;quot; stations within town&amp;#039;s transport zone as follows:&lt;br /&gt;
&lt;br /&gt;
||number of |-+growth_delay+-&lt;br /&gt;
&lt;br /&gt;
&amp;amp;quot;active&amp;amp;quot; stations &amp;amp;nbsp; |normal |funded&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[1]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; |funded&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[2]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 0 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; | &amp;amp;nbsp; 160 &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[3]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; | &amp;amp;nbsp;60 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;| &amp;amp;nbsp; 60&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; | &amp;amp;nbsp; 210 &amp;amp;nbsp; &amp;amp;nbsp; | &amp;amp;nbsp;60 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;| &amp;amp;nbsp; 60&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 2 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; | &amp;amp;nbsp; 150 &amp;amp;nbsp; &amp;amp;nbsp; | &amp;amp;nbsp;60 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;| &amp;amp;nbsp; 60&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 3 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; | &amp;amp;nbsp; 110 &amp;amp;nbsp; &amp;amp;nbsp; | &amp;amp;nbsp;60 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;| &amp;amp;nbsp; 50&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 4 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; | &amp;amp;nbsp; 80 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;| &amp;amp;nbsp;60 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;| &amp;amp;nbsp; 40&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 5 or more | &amp;amp;nbsp; 11 &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[4]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp;| &amp;amp;nbsp;60 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;| &amp;amp;nbsp; 30||&lt;br /&gt;
&lt;br /&gt;
Footnotes:&lt;br /&gt;
&lt;br /&gt;
||&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[1]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; |When a town building fund is active (i.e., up to 3 months after using the &amp;amp;quot;Fund new buildings&amp;amp;quot; option).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[2]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; |When a town building fund is active and &amp;amp;quot;towngrowthratemode&amp;amp;quot; is set to 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[3]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; |In this case the town is blocked with a 11/12 probability, so the effective mean -+growth_delay+- is 1920.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[4]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; |This is a bug in TTD (array overrun). &amp;amp;nbsp;TTDPatch now fixes this if any of &amp;amp;quot;generalfixes&amp;amp;quot;, &amp;amp;quot;towngrowthratemode&amp;amp;quot; &amp;amp;nbsp;or &amp;amp;quot;towngrowthlimit&amp;amp;quot; is active. If &amp;amp;quot;towngrowthratemode&amp;amp;quot; is 0 or off, -+growth_delay+- is set to 80 (which seems to be the original programmer&amp;#039;s intention); if &amp;amp;quot;towngrowthratemode&amp;amp;quot; is 1, it&amp;#039;s set to 55.||&lt;br /&gt;
&lt;br /&gt;
Apart from the random blocking in the case &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[3]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;, town growth is also blocked:&lt;br /&gt;
*in the sub-arctic climate, if the central tile of the town is above &amp;amp;nbsp;the snow line, and no food has been delivered to the town in the last month;&lt;br /&gt;
*in the sub-tropical climate, if the central tile of the town is in &amp;amp;nbsp;desert, and no food or no water has been delivered to the town in the last &amp;amp;nbsp;month.&lt;br /&gt;
&lt;br /&gt;
The switches townminpopulationsnow and townminpopulationdesert &amp;amp;nbsp;may be used to prevent blocking of towns with population less than some threshold, so they get a chance to grow enough to accept food.&lt;br /&gt;
&lt;br /&gt;
If &amp;amp;quot;largertowns&amp;amp;quot; is active, -+growth_delay+- is halved for selected towns, making them grow twice as fast &amp;amp;nbsp;(except in the case &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[3]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; above, so transport is still necessary to &amp;amp;nbsp;make towns grow; this is different if &amp;amp;quot;towngrowthratemode&amp;amp;quot; is 2, &amp;amp;nbsp;as explained in the next section).&lt;br /&gt;
&lt;br /&gt;
A station is &amp;amp;quot;active&amp;amp;quot; if any cargo has been picked up or accepted there &amp;amp;nbsp;within the last 50 days. &amp;amp;nbsp;The type of cargo is irrelevant, so if there&amp;#039;s &amp;amp;nbsp;a coal mine in the middle of a town and you&amp;#039;re picking up coal there, it &amp;amp;nbsp;will contribute to the growth of the town. &amp;amp;nbsp;This also means that many &amp;amp;nbsp;single-facility stations make a town grow faster than one multi-facility station, as long as &amp;amp;nbsp;they&amp;#039;re serviced regularly.&lt;br /&gt;
&lt;br /&gt;
The town&amp;#039;s transport zone is a circular area around the town&amp;#039;s central &amp;amp;nbsp;tile. &amp;amp;nbsp;Its radius (in tiles) is a function of the number of town &amp;amp;nbsp;buildings as follows:&lt;br /&gt;
&lt;br /&gt;
||number of town buildings &amp;amp;nbsp; &amp;amp;nbsp;| radius of transport zone&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;0--3 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;|2&lt;br /&gt;
&lt;br /&gt;
4--7 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;|4&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;8--11 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; |5&lt;br /&gt;
&lt;br /&gt;
12--15 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;|6&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;16--19 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;|7&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;20--35 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;|8&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;36--71 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;|9&lt;br /&gt;
&lt;br /&gt;
72 or more &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;|0||&lt;br /&gt;
&lt;br /&gt;
Notice the last row. &amp;amp;nbsp;If there are more than 71 town buildings, the &amp;amp;nbsp;transport zone vanishes and stations no longer contribute to the growth. &amp;amp;nbsp;However, if &amp;amp;quot;towngrowthlimit&amp;amp;quot; is enabled, TTDPatch changes this by extrapolating the &amp;amp;nbsp;function for larger values.&lt;br /&gt;
&lt;br /&gt;
Also note that the internal number of buildings may be incorrect &amp;amp;nbsp;in games save under old versions of TTDPatch or without TTDPatch, due to the bugs &amp;amp;nbsp;mentioned in [[GeneralFixes|General Fixes]]. &amp;amp;nbsp;However, this is not a big problem since TTDPatch &amp;amp;nbsp;recalculates these numbers (and populations) if the extended town data are enabled &amp;amp;nbsp;(see [[MoreTownStatistics|More Town Statistics]]) and the game without those data is loaded, &amp;amp;nbsp;and all the new town growth switches do enable the extended town data.&lt;br /&gt;
&lt;br /&gt;
The function called if a town is in the expanding state starts by &amp;amp;nbsp;searching for a piece of road in the vicinity &amp;amp;nbsp;of town&amp;#039;s centre. &amp;amp;nbsp;If no road is found, an attempt is made to create it. &amp;amp;nbsp;If a road piece is found, the function randomly `walks&amp;#039; along the roads trying &amp;amp;nbsp;to find a place to create a new house, or possibly branch out a new street &amp;amp;nbsp;or extend an existing one. &amp;amp;nbsp; Normally, this walk is limited &amp;amp;nbsp;to 20 steps (where a tunnel counts as one step), which limits the maximum &amp;amp;nbsp;possible extents of a town. &amp;amp;nbsp;The &amp;amp;quot;towngrowthlimit&amp;amp;quot; switch modifies this value.&lt;br /&gt;
&lt;br /&gt;
Regardless of all the town growth processing mentioned above, each town &amp;amp;nbsp;building&amp;#039;s status is updated periodically (every 256 ticks). &amp;amp;nbsp;This includes construction progress and &amp;amp;quot;production&amp;amp;quot; of passengers and &amp;amp;nbsp;mail. &amp;amp;nbsp;If the town the building belongs to is not blocked, this also &amp;amp;nbsp;includes destroying the building (and, with 61/64 probability, &amp;amp;nbsp;immediately building a new one in its place) at random intervals. &amp;amp;nbsp;This process &amp;amp;nbsp;is not controlled by -+growth_delay+- or any of the new town growth switches, &amp;amp;nbsp;althought is does indirectly affect the growth of a town.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
</feed>