【異星工廠】FFF#377 - 新軌道


3樓貓 發佈時間:2023-09-28 23:49:58 作者:Wube Software Language

你們好!

在異星工廠的一些地方,我們很長時間沒有真正的勇氣去做出改變。這些地方是軌道系統......


軌道系統需要改變嗎?


每當玩遊戲時,我們都會想起由技術限制引起的兩個煩惱。

所謂的“S 形彎曲”是不可能實現的 - 兩條平行的軌道在垂直方向上至少需要 6 個圖塊才能連接。

【異星工廠】FFF#377 - 新軌道-第0張

你有多少次遇到兩條軌道無法輕鬆連接的情況。


一旦彎曲的軌道與任何其他軌道交叉,信號位置通常會受到很大的限制。因此,建設交叉路口需要進行大量的試驗,以檢驗是否可以正確地發出信號。

【異星工廠】FFF#377 - 新軌道-第1張

你有多少次因為無法在十字路口內放置信號而需要重建十字路口?


除此之外,軌道系統的代碼隨著時間的推移積累了一些技術問題,例如:

⚙ 硬編碼的連接規則

⚙ 硬編碼的軌道規劃器邏輯

⚙ 曲線軌道是唯一具有多個邊界框的實體

⚙ 對角線軌道的前後信號位置重疊

我們有位同事boskid非常熱衷於重寫底層鐵路代碼的大部分,好處之一是我們可以輕鬆定義幾乎任何軌道形狀。 這是經過認真思考後想出的絕佳方案。

如果我們決定更新鐵路系統,就必須以令人信服的方式修復所有主要問題......


S 形彎道

添加 S 彎聽起來像是一個非常簡單的更改 - 只是一個特殊的部件,可以讓你將軌道偏移 2 個圖塊。

【異星工廠】FFF#377 - 新軌道-第2張

幻想一下,這樣的 S 彎是多麼美麗的想法。


但與往常一樣,當談到異星工廠時,事情從來都不是簡單的……

【異星工廠】FFF#377 - 新軌道-第3張

所有這 5 個方向都需要連接到單個軌道件。


目前,每條軌道最多可以連接3個方向——左、直、右。 添加特殊的軌道部件要麼會使曲線與 S 形彎曲不兼容 - 只能在同一位置構建一個,而不能同時構建兩個 - 這將是一個技術限制,玩家可能不清楚原因。


或者需要兩個以上的連接(向左彎曲,向右彎曲)——這意味著軌道的性能會因為更多的選擇而受到影響,而且當你手動駕駛火車時,箭頭鍵不足以清楚地帶你前往想去的地方。


而且情況會變得更糟,因為僅添加一個 S 彎特殊部件是不夠的。 將導軌偏移 2 個圖塊很好,但也許 4 個圖塊偏移會更好 - 這可以通過連續構建兩個 2 個偏移來實現,但這將......看以看 :

【異星工廠】FFF#377 - 新軌道-第4張

我不完全確定這是否需要解釋,但我相信對很多人來說,這是像素原因。


想法

因此我們得出的結論是,將曲線分成兩半可能是理想的選擇,允許相反的曲線相互連接 - 形成 S 形彎曲並允許將信號放置在中間。 另外,我們會在軌道上添加半對角線方向,這樣可以根據需要延長 S 彎。

【異星工廠】FFF#377 - 新軌道-第5張

兩條半曲線之間的半對角線軌道 - 任意長度的 S 彎!


這個想法很棒,但是如何將它放入圖塊、軌道形狀和實際圖形中......


幾何形狀

以上所有這些在紙面上聽起來都很棒,但當涉及到具體實現時,幾何學是無情的。

即使是新的軌道也必須遵守一條主要規則 —— 每個連接點都必須位於整數網格座標上。使軌道規劃器和信號位置合理簡單地工作是必要的。

直線軌道很容易製作,但當我們只能通過整個圖塊移動控制點時,曲線就很困難了。

將曲線切成兩半會在某些地方添加控制點,從而使曲線看起來不太漂亮。新的軌道曲線有很多鋸齒狀:

【異星工廠】FFF#377 - 新軌道-第6張

部分原因是控制點太多。對角三角形一般來說構建起來都很奇怪,並且造成了很多幾何困難,所以我嘗試放棄。

正如你在下面看到的,這樣的曲線的中間最終將位於圖塊的中心,這不是允許定義的位置,因此這也不起作用。

你還可以注意到,雖然曲線在中間更加平滑,但在末端它仍然比 1.1 軌道尖銳得多 - 這看起來也不太像自然圓。

【異星工廠】FFF#377 - 新軌道-第7張

這意味著我們已經沒有選擇來製作漂亮的曲線了。或者說製作 - 這個曲線半徑。但如果我們嘗試讓曲線變大怎麼樣?

事實上,最小的半徑增加 11 到 13 個圖塊就有很大幫助,邊緣塊是完美圓的一部分,中間控制點位於整數網格座標上。

【異星工廠】FFF#377 - 新軌道-第8張

