設計概念:全新破壞系統

歡迎,各位公民

圖1 – 我們想要做到的破壞效果

如同你們在最近的 Around the Verse 或 Foundry 42 每月更新上看到的一樣,我們花了很多時間針對船艦的破壞效果做了改善。目前我們已經在競技指揮官 (Arena Commander) 中展示了我們強大又有彈性的船艦破壞系統,透過不同的美術圖層已經可以達到很讚的效果,但是船艦在星際公民中是非常重要的一個環節,因此我們決定做更多的改進。

圖2 – Hornet 黃蜂號的傷害狀態展示

所以我們從頭檢視整個破壞系統,看到底有哪個部分可以改進,雖然舊系統可以一層一層剝掉敵機的外殼已經很讚,但我們覺得應該要更精確的表示哪個部位受到什麼類型的攻擊,可能是實彈武器、或是能量武器、或是爆炸波及、或是著陸時不小心造成的輕微擦傷,我們希望能做到讓玩家只要站在旁邊看飛船,就能分辨那是什麼傷痕,我們希望每一艘飛船都有自己的故事,因此這項特點對於整個遊戲來說非常重要。

圖3 – 破壞模型解剖說明圖

另外兩個想改進的部分,第一就是我們的美術設計必需要針對各個船艦部位設計出多種不同的破壞效果,第二就是這樣的網面 (mesh) 設計會吃掉大量的記憶體資源,尤其是最後遊戲越做越大的時候,電腦資源消耗會越來越明顯。製作各種破壞效果需要大量人力的原因,主要是因為每一艘船艦都有超過十個大型分段,而每一個分段需要設計超過五種破壞效果來表示不同層級的傷害,然後每一種破壞效果要另外設計低解析度的版本,用在超遠距離的時候,以節省記憶體提高效能,所以這等於是一艘船艦需要超過 200 個網面!

譯註:mesh,翻譯網面,是電腦 3D 建模的術語,一個立體模型的多邊形是由多個網面組成。
圖4 - Gladius 機體分解圖,展示機體受到攻擊時能產生對應破壞效果的部位,每個不同的顏色代表一個獨立且可分離的飛船部位。

圖4 – Gladius 機體分解圖,展示機體受到攻擊時能產生對應破壞效果的部位,每個不同的顏色代表一個獨立且可分離的飛船部位。

當你在競技指揮官 (Arena Commander) 檢視舊版的破壞系統時,你會發現最輕微的破壞效果包含了一些輕微的凹凸、一些燒傷、以及或許部分表殼脫落露出內部結構,當傷害達到 75% 到 100% 之間時,你會注意到一些大幅的輪廓變化,但到目前為止所耗費的記憶體都仍然相同。所以,我們希望能利用現有的網面 (mesh) 設計,以節省資源並同時減輕設計師的負擔,因此我們決定在整艘船艦四周記錄受攻擊的部位,然後利用這些記錄資料,讓著色器 (shader) 動態且精準的在船艦受攻擊的位置加上破壞效果,而為了讓破壞效果更逼真,我們不是簡單的在受攻擊位置標上破壞效果而已,而額外紀錄四種參數來表示不同類型的傷害:

溫度 目前機體外殼的溫度。
燒傷 機體外殼達到的最高溫度。
厚度 機體外殼剩餘的厚度,烤漆優先剝落,再來才是底下的金屬層。
變形 機體外殼在變形前能承受多大的物理撞擊力道。

利用這四個傷害參數,我們可以讓機體因受熱發光、然後烤漆燒焦並冒泡、然後烤漆剝落露出底成金屬,然後表面產生變形、甚至打穿整個船體的洞還可以看到內部的配線和結構。我們不只在船艦的某些部位才設計內部空間,而是幾乎整艘船艦外殼底下都有設計艙內空間,你可以想像這對美術設計師來講是個很困難的工作,但他們想出了幾種方法快速且有效的完成艙內設計,並讓整個破壞系統更加完整。

飛船的故事

由於我們掌握了四種傷害參數,因此可以做很多有趣的事情,例如我們可以針對每個武器、爆炸或任何衝擊,設計出相對應的破壞效果然後印在你的飛船上,例如雷射武器會讓你的機體外殼熱到發光然後留下燒焦的烤漆以及外露的金屬,而強大的實彈武器則會直接打穿你的機體外殼留下一個大洞。我們不斷的探索研究這樣的設計系統,看看可以在機體上玩多少花樣,我們也計畫重寫武器和彈藥的程式碼,以模擬更真實的破壞效果。

