【異星工廠】星期五報道 #391 - 2023 回顧


3樓貓 發佈時間:2024-01-04 10:24:32 作者:Wube Software Language

大家好,祝大家在新的一年裡萬事如意。

回顧 2023

寫這篇博客時已經到 2023 年底了,而我們仍在計算模組下載量。雖然大多數下載都是通過內置模組管理器進行的,但有些人喜歡使用下載腳本或 Docker 自動進行異星工廠的下載安裝。


其中一些在更新模組時發生崩潰,然後重新啟動,再次下載所有模組,但異星工廠驗證服務器很可能忽略下載腳本。因此,也許在這個節日期間,您那可憐的電腦在被遺忘的衣櫃裡漫不經心地一遍又一遍地下載“Power Armor MK3”。 


2023 年有:


⚙ 676 651 位用戶下載了 44 954 072 個模組。 

⚙ 2 043 個新模組和 7 832 個更新的模組。 

⚙ 1,368 名活躍的創建者,由 105 名合作者提供支持。

如果您想查看有關您個人模組使用情況的一些統計數據,您可以在此處查看您的個人回顧: https://factorio.com/login?mods=1&next=%2Fprofile%2Frecap%2F2023


去年,我們展示了玩家通常下載的不同模組數量。今年,我想向您展示一些有關今年模組多樣性的信息。第一個圖表顯示了 2023 年發佈的不同類別的模組。


第二個圖表顯示了按模組類別分組的所有 2023 年玩家下載量。

【異星工廠】星期五報道 #391 - 2023 回顧-第0張

模組變更日誌 2023

今年,我們繼續提高模組的 ✨ 可發現性 ✨。首先,我們添加了自動的高亮頁面 (https://mods.factorio.com/highlights),每週都會智能地選擇和推薦有趣的模組。雖然它工作得很好,但仍處於“實驗”階段,我們還沒有決定下一步該做什麼。


我們重新設計了模組搜索頁面並創建了“探索”頁面 (https://mods.factorio.com/explore)。它通過分頁提供快速、輸入即搜索的體驗。我們還做了相當多的工作,我想在這裡解釋其中一些內容: 


⚙ 當 Imgur 在 4 月份開始刪除圖像時,Sanqui 構建了一個系統,可以自動託管發佈在模組頁面或論壇上的外部圖像,從而保留舊的屏幕截圖並縮短加載時間。 

⚙ 為了降低成本,我們將“探索”頁面從 Algolia 遷移到了 Meilisearch 

⚙ 我們將模組存儲從基於 sftp 的解決方案更改為類似 s3 的對象存儲,這應該會提高模組上傳端點的可用性 (https://forums.factorio.com/viewtopic.php?f=189&t=104732)。


對模組管理器做出改進

模組是異星工廠不可或缺的一部分,我們付出了巨大的努力,致力於給大家提供良好的模組管理體驗。然而,第三方模組的體驗一直要遜色於基礎遊戲,雖然體驗“好”,但並不是“很棒”,還有許多小問題尚未解決。從 2.0 開始,我們將在遊戲中附帶多個內置模組,因此模組管理器和依賴項管理現在已歸入“基本遊戲體驗”範疇。由於我個人有豐富的建造模組的經驗,我對改善玩家和模組創作者的模組管理器很感興趣,並且我非常熟悉當前系統的痛點。我列出了需要改進的目標,並開始解決它們。


模組依賴項錯誤

試想一下:您剛為 Krastorio 2 配置了模組列表後開始新遊戲。在您不知情的情況下,您意外啟用了 Power Armor MK3 模組,但Krastorio 2 已將其標記為不兼容。直到通關一個小時後,你才意識到Krastorio 2 的內容缺失,你必須放棄保存並從頭開始。無論是作為玩家還是作為模組創作者,我都曾多次經歷過這種情況。


在 1.1 中,遊戲不會在發生衝突時通知您,而是默默地加載續模組。這導致許多模組創作者忽視了依賴項,並且當模組有很多依賴項時用戶會抱怨遊戲太繁瑣。與此相關的問題非常普遍,所以太空探索會發現問題,並通知用戶缺少哪些模組。

當發生依賴項錯誤時,異星工廠 2.0 會通知您,並且在問題得到解決之前不會允許遊戲加載。

【異星工廠】星期五報道 #391 - 2023 回顧-第1張

配置->重啟->配置->重啟

既然是依賴方面的問題,那我們需要修復出現問題的工作流程。 在 1.1 中,發生錯誤時,您有兩個選項:禁用受影響的模組,或禁用所有模組。如果想要解決問題,則需要啟用模組、更改模組版本或更新模組,那麼您首先需要禁用模組以允許加載遊戲,然後才能訪問模組管理器 GUI 界面來解決問題。這樣的模組工作方式非常煩人,因此我編寫了一個命令行模組管理器來避免遊戲不斷重新啟動 (https://github.com/raiguard/fmm)。


解決方案很簡單:在 2.0 中,我添加了一個新的“模組管理”按鈕,你可以訪問模組管理器 GUI 界面,包括所有模組門戶功能。您可以在上面的截圖中看到它。


安裝模組

在 1.1 中,模組管理器的安裝欄看起來相對簡單:一個包含一些基本排序/過濾選項的模組列表,以及一個用於顯示模組詳細信息的信息窗格。遊戲會獲取整個模組列表並立即創建整個列表,但這會導致遊戲處於調試模式時出現明顯的性能問題。


隨著模組網站上新的探索頁面的出現 (https://mods.factorio.com/explore),模組網站和遊戲內置模組瀏覽器之間的差異變得更大。我已經習慣了在網站上搜索和尋找模組的流程,只有在找到我需要的模組後才在遊戲中搜索它。如果遊戲具有相同的搜索和過濾功能,那不是很好嗎? 2.0 具有一個全新的探索選項,可以做到這一點。

星期五報道 #391 - 2023 回顧:安裝模組

注意:按標籤對模組進行過濾的功能尚未在新 GUI 中實現,但在 2.0 版本中將會實現。


在製作新界面時,我必須考慮幾個因素。出於性能和網絡原因,每次獲取整個模塊列表的 1.1 方法並不是一個很好的解決方案,並且在客戶端用 C++ 重新編寫複雜的搜索算法將導致網站搜索和遊戲內搜索之間出現不可避免的差異,這不會帶來良好的用戶體驗。另一方面,添加的模組搜索 API 將確保網站和遊戲內搜索結果的一致性。


我們採用了服務器端方法。為了快地啟動和運行,我選擇在 Go 語言中搭建一個模擬服務器,該服務器將從現有的模組網站 API 中獲取數據並以新格式提供服務。得益於 Go 內置的 HTTP 庫和非常易於使用的 JSON 解析,只花了幾個小時就讓這個服務器在我的筆記本電腦上啟動並運行。當我做好了探索功能時,我能夠根據需要自由調整 API,而無需佔用任何 DevOps 時間。這讓我可以花時間對模組管理器界面進行清理和重構,以使探索選項更易於實現,併為將來的更多的改進鋪平道路。


客戶端搭建完成後,Vinzenz 就需要開發 API。模擬服務器很穩定,在針對 API 進行測試時只發現了一些小問題,功能合併也相對順利。


未來的計劃

這些改進已經解決了我對模組管理器最大的不滿。雖然我的任務清單還遠未完成,但為了儘快向大家提供 2.0,我的大部分計劃將推遲到更高版本發佈之後。請繼續關注更多的遊戲內容!

  #開發日誌#        #自動化#       #基地建設#     #steam遊戲#    


© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com