Openttd

在城鎮仍然有資金的情況下為新建築提供資金有什麼好處嗎?

  • June 3, 2022

在地方當局視窗,我可以“資助新建築”,從而加速城鎮發展。假設我已經資助了新建築:

OpenTTD 本地權限視窗

即使該城市目前已獲得資金,現在再次為新建築提供資金有什麼好處嗎?換句話說,如果我連續多次“資助新建築”,而城市仍然有資金,我只是在浪費我的錢嗎?

是的,有,但有一些警告

真正的機制有點複雜。這是一個深入的資源說明。您還可以查看程式碼,特別是文件/src/town_cmd.cpp

從該文件的內容中,您可以了解到fund_new_buildings設置時會發生以下情況:

  • 增長率從 1/100 提高到 1/60(有 5 個執行站)。
  • 小鎮的“CBD”擴大到25塊。
  • “房屋建造計數器”設置為較低的數字,如果沒有按得太快,可以建造額外的房屋。

第三點是可以導致重複使用 Fund New Buildings 快速發展小鎮的原因,俗稱powerfunding。這是相關的程式碼行:

t->grow_counter = min(t->grow_counter, 2 * TOWN_GROWTH_TICKS - 
   (t->growth_rate - t->grow_counter) % TOWN_GROWTH_TICKS);

一天有74 個滴答聲TOWN_GROWTH_TICKS = 70. growth_rate只是每所房子的增長率,乘以 74。這grow_counter是一個簡單的滴答計數器,記錄我們下一次嘗試建造房子的時間。讓我們假設建造新房子總是成功的。(失敗時,計數器重置為TOWN_GROWTH_TICKS)。

您實際上可以做到這一點:例如,該城鎮是使用螺旋圖案手工建造的,沒有環路,也沒有死角,沒有足夠的空白空間來建造。

讓我們看看如果在這個公式中插入幾個值會發生什麼: 在growth_rate > 140處,公式會將grow_counter大於 140 的任何值減少到 140。低於這個數字(增長更快)沒有任何效果。因此,如果您的城鎮足夠大,您應該只在每 3 個月開始時提供資金。(1月 1日、4 月 1日、7 月 1日、10 月 1日)。

因此,通過每 141 個滴答按下基金新建築按鈕,您可以最大限度地提高這種效果。這相當於大約每 2 天按壓一次。由於人類是不准確的,因此嘗試像機械發條一樣將您的按鈕按下時間精確到單個幀的精度不太可能對您有用。過早按下(即使是一個刻度)確實會浪費你的錢。那麼你怎麼能做到這一點可能有點不理想,但至少可靠呢?有兩種方法:

  1. 檢查鎮上的房屋櫃檯。每次增加時按下基金新建築物按鈕。它有一點延遲。
  2. 每 3 天注資一次,而不是每 2 天注資一次。
  3. 使用帶有包含 powerfunding 的更新檔的 openttd 客戶端。截至目前,BTPro和 Citymania(上面連結)的客戶都擁有它。
  4. 如果您願意,您甚至可以嘗試從上面提取功能以包含在主幹中和/或僅進行一項修改。在預設遊戲中也有幾個按鈕來自動注資(每 3 個月一次或每 141 個刻度一次)將非常有用。它在範圍內(請參閱車輛自動更換)。

注意:此資源是根據玩遊戲的使用者體驗組裝的,而不是實際調試程式碼,並且不會像 openTTD 程式碼那樣經常更新。它在某些方面是錯誤的或不太準確,儘管這篇特定的文章仍然主要相關。例如,“資助新建築”實際上可以增加增長計數器的錯誤已得到修復,正如您使用min()宏所看到的那樣。

引用自:https://gaming.stackexchange.com/questions/374182