我們已經在 Gladius 上實做了這項新系統,你可以親自在 1.1 版中體驗這完美的系統,而你看不到的是 Gladius 所使用的記憶體資源比其他船艦還要少四倍,也就是效能有很好的提升,而這項系統也讓美術設計師很開心,因為他們可以用更少的時間完成船艦的設計,換句話說就是能更快的完成整個遊戲!而我們會把這個新系統部屬在所有之後的新船艦上,並且同時重製所有現有的舊船艦。

圖5 - 無損傷

圖5 – 無損傷

圖6 - 燒傷

圖6 – 燒傷

圖7 - 物理撞傷

圖7 – 物理撞傷

圖8 - 燒傷的烤漆/金屬造成的凹凸面

圖8 – 燒傷的烤漆/金屬造成的凹凸面

圖9 - 內層金屬外露

圖9 – 內層金屬外露

圖10 - 機體鑿穿

圖10 – 機體鑿穿

圖11 - 機體遭鑿穿的洞周圍產生變形,提供更立體的穿洞效果

圖11 – 機體遭鑿穿的洞周圍產生變形,提供更立體的穿洞效果

新工具

Squibship

我們需要研發額外的技術來實做我們的粒子 (Particle) 和爆炸 (Squib) 效果,讓整個新破壞系統更加完善。當飛船某部分,例如機翼,脫離機身的時候,斷裂處會產生粒子和爆炸效果。爆炸效果同時也會對周圍造成穿洞和燒傷的特效,並讓船艦的「內臟」外露,這樣看起來才像是船艦某部分被撕裂脫離。粒子效果同時產生各種碎片以及戲劇化的煙霧、爆破和火花。由 Matt Intrieri 研發的一套特殊美術設計工具,可以將 3DsMax 的物件轉成 XML 來新增遊戲的視覺效果, CIG 的特效設計師 Mike Snowdon 利用這個工具將船艦邊緣部分都加上粒子和爆炸特效,依照船艦各部為的系統與結構,製造出動態且逼真的破壞效果。

更進一步

這項技術不只能做到這樣,我們正在努力開發其他更多特色。其中一項就是這些粒子效果都是完全由 GPU 產生、模擬並繪圖,這樣有兩個很大的好處,首先是效能,在相同資源情況下 GPU 可以產生的粒子數量比 CPU 多出 10 ~ 100 倍,而第二個好處,則是這些特效可以完全符合船艦所受到的傷害類型,例如機體被燒造成高溫的時候會因熱發光、受到物理實彈攻擊的時候你會看到金屬碎片飛濺、而當機體受到大範圍爆破的時候你會看到太空中佈滿各種殘骸碎片。此外我們也在研究利用 DirectX 11 的功能進行各種效能最佳化,讓 20 台戰鬥機同時轟炸一台主力艦的時候仍然能保持順暢!

當我們剛實做完這個系統的時候,我們第一件事就是先拿來玩一番,例如用蓋特機槍 (Gatling Gun) 把名字刻在飛船上!現在輪到你來玩了,我們很想知道你們會怎麼玩這個新系統,請務必在論壇上告訴我們。

未來展望

新的破壞系統已經完成,但我們仍然繼續努力開發更多逼真且有效率的方法,來提升整體遊戲畫面到極致,我們會持續的在機體外殼下面部屬更多特效,讓船艦被打穿的時候更加逼真,還有新增一些火花效果,例如當設備故障的時候會冒出火花,另外還有更多更多的光影和粒子效果,在船艦內部依照無損、受傷、危急、報銷產生不同的特效,通知玩家船艦狀況以外更能讓玩家融入戰鬥中。我們研發了一套新的狀態系統叫做 GOST ,這套系統會判斷船艦的損壞狀況,並對多人船艦 (multi-crew) 操作有重大影響。超大型船艦,真的很像是漂浮平台,具有非常高的複雜度,最大的問題是當船艦外殼打穿的時候,我們要如何在真空宇宙中描繪這種狀況,並且對船艦內的玩家會有什麼樣的影響,而效能優化也讓我們能在同個區域同時容納更多的玩家,創造出壯大的多人戰鬥場面。我們非常高興且興奮的釋出新一代的破壞系統,希望玩家們也會喜歡。

Figure12 Figure13

Loading Disqus Comments ...
Loading Facebook Comments ...