我們確定的軌道曲線的最終形狀。 它漂亮又光滑,中間不需要任何三角形或其他直線部分。


新異星工廠 2.0 導軌

曲線尺寸的增加很小,仍然不顯著。 實際上,令人驚訝的是,問題並不那麼嚴重。 例如,由於額外的信號位置,T 形通常可以保持不變。

【異星工廠】FFF#377 - 新軌道-第9張

【異星工廠】FFF#377 - 新軌道-第10張

我們的玩具火車可以從大量不同的軌道部件中進行選擇來運行。

【異星工廠】FFF#377 - 新軌道-第11張

新的曲線和半對角線允許更細緻的形狀,因此通過狹窄的間隙更容易。

【異星工廠】FFF#377 - 新軌道-第12張

選擇在軌道方向之間建立 4 或 6 個圖塊間隙更加容易,現在 2 個圖塊間隙是完全可能的。

即使在形勢危急的時候,也有足夠的候選信號位置。你還可以注意到,軌道段可視化已更改,現在它顯示信號方向。

【異星工廠】FFF#377 - 新軌道-第13張

事實上,現在有如此多的信號位置,中間有 2 個圖塊的交叉點是可能的,但如果您的異星工廠朋友已經習慣了 32x32 模塊化軌道藍圖,他們可能無法容忍這種情況。

【異星工廠】FFF#377 - 新軌道-第14張

說到這裡,更大的曲線半徑意味著在不同方向之間有 4 個圖塊,現在最小的方便藍圖模塊尺寸為 32x32 個圖塊。為了配合這一點,我們將大電極範圍增加到 32 個。

【異星工廠】FFF#377 - 新軌道-第15張

如果重新設計一個實體,最好也重新設計它的其餘部分。 另外,它們還有模糊的邊緣,因此當軌道結束時,它們看起來不會像以前那樣不合時宜。

【異星工廠】FFF#377 - 新軌道-第16張

如果我從這篇文章一開始就把你從夢中叫醒並告訴你這就是現實,你會怎麼辦?


圖形處理

新軌道的圖形是我特別自豪的設計。 重新設計軌道以改善視覺效果並不是我們的目標,也沒有人真正抱怨高分辨率(FFF-163)。

但我只能說我真的非常喜歡研究軌道圖形,所以我利用這個機會讓軌道看起來比以前更好。

金屬部件更厚,因此即使在縮小時也能更一致,軌道內部有一堆假陰影,使它們看起來不那麼平坦,各個部件的分層比以前更加棘手和醜陋, 地面集成更加貼合,並且應用了更多微小的改進。

當然,舊導軌之前沒有出現的新問題也出現了,特別是在將導軌部件組合在一起時,因為每個導軌現在都可以分叉成另外 3 個導軌。這意味著我花了幾周的時間在一個令人發狂的過程中一點一點地排列木枕,但現在不同的軌道部件非常適合在一起。

不僅僅是軌道,我們還需要更新大量的東西以適應新的軌道。軌道終點、火車站、所有遺蹟、軌道段可視化圖形、軌道信號候選點可視化的圖形和系統都必須改變,軌道信號有如此多的新方向,甚至電路連接器(黃色框)也需要新方向 ,我可能仍然忘記了一些事情。

我對我們 3D 藝術家的 Jerzy 的感激之情無法形容,他巧妙地處理了整個問題,這樣我就可以繼續執行其他任務,並保留一些理智。

我們非常清楚需要改變的事情有多少。 其中一些是我們在 2016 年將軌道圖形更新為高分辨率的過程中已經完成的,其中一些是隨著時間的推移添加的新功能,例如軌道信號/軌道段輔助覆蓋。

當然,您會期望由於我們已經擁有用於所有這些圖形處理的系統,因此它會比上次更快。 問題是,我們的質量標準也在不斷提高,因為我們總是發現一些需要改進的地方,所以整個過程仍然需要幾個月的時間來實施。

Boskid 和 kovarex 必須解決很多技術問題。 即使有更多的軌道部件可供選擇,讓軌道規劃器也能正常工作是相當困難的。

最後,我確信這一切都是值得的,並且我相信一旦您開始使用它,您也會有同樣的感覺。


結論

即使沒有太空時代,新的軌道也將作為異星工廠 2.0 的免費更新推出。

正如您可能猜到的那樣,新的軌道曲線將與舊的軌道曲線不兼容。 1.1 版本的存檔可以打開,火車仍然會像平常一樣在以前建造的軌道上運行,但你將不再能建造舊的軌道。

在未來的異星工廠更新中,當我們決定放棄與 1.1 的遊戲兼容性(假設是 2.1)時,我們將完全擺脫舊的軌道形狀。

【異星工廠】FFF#377 - 新軌道-第17張

#策略遊戲推薦#            #steam遊戲#           #pc遊戲#          #單機遊戲#         #多人遊戲#        #遊戲推薦#       #wube software#      #異星工廠 資訊#     #自動化#    #沙盒#   #資願管理#  #基地建設# 


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