《騎馬與砍殺2》新UI系統(tǒng)可即時(shí)編輯界面 提高M(jìn)OD制作效率
- 來(lái)源:騎砍中文站
- 編輯:liyunfei
近日,《騎馬與砍殺2:領(lǐng)主》官方公布了新一期開(kāi)發(fā)者日志,介紹了新UI系統(tǒng),并稱其將讓MOD制作效率提高,一起來(lái)看看詳細(xì)報(bào)道吧。
卡拉迪亞的戰(zhàn)士們,大家好!
游戲開(kāi)發(fā)可能會(huì)是一件棘手的事情。有的時(shí)候現(xiàn)有的技術(shù)或者工具并不能完全按照做到你想要的地步,或者沒(méi)有你想象那樣有效率。這就讓你做出艱難的選擇:改變你的設(shè)計(jì)或者自己定制一個(gè)解決方案。
這是我們?cè)谔幚戆灾鞯挠脩艚缑?UI)時(shí)意識(shí)到的問(wèn)題。之前,我們把Flash和Scaleform結(jié)合起來(lái)創(chuàng)建自己的UI,這是游戲界里很常見(jiàn)的方法。我們先用Flash創(chuàng)建UI,然后用Scaleform讓UI在游戲里運(yùn)行。技術(shù)上來(lái)說(shuō),Scaleform和Flash的運(yùn)行都很好,并讓我們能夠去通過(guò)喜好來(lái)應(yīng)用UI。然而在之后不久,我們?cè)趧?chuàng)建和利用UI的時(shí)候發(fā)現(xiàn)了一些問(wèn)題。
首先,這個(gè)制作過(guò)程非常緩慢。在放到游戲上測(cè)試之前,任何UI的的更改都需要在Flash上操作。隨著界面變得復(fù)雜, .swf文件生成時(shí)間就會(huì)更長(zhǎng)。然后我們每次做的更改都需要重新加載才能看到結(jié)果。即便是個(gè)小的改動(dòng),也需要把一個(gè)東西向左移動(dòng)5位,這也需要很漫長(zhǎng)的過(guò)程。
此外,Scaleform和Flash都是我們不能有效控制的第三方框架。由于需求而去更換和修改所造成的困難,讓我們開(kāi)始懷疑我們做的這些努力是不是值得。
最終,我們意識(shí)到我們?cè)赨I上花費(fèi)的時(shí)間和精力確實(shí)拖了我們的后腿,而能擁有符合我們自己所要的游戲UI就是創(chuàng)建我們自己的UI庫(kù)。畢竟,一些困難實(shí)際上是機(jī)會(huì)偽裝起來(lái)的!
這是一個(gè)可怕的前景,因?yàn)槲覀冊(cè)诂F(xiàn)有的UI中花了上千小時(shí)。幸運(yùn)的是,在開(kāi)發(fā)過(guò)程的早期我們就決定用一個(gè)叫MVVM的框架創(chuàng)建UI。這意味著我們部分代碼會(huì)是簡(jiǎn)潔的C#而不需要依賴某個(gè)特定的UI庫(kù),而我們可以把這部分代碼重新利用起來(lái),即便我們我們也需要重新做這部分工作。耶!
接下來(lái),我們決定了我們的新UI庫(kù)是什么樣子,我們提出了以下需求:
·新的庫(kù)必須快速而且靈活,我們的引擎團(tuán)隊(duì)很努力地去削減旋繞周期的每一毫秒,他們也不希望在UI上浪費(fèi)太多時(shí)間而沒(méi)辦法去優(yōu)化配置。
·新的庫(kù)也能簡(jiǎn)易運(yùn)行并在運(yùn)行中更改。它能有先使用文本基礎(chǔ)的格式,比如xml,因?yàn)槲谋净A(chǔ)能讓多個(gè)開(kāi)發(fā)人員能更簡(jiǎn)單地合作。
·系統(tǒng)必須簡(jiǎn)易以便制造互動(dòng)性更高的UI。
·UI布局必須獨(dú)立于外觀。這能讓UI設(shè)計(jì)師和美工能獨(dú)立工作。
我們決定命名我們的新UI框架叫Gauntlet【護(hù)手,臂鎧】(沒(méi)別的原因,也就是聽(tīng)起來(lái)很酷!)。有了Gauntlet,我們能即時(shí)進(jìn)行更改,也就是在不關(guān)閉游戲的情況下編輯界面,不需要生成文件或者額外的步驟。當(dāng)我們用xml文件更改界面時(shí),我們能通過(guò)保存文件來(lái)看到結(jié)果。而且因?yàn)槲覀兛梢酝耆刂葡到y(tǒng),我們就能根據(jù)需求對(duì)系統(tǒng)進(jìn)行更改。
那這個(gè)東西是怎么運(yùn)作的呢?這個(gè)系統(tǒng)實(shí)際上很簡(jiǎn)單。我們把xml合并到游戲界面里,當(dāng)游戲加載的時(shí)候這個(gè)界面就會(huì)打開(kāi)。界面的所有信息布局都指定在這個(gè)文件里。我們還能在每個(gè)xml之間引用其他xml,這意味著如果我們創(chuàng)建了可以多次使用的UI元素(能用在其他界面里),我們就直接引用這個(gè)元素。這能讓我們能隨意更改文件,并能在這類xml引用的時(shí)候直接發(fā)生變化。
我們也有一套獨(dú)立的xml文件來(lái)指定不同元素的外觀,就像html頁(yè)面中的css文件。這種外觀系統(tǒng)非常強(qiáng)大,美工可以輕松指定某個(gè)UI元素的外觀和運(yùn)行細(xì)節(jié)。比如說(shuō),當(dāng)玩家把鼠標(biāo)放在一個(gè)按鈕上時(shí),按鈕就會(huì)變色,點(diǎn)擊的時(shí)候就能播放一段動(dòng)畫。(也就是說(shuō)UI做好了就能有絢麗的效果)
庫(kù)存的xml代碼
顯示在游戲中的庫(kù)存
我們希望Gauntlet系統(tǒng)能受到mod團(tuán)體的歡迎。在戰(zhàn)團(tuán),UI編輯一直是一件頭疼的事情,而且總會(huì)有一些限制無(wú)法解決。有了Gauntlet系統(tǒng),mod制作者就能完全掌控每個(gè)界面,唯一的限制就是他們的想象力。


-
傳奇歲月
-
原始傳奇
-
斗羅大陸(我唐三認(rèn)可0.1折)
-
太閣立志2
-
奇門(0.1折仙俠不用閃)
-
深淵契約
-
貓狩紀(jì)0.1折
-
靈劍仙師(斗破蒼穹)
玩家點(diǎn)評(píng) (0人參與,0條評(píng)論)
熱門評(píng)論
全部評(píng)論