您現在的位置是:首頁 > 棋牌

《騎馬與砍殺2》新UI系統可即時編輯介面 提高MOD製作效率

  • 由 3DMGAME 發表于 棋牌
  • 2022-03-16
簡介在放到遊戲上測試之前,任何UI的的更改都需要在Flash上操作

flash怎麼儲存swf檔案

近日,《騎馬與砍殺2:領主》官方公佈了新一期開發者日誌,介紹了新UI系統,並稱其將讓MOD製作效率提高,一起來看看詳細報道吧。

《騎馬與砍殺2》新UI系統可即時編輯介面 提高MOD製作效率

卡拉迪亞的戰士們,大家好!

遊戲開發可能會是一件棘手的事情。有的時候現有的技術或者工具並不能完全按照做到你想要的地步,或者沒有你想象那樣有效率。這就讓你做出艱難的選擇:改變你的設計或者自己定製一個解決方案。

這是我們在處理霸主的使用者介面(UI)時意識到的問題。之前,我們把Flash和Scaleform結合起來建立自己的UI,這是遊戲界裡很常見的方法。我們先用Flash建立UI,然後用Scaleform讓UI在遊戲裡執行。技術上來說,Scaleform和Flash的執行都很好,並讓我們能夠去透過喜好來應用UI。然而在之後不久,我們在建立和利用UI的時候發現了一些問題。

首先,這個製作過程非常緩慢。在放到遊戲上測試之前,任何UI的的更改都需要在Flash上操作。隨著介面變得複雜, 。swf檔案生成時間就會更長。然後我們每次做的更改都需要重新載入才能看到結果。即便是個小的改動,也需要把一個東西向左移動5位,這也需要很漫長的過程。

此外,Scaleform和Flash都是我們不能有效控制的第三方框架。由於需求而去更換和修改所造成的困難,讓我們開始懷疑我們做的這些努力是不是值得。

最終,我們意識到我們在UI上花費的時間和精力確實拖了我們的後腿,而能擁有符合我們自己所要的遊戲UI就是建立我們自己的UI庫。畢竟,一些困難實際上是機會偽裝起來的!

這是一個可怕的前景,因為我們在現有的UI中花了上千小時。幸運的是,在開發過程的早期我們就決定用一個叫MVVM的框架建立UI。這意味著我們部分程式碼會是簡潔的C#而不需要依賴某個特定的UI庫,而我們可以把這部分程式碼重新利用起來,即便我們我們也需要重新做這部分工作。耶!

接下來,我們決定了我們的新UI庫是什麼樣子,我們提出了以下需求:

·新的庫必須快速而且靈活,我們的引擎團隊很努力地去削減旋繞週期的每一毫秒,他們也不希望在UI上浪費太多時間而沒辦法去最佳化配置。

·新的庫也能簡易執行並在執行中更改。它能有先使用文字基礎的格式,比如xml,因為文字基礎能讓多個開發人員能更簡單地合作。

·系統必須簡易以便製造互動性更高的UI。

·UI佈局必須獨立於外觀。這能讓UI設計師和美工能獨立工作。

我們決定命名我們的新UI框架叫Gauntlet【護手,臂鎧】(沒別的原因,也就是聽起來很酷!)。有了Gauntlet,我們能即時進行更改,也就是在不關閉遊戲的情況下編輯介面,不需要生成檔案或者額外的步驟。當我們用xml檔案更改介面時,我們能透過儲存檔案來看到結果。而且因為我們可以完全控制系統,我們就能根據需求對系統進行更改。

那這個東西是怎麼運作的呢?這個系統實際上很簡單。我們把xml合併到遊戲介面裡,當遊戲載入的時候這個介面就會開啟。介面的所有資訊佈局都指定在這個檔案裡。我們還能在每個xml之間引用其他xml,這意味著如果我們建立了可以多次使用的UI元素(能用在其他介面裡),我們就直接引用這個元素。這能讓我們能隨意更改檔案,並能在這類xml引用的時候直接發生變化。

我們也有一套獨立的xml檔案來指定不同元素的外觀,就像html頁面中的css檔案。這種外觀系統非常強大,美工可以輕鬆指定某個UI元素的外觀和執行細節。比如說,當玩家把滑鼠放在一個按鈕上時,按鈕就會變色,點選的時候就能播放一段動畫。(也就是說UI做好了就能有絢麗的效果)

《騎馬與砍殺2》新UI系統可即時編輯介面 提高MOD製作效率

庫存的xml程式碼

《騎馬與砍殺2》新UI系統可即時編輯介面 提高MOD製作效率

顯示在遊戲中的庫存

我們希望Gauntlet系統能受到mod團體的歡迎。在戰團,UI編輯一直是一件頭疼的事情,而且總會有一些限制無法解決。有了Gauntlet系統,mod製作者就能完全掌控每個介面,唯一的限制就是他們的想象力。

Top