2014/8/21 星期四
作者:Benjamin Lieberman 博士與 Cristiano Ferrreira
挑戰
從 2000 年初推出以來,
SSX* (
Snowboard Supercross 的縮寫) 已經為 EA SPORTS 帶來極大的成功。這個領先群倫的遊戲以其特有的速度、遊戲進行方式和極為廣闊的地形,在各種快速動作、高挑戰性的電視遊樂器遊戲中稱霸。但隨著時間經過,許多新款裝置不斷推陳出新,並為電腦遊戲世界帶來衝擊。包含平板電腦與高解析度 (HD) 智慧型手機在內的最新平台,為遊戲開發者提供了許多優勢 (例如觸控螢幕、加速計及定位),但挑戰也隨之而來,特別是使用高性能圖形運算的遊戲,例如
SSX。
這份技術個案研究將探討當開發者將最新版
SSX 移植至代號為 Bay Trail 的 Intel® 平台,同時又要保留忠於遊戲的原汁原味時所面臨到的挑戰。
Bay Trail 行動平台:
- 四核心 x86 CPU 架構
- Intel® HD 顯示卡
- 系統 RAM:2GB
*附註:Bay Trail 為 Intel 次世代多核心系統單晶片 (SoC) 架構的代號,建立在 Silvermont 平台上並用於行動與桌面裝置。此新款 SoC 系列產品包括 Intel® Atom™、Celeron® 及 Pentium® 處理器,適用於行動裝置、筆電、桌上型電腦及整合式全功能電腦。
基本規則
當 Intel 團隊會見 EA,準備將
SSX 滑雪板競賽遊戲移植至行動平台時,他們訂定了基本規則,確保消費者對於整體的體驗感到滿意。簡而言之,其目標是確保遊戲盡可能接近遊戲主機版本的感覺。因此,開發團隊同意朝向這些目標努力:
- 遊戲進行方式的逼真度。SSX 系列遊戲的特色就是直覺的遊戲進行方式,透過一系列的高空特技 (「花式技巧」) 聚焦於主要人物的動作,並涵蓋豐富細膩的環境 (「滑雪道」) 以及各種下坡地形 (「S 型滑雪道」)。打造行動版本時,保有上述三項特色 (花式技巧、滑雪道、S 型滑雪道) 是很重要的,如此一來,有經驗的玩家才不會打消嘗試此遊戲的念頭,而新玩家也能透過這款優異的遊戲而獲得鼓舞。
- 視覺吸引效果。SSX 系列的第二個主要特色是圖形設計師所帶來的視覺吸引效果。雪地特效以及速度感搭配極為細膩的環境,使得這款遊戲充滿令人愉悅的視覺感官效果。在受限的行動運算世界中維持上述特色是最優先的工作。
- 沉浸其中的體驗。最後,將故事情節、個人化角色及複雜的遊戲內挑戰全部融合在一起,以便引起玩家注意並使其投入遊戲世界。我們都曾遇過當全心投入某個複雜度高但獎勵豐厚的挑戰時,只要稍不注意就會分神的情況。因此,最後的指示就是維持體驗不中斷,使玩家能更投入在遊戲世界中。
可自由使用的工具
開發團隊收集了各種工具與技術,它們是專為從主機遊戲建立效能基準而設計的。這些工具包括
Intel® Graphics Performance Analyzers (Intel® GPA,這是以 EA 為基礎的內部優異開發架構)、內部跨平台渲染器、各種用於資產管理的第三方程式庫、以觸控為基礎的控制集,以及高階目標裝置 (例如 Bay Trail)。
移植程序的第一個階段是編譯遊戲程式碼並在新平台上執行。如此可讓團隊調查 CPU 與 GPU 的效能,以便進行最佳化。
GPU 工具
此團隊使用 Intel GPA 分析此應用程式的系統與幀率。IntelGPA System Analyzer 用於高階幀率分析,能在視覺化介面上顯示系統可渲染畫面的速度變化情況。他們採用 IntelGPA Frame Analyzer 進行渲染運算的低階分析,以深入瞭解某些繪圖呼叫未能充分利用的原因。另外,Frame Analyzer 協助團隊偵測地形幾何中的排序問題。最後,團隊會判斷有哪些與粒子系統相關的繪圖呼叫會耗用最多資源。在這些呼叫中,片段著色器為瓶頸所在。團隊會判斷每個片段有哪些工作可改成在每個頂點完成,以便將它從片段著色器移動至頂點著色器 (請參閱以下的資產預算編製與最佳化)。
CPU 工具
此團隊使用舊版的
Intel® VTune™ Amplifier2014 for Android* 以評估多核心 CPU 的負載程度。透過此工具與前述 IntelGPA 的分析,團隊判斷 CPU 並非限制性的資源,讓開發者得以將注意力放在其他更關鍵的領域。儘管使用的是舊版的 VTune Amplifier for Android,但是它提供了熱點支援,以視覺化的方式呈現耗用系統資源較多的領域。
資產預算編製
除了測量系統處理使用率之外,修改應用程式的其他領域也是團隊要考慮的範疇。特別是他們探討了遊戲資產對於遊戲效能的整體效益。
他們考慮的第一個部分是遊戲的儲存空間與系統記憶體使用率。另外也要考慮各種材質壓縮,但是團隊選擇保留原有的 DXT 壓縮以維持視覺效果品質。更令人關注的是系統記憶體的限制,團隊使用減少的資產集以限制遊戲進行時所耗用的記憶體數量。有些資產會將記憶體對應至 APK 中的檔案以便根據實際需求快速上傳,而非將它們保留在標準記憶體內。
第二個考量是原始遊戲廣闊的地形規模與細節。顯然地,我們無法維持所有原有的地形細節,但基於基本規則的要求,仍必須維持令人沉浸其中的遊戲體驗。因此,將會保留路徑的長度與地形。但是,前進時的可視範圍將會受限 (例如 500 公尺),同時也會移除不必要的地形細節,或藉由減少頂點計數以進行最佳化。
第三個考量的部分是人物模型與物理動畫。為配合減少的記憶體與儲存空間限制,人體模型及配件的頂點數量將大幅減少。如此一來便能造就出更適合行動平台的細節程度,並忠於此款遊戲精髓的作品。
圖 1:角色資產管理。上半部顯示傳統 PC 最高等級的細節,並用於行動最佳化。
圖 2 顯示修改過的渲染流程,在行動平台上的對應效果較佳。樣板緩衝區中的基本角色位置重疊至背景材質。然後此影像將傳送至幀緩衝器,然後在此渲染角色影像。加入地形與天空元素,然後置入貼花、特效及螢幕顯示內容等最終畫面元素。最終畫面將傳送至顯示緩衝區並交換至螢幕。如此可藉由簡化從前到後的繪圖而盡可能避免過度繪製。元素將依據目前的著色器/材質組合,新增至「容器」(buckets) 中,然後依序繪圖。
若要瞭解樣板,我們將在地形部分深入探討。地形會經過計算成為多邊形網狀,在執行階段將會細分成更精細的形狀。網狀本身將用於最遠的細節等級 (level-of-detail, LOD),距離越近的 LOD,在細分時的精細程度越高。由於地形已大幅簡化,這會導致某些地方最遠的 LOD 相較於最近的 LOD 會有半公尺的差異。
地形上的貼花在遊戲主機版本中是採用投影材質。開發者希望有些項目可以更簡化,因此他們選用幾何。為了發揮作用,幾何必須貼近地面,但是因為地形會隨著 LOD 而改變高度,因此團隊必須解決許多異常情況。
最後的解決方法是以樣板製作遮罩,並將貼花浮貼在地面上方約半公尺處,或是在角色的腰部高度。樣板僅遮住角色,讓人產生角色固定於地面的錯覺。(當攝影機接近貼花附近的表面時,您會看到異常情況;貼花看起來會像是浮在岩石突出部分的上方,甚至是在不相連的地方繼續出現)。
圖 2:渲染流程
最佳化
隨著資產減少,數種行動環境的視覺最佳化也是值得考慮的必要方案。例如,團隊必須謹慎考慮滑雪板的光線投射 (以模擬陽光或其他光線來源產生的攝影機效果) 以及各種動畫混合。包括環境音效在內的各種音效皆必須簡化、去除或降低,以避免處理系統過度負載及干擾遊戲進行。最後,必須減少每個遊戲畫面傳回 Autodesk Scaleform* UI 架構的使用者介面 (UI) 訊息,以獲得可接受的視覺反應時間。地形的法線貼圖有助於從原始遊戲獲得一些地形的真實度,使陰影對於整體體驗而言的重要性較低。因此,遊戲中的世界已有預設的光線與陰影。此遊戲的手機版將去除動態陰影;使用動態陰影所產生的額外傳送,對於渲染引擎的效能來說過大。
針對各種角色資產,角色骨骼動畫與表面網狀,在頭部與夾克方面已從 300 大幅修改為 150。團隊減少使用三分之一的頂點以簡化網狀的複雜度,同時維持視覺上的逼真程度。在地形方面,團隊減少 50% 的多邊形,同時維持重要的山岳地形。如上所述,繪圖距離限制在 500 公尺,並移除或減少對於遊戲進行而言不重要的樹木與岩石元素。天空渲染為靜態的天幕而非即時的天候效果,與許多遠處的地形元素相同 (例如背景中的遠山)。最後,團隊謹慎地限制渲染粒子 (例如飛雪),使用幾何著色器以提供有限可視性與速度所產生的適當錯覺 (圖 3);如此即可在不損失逼真度的情況下,僅使用 1/3 的處理時間。
圖 3:畫面比較顯示可視性有限的錯覺。
解決方案
Bay Trail 是將
SSX 遊戲移植至 Android 的完美目標,因為它具備 Intel HD 顯示卡與多核心 CPU 架構。但是,即使在此豐富的環境中,遊戲還是必須進行部分的修改 (列於表 1)。在這些修改當中,控制測試群組最感興趣的部分是以觸控為基礎的控制系統,因為以加速計為基礎的控制方式較不受青睞。開發團隊改為使用以螢幕觸控為基礎的控制系統來控制角色的速度、方向及花式技巧表現 (圖 4)。
圖 4:在 Android 環境中的最終畫面渲染* 包含所有螢幕效果的環境
Console | Mobile (Bay Trail Tablet) |
10 characters, 9 regions, 2 game modes, equipment upgrades, and special gear for the regions | 4 characters, 7 regions—redesign around hardware and build size limitations |
Extensive UI management and options | Menu system remained, redesigned for touch |
Gamepad controls | Touch controls |
Lua runtime | C++ compiled |
OpenGL* | OpenGL ES* |
表 1:遊戲進行方式最佳化
參考資料
關於作者
Benjamin A. Lieberman 擔任 BioLogic Software Consulting 公司的首席架構師。Lieberman 博士提供各種軟體開發主題的諮詢與訓練服務,包括需求分析、軟體分析與設計、組態管理及開發程序改良。Lieberman 博士擁有十五年以上擔任軟體設計、企業架構師及資訊技術等工作的經驗,並且涵蓋各種領域,包括通訊、航空旅行、網站電子商務、金融服務及生命科學等。他的諮詢是以軟體開發的最佳實務為基礎,加上他在物件導向架構與分散式運算領域的專業知識。尤其是針對以 Java 為基礎的系統與分散式網站開發、服務導向架構、C#/.NET,還有以 C++ 為基礎的主從式系統。Lieberman 博士曾為多家企業提供應用程式與企業架構服務,例如 United Launch Alliance、Comcast、EchoStar、On-Command、Cricket Telecommunications (Leap Wireless)、Level(3)、Galileo International、杜克大學及科羅拉多大學。Lieberman 博士也是位多才多藝的職業作家,曾出版一本書以及許多與軟體相關的文章,且大獲好評。Lieberman 博士擁有科羅拉多州丹佛市健康科學中心科羅拉多大學的生物物理學與遺傳學博士學位。
Cristiano Ferreira 是任職於 Intel 公司開發者關係部門的圖形應用工程師,協助遊戲開發者提供客戶 Intel 硬體的最佳體驗。
結論
在電視遊樂器的歷史中,從某個平台移植至另一平台的案例不計其數,但都必須面對維持遊戲體驗逼真度的挑戰。幾何的簡化、切換至材質壓縮格式、將幾何著色器用於粒子系統,以及每個頂點的謹慎處理,這一切都有助於在行動平板環境中重新詮釋
SSX 遊戲的高度成功。優勢與限制迫使遊戲開發者必須謹慎思考並權衡利弊,但話說回來,最終還是要取得平衡,才能讓遊戲玩家發現新環境的視覺效果、遊戲進行方式以及操作控制等,能與他們對於現代遊戲系統所期待的一樣,如此流暢自然。
EA
SSX 有許多忠實的追隨者,如果這些玩家知道現在可在外出時享受最喜愛的遊戲,他們肯定會非常開心。這項工作為未來更高階遊戲的移植做好了萬全準備;每當腦海中想著我們下一步又會有何新突破時,總是令人振奮。
Comments
Post a Comment