RimWorld
587 次評價
儲存區遲滯演算法〔智慧補貨〕
16
12
2
7
2
2
3
3
   
獎勵
加入最愛
已加入最愛
移除最愛
Mod, 1.5, 1.6
檔案大小
發佈於
更新時間
551.468 KB
2024 年 6 月 22 日 下午 9:00
7 月 15 日 下午 1:26
10 項更新註記 (檢視)

訂閱以下載
儲存區遲滯演算法〔智慧補貨〕

在 pureMJ 的 1 個收藏中
Common Sense +
5 個項目
描述
儲存區新增了「智慧補貨」(遲滯演算法)功能。
低於設定值則補貨,高於另一個設定值則停止。

這可以有效防止「單送一份飯」這種蠢事,讓儲存更平衡,讓搬運自適應。

支援儲存區域,貨架,冰箱以及一切儲存類建​​築,也支援聯結在一起的多個儲存建築。
支持營養機進料口!

有自動演算法和手動切換功能。



背景知識
在遊戲裡我們有儲存區域,貨架,冰箱(mod裡的)等東西,統稱為儲存區。小人會自己搬到儲存區。

老玩家常用的策略:在餐桌/工作室/廚房等地方建造一些高優先級的貨架/冰箱/小型存儲區域,這樣小人幹活/吃飯時就可以隨手從旁邊拿材料,而不用跑很遠去通用儲存區拿貨。

這個辦法好是好,但是我們會發現當一個小人這麼做時,很有可能有另一個小人穿越整個地圖跑到通用存儲區拿單單一份飯,然後再跑很遠到剛才有人吃飯的桌子那裡把那一份飯放進冰箱。

這也太蠢了,我看著想死。

這個Mod新加
遲滯, 一個神奇的字解決問題!

怎麼做?裝上這個mod,對你喜歡的儲存區開啟「智慧補貨」功能,一切OK了!

詳細解釋
我們會設定一個目標使用區間。
小人把貨架上的材料慢慢使用消耗之後,這個貨架的使用率會降到區間裡的最小值以下,此時補貨就被自動開啟了。
小人可以一次搬運比較多的貨來補貨。 (尤其是如果你有Pickup And Haul Mod時那智慧補貨就非常必要)
補貨完成時這個貨架的使用率會提升到區間的最大值,此時補貨就又被暫停了。
之後再降到最小值以下,再開啟,…循環

這個過程被稱為「遲滯」。 原理跟各種工作台裡做東西設定成的「一直做直接到有X個」並且"暫停等個數低於Y」是一樣的。
這個目標區間我們叫它“遲滯區間”

常用情形
遲滯區間的不同設定能產生不同的工作模式。
下面是一些例子。

6-9 智慧補貨模式
經典的[60%, 95%). (這也是預設值。可以在mod設定裡改這個預設值)
這個模式下你的儲存區會被一些補貨到95%以上一點,然後補貨就暫停了,直到被用到低於60%.
這兩個數值對常用的貨架冰箱來說正好。再也不用看小人送單單一份飯了。

補貨一次模式
遲滯區間[0%, x%).
儲存區會被補貨到x%,然後就停了。之後不會再自動開始補貨,但你可以點一下手動按鈕則再次開始補貨。

無遲滯模式
遲滯區間[x%, x%).
儲存區會補貨到x%, 然後只要用掉一點就又會再補。
這個模式跟SatisfiedStorage mod很類似,不過本mod會完整的計算一個存儲區的所有格子,並且支持聯結在一起的存儲.

監控模式
遲滯區間[100%, 100%). ( 也可以用[95%, 95%) )
即使你不想用智慧補貨功能,打開它也是有好處的。
在這個模式下,小人的補貨行為類似你不用本mod,但是本mod:
1. 能提升大儲存區的後期遊戲效能
2. 能讓你輕鬆地在儲存介面上看見你的儲存區使用比例。

