大家好,我們最近向大家展示了一些遊戲創作概況,現在是時候展示一些較小的細節了,因為如果細節不能處理好的話,遊戲便不會那麼出色。
異星工廠將存在數十億年
我們一直認為用 32 比特整數來計算時間足夠了。每秒有 60 個刻度,這使得單次遊戲可以連續玩 2.2 年。但異星工廠是一款自動化遊戲,因此不可避免地會有人讓遊戲在後臺運行並最終溢出計數器 (https://forums.factorio.com/107837)。這顯然是不行的!
在1.1中,博斯基德將計時類型統一封裝在一個類中,為對底層類型的改變做好了一些準備。這意味著遷移到 64 比特整數並不那麼痛苦,並且保存文件時間的新理論限制是 97 億年。這一變化在遊戲引擎方面相對簡單,但它在模組 API 方面帶來了一些問題。
異星工廠使用 Lua 5.2,它具有實現為雙精度浮點數的單數字類型。隨著浮點數中的值變大,該類型能夠包含的詳細程度會降低。雙精度可以完全準確地表示的最大整數值為 2^52,即 237 萬年的刻度。
較新版本的 Lua 包含允許完全精度的專用整數類型,但由於我們在內部對該語言進行了大量修改和錯誤修復,因此升級 異星工廠的 Lua 版本並不可行。這意味著 Lua 腳本只能指定最多 2^52 的精確刻度值,並且可以使用 math.huge 指定“最大可能的計時”。當錯誤報告開始出現時,超過 200 萬年似乎足以讓我們不再擔心。
物流請求與恢復屍體相關的調整
我們有一個功能,當你死後重生時,你的個人請求將被禁用,以避免在找到你的屍體之前重新提供物品。但令人煩惱的問題是,當我們忘記在恢復屍體後再次重新啟用請求時,我們必須弄清楚發生了什麼,以及為什麼沒有提供物品。
由於所有煩人的事情都需要自動化,我們必須解決它。因此,現在當您恢復屍體時,您死前的設置將被恢復(除非您同時進行更改)。
智能數字格式
很多時候你想設置一些常數,比如“我想要 7.5 個堆棧”,手動計算當然是不可接受的。因此,我們讓您可以直接在文本字段中輸入數學表達式。
視頻01
這基本上是 1 行的代碼更改,因為我們已經有了解析數學表達式的代碼來定義無限的技術成本。我們只需要定義一些常量(k 代表 1000,M 代表 1 000 000 等等)並在玩家確認後解析文本。這意味著你可以做不同類型的事情:
⚙ 10k
⚙ 10*50k
⚙ 10+50
⚙ 10^6
⚙ 等等。
最大範圍指示器
這是經典的地下傳送帶建築微型,您需要超過最大可建造距離才能驗證是否將地下建築放置在最佳位置。數到 4 很容易,但隨著更高等級的傳送帶來更復雜的數字(6 和 8),很難訓練視覺直覺來判斷它們能到達多遠。這個解決方案是如此簡單又如此美好,當地下連接達到最大距離時,我們將其著色為令人放心的綠色,讓您立即知道您已達到完美。
之前:必須走到盡頭並退一步
視頻02 —— 之前:必須走到盡頭並退一步
之後:地下連接的顏色發生變化以指示最大距離
視頻03 —— 之後:地下連接的顏色發生變化以指示最大距離
當地下連接達到最大範圍時,它會變成綠色
對圖表標籤做出改進
StrangePan 花了一些時間改進自定義圖表標籤的功能。我們現在能夠快速拖動它們、複製它們(通過使用按鍵綁定)並在放大時將它們放下(這樣您就可以獲得完美的對齊效果)。
視頻04
保存排序
這也是一個非常明顯的細節處理,加載/保存遊戲對話框中顯示“上次修改時間”,並且可以在按字母順序和最新順序之間切換排序。
手動調整燈的顏色
設置氣氛燈,或者使用自定義顏色,而無需通過設置組合器來設置顏色的樣板。
當然,它還允許當前電路網絡無法實現的許多顏色。
地圖上機器人的顏色
有時可能會發生一些建築機器人被拋在後面或被遺忘的情況。它們很快就會耗盡電力,而且它們的低能耗慢速模式往往能量太小,無法再次找到您。
這就是為什麼我們為機器人地圖可視化添加了更多顏色,綠色是您個人的顏色。通過這種方式你可以相對容易地找到它們。還有其他顏色適用於其他情況,例如為您送貨的物流機器人、蜘蛛/其他玩家的建築機器人等。
你能猜出機器人的顏色代表什麼意思嗎?
更智能的摧毀機器 + 強制建造
懸崖炸藥在遊戲開始時無法使用,隨著遊戲的發展,它們的解鎖時間甚至會更加延遲。為了避免當你在懸崖上強制建造時對懸崖進行無意義的摧毀標記,我們對其進行了更改,只有在研究了懸崖炸藥後才將懸崖標記為摧毀。
當您沒有解鎖懸崖炸藥時,懸崖將不會被摧毀。
這也適用於超級強制建造,除非你解鎖它,否則它不會放置填海場。
#steam遊戲# #開發日誌# #自動化# #基地建設#