每日最新頭條.有趣資訊

《騎馬與砍殺2》新開發者日誌:UI系統可即時編輯界面

   最近,《騎馬與砍殺2:領主》官方公布了新一期的開發者日誌,本次日誌的主要內容是關於遊戲新的UI系統設計方面,以下內容中文翻譯由騎馬與砍殺中文站的賢狼赫蘿提供:

遊迅網www.yxdown.com

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

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

   這是我們在處理霸主的用戶界面(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做好了就能有絢麗的效果)

遊迅網www.yxdown.com

庫存的xml代碼

遊迅網www.yxdown.com

顯示在遊戲中的庫存

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

獲得更多的PTT最新消息
按讚加入粉絲團