更多玩法等你來發現。

性能
經過後期遊戲,幾萬儲存空間的測試,本mod無負面效能影響。

實際上,靠著快取演算法,本mod反而提升了遊戲效能。原理是在本體遊戲裡如果你的大儲存區快滿了,小人搬東西時會一個一個格子試(後台計算),並且是每次都算。
而本mod會直接告訴遊戲「不用試了,補貨已經停了」。

相容
相容:Deep Storage, Pickup and Haul, While You Are Nearby, Rim Fridge 等等.
也兼容:Adaptive Storage Framework, RimKeeper - Storage & Filters Helper 等等。

F.A.Q
會影響遊戲運行速度嗎?
不會。事實上本mod能提升遊戲運行速度。

能隨便加入存檔或移除嗎?
可以

為什麼我的小人會往儲存區送貨送到高出設定的上限?
這個是正常的。 超量送貨效果是設計好的。

詳細解釋:
設定上限是為了兩個目標:
  1. 使用率低於上限時,如果是允許送貨狀態,則不會停止。
  2. 使用率達上限時,送貨自動停止。

注意,第一個目標是嚴格的.沒到上限補貨一定不會停。
但是第二目標不是。當上限達到的一瞬間,遊戲裡會花一點時間,最多一秒左右(可以在Mod設定裡設定),然後才會停補貨。這個是為了遊戲運作效率考慮。
同時,考慮到小人的工作效率,本Mod並不會強制停止已經在送貨的小人。他們會送完這最後一次再停止。
(如果你仔細考慮一下,你會發現強制停止沒有意義。其相當於浪費了上限之上的存儲空間,也浪費了小人最後一次送貨到一半的勞力付出)


更新
v0.2.0 支持 1.6.
v0.1.6 修正了一個小BUG:藍圖狀態的置物架無法連結.
v0.1.5 修正了一個小BUG:Mod設定只在DEV模式下才會顯示.
v0.1.4 緊急修復了一個遊戲無法讀取的BUG.
v0.1.3 修正了一個小BUG:營養機進料口的填充工作原來會忽略智慧補貨設定。
v0.1.2 改進了UI的邏輯,現在跟更多的mod相容了。
v0.1.1 修正了一個小BUG:當本Mod加入存檔時,舊的儲存區無法開啟遲滯功能。
v0.1.0 初版

感謝與連結
非常感謝在Rimworld Discord 伺服器裡#mod-development頻道的成員!

如果你喜歡這個Mod, 請關注我的其它Mod
熱門討論 檢視全部(1)
0
2024 年 6 月 26 日 上午 8:45
Bug Report
pureMJ
235 則留言
IEatTakoyaki 7 月 26 日 上午 3:23 
Is there an opposite mod for this? Like having storage next to butchers table for the leathers but i want a pawn to empty it if it gets too full
335369678 7 月 25 日 上午 6:52 
貌似只有总量的控制,能不能实现每种物品的数量控制:steamthumbsup:
DawnsGlow 7 月 25 日 上午 1:38 
The settings resets sometimes on gravship launch. Especially hoppers.
海胆今天吃dm53 7 月 23 日 上午 4:42 
在飞船上似乎起飞降落之后会自动关闭(
HUSboboKY 7 月 22 日 上午 4:44 
非常好用,萌新爱了,感谢:steamhappy:大佬
Han 7 月 20 日 上午 6:16 
您就是缘神!
irilis 7 月 19 日 上午 9:13 
Is there a way to actually enforce the upper limit? When I want only a small cache of something near some workstation, with 1%-2% smart refill mode. I don't want my pawns to carry a full stack there (especially with Stack XXL active)!
愛麗速子身上喘 7 月 19 日 上午 2:45 
感謝大佬
Windecho 7 月 16 日 上午 3:49 
Hero
johndoe123456 7 月 15 日 下午 2:16 
Bless 🙏