工程師工坊:《德拉諾之霸》遊戲引擎進化

德拉諾
BashiokSeptember 18th9:00am

歡迎來到軟體工程專題文章系列的第一篇。在往後的日子中,本系列文章將會以技術層面的角度,逐步介紹一些關於創造與運行《魔獸世界》的幕後花絮。

進入正文之前,一個小提醒。本文中論述的將是相當著重於技術層面的議題,解釋遊戲中與反鋸齒技術相關的影像設定調整與變動。大多數的玩家可能不會察覺到任何差異,但喜愛微調硬體配備與影像設定的玩家一定能理解本文中敘述的議題。

簡而言之,我們將大幅提升《魔獸世界》的效能表現,除了確保未來增加影像真實度的可能性,也會提升對於高階中央處理器(CPU)與影像處理器(GPU)的優化與支援。

WoW_Blog_Divider_Blade_Bar.png

我們決定在《德拉諾之霸》中捨棄多重採樣反鋸齒(MSAA)技術,並應用一種暫譯為形態保真反鋸齒(Conservative Morphological Anti-Aliasing - CMAA)的新技術。基於長遠規劃與考量,藉由這個改變,我們將能為《魔獸世界》陸續新增一些在過去幾年間發明的新技術。

《魔獸世界》一直以來都是較仰賴CPU處理效能的遊戲,這也是MSAA能存在至今的原因,因為GPU有足夠的時間與資源進行MSAA的運算。但在《德拉諾之霸》的開發過程中,我們想盡辦法要改變遊戲特別需要CPU資源這點。但要改善這件事必須耗費相當多工時,像是分析遊戲編碼的數據傳輸,以確保電腦在處理每一個影格時,不會耗費多餘的資源。舉例來說,我們根據視野與視距(又稱細節層次 - LOD)調整了產生動畫所需的骨架數量,以降低CPU耗費的資源。除此之外,我們也在遊戲中加入了一個資源分配系統,讓遊戲引擎分配並管理動畫與場景的所需資源。這個系統的雛形在5.4版本中便已加入遊戲中,在《德拉諾之霸》中則更為強化。

這樣的設計會讓遊戲更加需要以往有足夠資源處理MSAA的GPU。我們研究了許多種反鋸齒技術,希望能減輕GPU在運算反鋸齒時的負擔。最後我們決定在《德拉諾之霸》中應用CMAA這項新技術。任何會影響遊戲影像呈現的調整,都必須先諮詢過美術團隊與技術團隊,這次捨棄MSAA並採用CMAA的案例也不例外。CMAA能在消耗最低顯示記憶體與GPU效能的前提下,提供非常優秀的反鋸齒效果;除了能支援我們未來打算新增的新技術,更能加速這些技術與CMAA整合的速度。使用DirectX 9的玩家也別擔心,遊戲也支援佔用資源與表現稍低於CMAA的快速近似抗鋸齒(FXAA)技術。

CMAA能以較低的功耗,運算出高品質的影像,完全符合我們期許的目標,更能確保未來強化影像真實度的可能性。遊戲的程式架構不會因為CMAA而需要任何修剪;就《德拉諾之霸》而言,這項技術讓我們新增了許多影像特效,像是目標邊框、柔和粒子、新的陰影運算與光源折射.. 等等。我們打算在未來更新版本與資料片中,加入更多影像特色。

在《德拉諾之霸》剛上線時,CMAA將會是反鋸齒選項的最高等級,往後我們會尋找更多更高級的技術選項,讓擁有頂級高效能顯示卡的玩家們選擇使用。只要是符合我們未來規劃,並且能提供優秀影像品質的技術,我們都會深度探索並研究其可行性。

《魔獸世界》的影像發展前途光明,而《德拉諾之霸》開發過程中運用的新技術,也為未來的開發計畫定下了良好的基礎,讓遊戲的影像越來越細緻且真實。

感謝各位的閱讀,我們下次見!