你們好,我們想談談 2.0 基礎遊戲更新中的遠程視圖。這是後面能夠談論太空平臺和行星的基礎之一,讓我們開始吧!
遠程視圖
在 FFF-362 (https://factorio.com/blog/post/fff-362) 中,我們解釋了改進遠程幽靈建築的原因,因為它隨著蜘蛛機甲的存在而變得更加重要。隨著太空時代擴展版中行星和太空平臺的引入,遠程建築的重要性變得更加重要,因為你不可能同時出現在任何地方。我們的目標是能夠使用遠程視圖來完成您在本地可以完成的所有操作。其動機還在於儘可能消除本地和遠程建築之間的不一致,因此您的肌肉記憶在任何地方都幾乎相同。
遠程開啟
在當前的 1.1 版本中,您無法遠程打開組裝機器來更改配方、打開插入器來設置過濾器等。但您可以使用“藍圖技巧”來遠程執行此操作。這與上一篇 FFF-379 (https://factorio.com/blog/post/fff-379) 中描述的遠程連接電線的問題類似。因此我們對每個實體實現了遠程打開的功能,這僅適用於 1.1 中的火車站和機車。這允許您在實體中配置任何內容,但顯然,您不能只是將您的庫存物品傳送到那裡。
請注意遠程視圖左側的幽靈選擇器。
幽靈物品
由於我們希望讓您能夠做幾乎所有事情,因此我們需要一種遠程處理物品的方法。遊戲測試的最大動機是能夠添加燃料以停下火車,從不屬於一些物品的地方刪除隨機物品,以及添加/升級/刪除模塊。因此,解決方案是,您只需單擊庫存槽中的幽靈光標即可製作幽靈物品,該物品將由本地建築機器人運送到該槽位。拆除也是如此,使用摧毀十字並命令機器人將其取出。
完整視頻的鏈接在下面: https://cdn.factorio.com/assets/blog-sync/fff-380-add-remove-ghost-module.mp4
旋轉物品
在 1.1 中,您已經可以遠程更改實體的方向。問題是,你只能通過幽靈重建實體來做到這一點,而僅使用旋轉“R”按鈕並不起作用,這與本地建造相比又會造成了另一個不一致。我們內部有很多關於“現實方向”和“未來方向”的邏輯的討論,很多地方都要考慮,而且總是帶來越來越多的問題。
旋轉指令也無法給出皮帶是否旋轉/連接的良好反饋。
在解決與此相關的另一個問題時,我們意識到將旋轉固定為一個即時動作可能是出路。因為它不會過多破壞沉浸感,並且為我們和玩家大大簡化了一切,所以我們就這麼做了。
完整視頻的鏈接在下面:https://cdn.factorio.com/assets/blog-sync/fff-380-rotate-from-remote-view.mp4
打開幽靈
一旦我們允許遠程配置實體,就會出現一個新的惱人的問題。在本地,您可能習慣於只構建一臺組裝機並立即對其進行配置。但對於遠程構建,你必須放置幽靈,等機器人去建造它,然後你才能配置它。令人驚訝的是,從技術上來說,允許打開幽靈並配置它們並不困難。
完整視頻的鏈接在下面:https://cdn.factorio.com/assets/blog-sync/fff-380-opening-ghosts.mp4
繪製蜘蛛機甲和設備的藍圖
你無法遠程完成的另一件事是建造蜘蛛機甲,或重新配置它們的裝備。主要的技術成本是添加裝備幽靈,所以當你設計蜘蛛時,機器人可以將裝備安裝到蜘蛛機甲中。
完整視頻的鏈接在下面:https://cdn.factorio.com/assets/blog-sync/fff-380-blueprint-spidertron.mp4
額外的好處是,你現在可以將幽靈裝備放入你的盔甲中,這樣你就不必一次性訂購盔甲所需的東西,這種情況在擴展中由於品質而發生得更多。
幽靈圖塊上的幽靈實體
這對於平臺構建尤其重要,因此您無需等待所有空間平臺圖塊都被運送到天空進行物理構建,就能夠將幽靈實體放置在其頂部。即使在這種情況之外,能夠在幽靈垃圾填埋場上建造幽靈實體也是我們和很多玩家的長期願望。
完整視頻的鏈接在下面:https://cdn.factorio.com/assets/blog-sync/fff-380-ghost-entities-on-ghost-tiles.mp4
摧毀
摧毀器的 ALT+D 快捷鍵現在已經成為我肌肉記憶的一部分,但仍然存在能夠使用挖掘按鈕在本地刪除實體但不能遠程刪除實體的不一致之處。這就是為什麼現在您可以遠程“挖掘”實體以標記它們以進行摧毀。
完整視頻的鏈接在下面:https://cdn.factorio.com/assets/blog-sync/fff-380-deconstruct-with-mine.mp4
遠程查看文檔
由於行星和太空平臺的存在,我們必須找到一種方法來遠程移動到不同地方。在右側放置一個新按鈕用作進入這些地方會很便利。
這讓您可以在 GUI 中看到不同位置的預覽,並可以通過視圖按鈕“跳轉”到那裡。
但在我們開始玩的時候,我們感覺這個系統很糟糕。 例如,如果您想檢查某個星球上的某些內容,然後切換到平臺,那麼您必須執行操作:
行星 GUI → 選擇行星 → 查看 → 關閉 → 平臺 GUI → 選擇平臺 → 查看 → 關閉
此外,行星 GUI 中的預覽有點引誘你直接在那裡做一些事情,就好像它已經是遠程視圖一樣。 因此,我們一再覺得點擊非功能性預覽小部件是愚蠢的。
解決方案是將所有內容集成在一起。 每當您打開遠程視圖(地圖)時,你可以通過左側顯示的行星/平臺進行選擇,因此您可以正常使用遠程視圖並執行所有操作,還可以在地點之間切換。
所以前面的例子被簡化為:
遠程查看→選擇星球→選擇平臺→關閉
這就是為什麼乍一看訪問星球/平臺旅行,以及平臺的創建有點不直觀的原因。從長遠來看,它的效果會更好。 另外,我們對火車使用了相同的策略,所以它只是一個“粘合”到遠程視圖的 GUI,這樣您就可以用通常的方式與所選火車周圍的世界進行交互,而不是只看到地圖,而這個地圖是不可交互的。
幽靈著色器
您可能已經注意到之前的圖像/視頻中的幽靈看起來與您可能熟悉的有點不同。在基礎遊戲發佈之前,修飾幽靈實體的外觀就一直困擾著我們。在 1.1 中,幽靈被簡單地繪製為半透明,沒有額外的耀斑。它可以發揮作用,但可能會變得有些混亂且難以區分。由於遠程交互在太空時代中發揮著重要作用,因此這是一個發揮 GPU 硬件功耗的絕佳機會。我承擔起為幽靈注入一些活力和清晰度的責任。
著色或不著色
在處理房間時,最大的問題是顏色變化/色調。許多實體僅通過顏色來區分,例如插入器和後勤箱。如果幽靈是有顏色的,那麼當它們是幽靈時就很難區分它們。然而,在我們的測試過程中,越來越明顯的是,將幽靈作為一個整體與真實的實體區分開來是迄今為止更重要的特徵。你往往更關心它是不是幽靈,而不是它是什麼類型的幽靈。我們確實有一些技巧來明確顏色。
完整視頻的鏈接在下面:https://cdn.factorio.com/assets/blog-sync/fff-380-ghost-side-by-side.mp4
解剖幽靈
我們渴望發揮著色器的全部威力,我們嘗試了多種類型的扭曲、藍圖網格、危險條紋、怪異的靜態表達方式、南瓜燈,但最終決定使用不引人注目的疊加。而不是簡單將色調相乘,也就是圖像根據亮度進行分割。我們選擇的方式讓每個部分都應用了自己的一組顏色混合模式,可以提高陰影上的藍色系數,而無需完全洗掉中間色調和高光。
拼圖的第二塊是閃爍的扭曲。在正常情況下,2D 遊戲圖片會被修剪為矩形邊界。 為了給自己更多的工作空間並避免剪切,我必須找到一種方法來追溯拉伸每個幻影矩形,同時將圖片保持在正確的位置。 理想情況下,無需重寫流程中每個實體的繪製函數。 而且,之前的幽靈圖其實並不需要傳遞它在地圖上的具體位置。 就我而言,效果必須絕對貼近世界,而不是浮動的。 (要不然,真的會頭暈)
黃色表示添加的矩形邊距,它允許紋理在不剪切的情況下變形。
為了獲得實際的數字來驅動圖片序列,我決定使用單形噪音圖片模型。異星工廠的地圖座標可能會變得巨大,以至於我無法將它們塞進我能找到的任何備用視頻內存中。最簡單的解決方案是每隔幾個方塊平鋪效果。為了適應這一點,我必須修改單純形噪聲的內部工作原理並考慮將圖塊接縫。
在更新之前,許多實體很難辨認。例如,遠程建立這個煉油廠會讓你的眼睛感到疲勞。
但代價是什麼?
雖然 GPU 可以極快地執行大量操作,但電腦發送指令的連接卻非常狹窄。這種全息圖效果非常漂亮,但如果它讓遊戲變得不穩定,那就不好了。因此,保持每條指令的大小較小至關重要。幸運的是,標準異星工廠繪製調用中有幾個未使用的數字,用於非常具體的事物,例如樹葉在風中移動。這使我能夠將所有必要的信息打包在一起,而不會增加繪製調用的大小!
還有一件事
由於我們現在給幽靈著色,我們可以用它來向玩家提供一些額外的信息。比如,當幽靈被分配給機器人來建造時,它們會改變色調,因此您一眼就能看出是否有機器人在工作和/或網絡中是否有所需的材料。
完整視頻的鏈接在下面:https://cdn.factorio.com/assets/blog-sync/fff-380-different-ghost-tint.mp4
#異星工廠# #wube software# #開發日誌# #steam遊戲# #pc遊戲# #單機遊戲# #多人遊戲# #策略遊戲推薦# #自動化# #基地建設# #沙盒# #異星工廠 資訊#