9131c46de01207799e3159ca25d599e0 玩家不僅喜歡玩遊戲,也會在意遊戲是否最佳化。最佳化的遊戲會受到玩家讚揚,反之則是無情的吐槽。話說回來,最佳化的定義到底是什麼?是否最佳化又該怎麼判定呢?本文將探討最佳化的概念,以及各種衍伸議題,幫助大家對遊戲最佳化有更具體的認識。

首先我們要有一個認知:「遊戲的最佳化」並不等於「計算機理論的最佳化」,兩種最佳化在本質上截然不同。在計算機理論中,最佳化指的是設計一個理想的處理程序,讓程序以更高的效率計算出相同的結果。

舉例來說,下面有一個處理程序:

a = b*c + b*c + b*c

裡面有3個乘法與2個加法。如果我們要將其最佳化,大概會變成這樣:

d = b*c

a = d + d + d

在結果相同的前提下,只需要1個乘法與2個加法,可以省下2次乘法計算的時間。

▲對大部分玩家來說,《俠盜獵車手5》堪稱是經過最佳化的好遊戲。

然而對遊戲而言,最佳化指的是強化遊戲實機表現,呈現出較佳的遊戲感受,就算結果與原本不同也沒關係。遊戲程式是否最佳化,是根據主觀的感受,而非客觀的運算結果或運算效率。換言之,我們很難找到一個客觀標準來評斷遊戲是否最佳化。

「沒有任何方法可以準確判定遊戲是否經過最佳化。」開發商Croteam的資深工程師,狄恩.西古力(Dean Sekulic)指出,「我們只能以主觀意識體驗遊戲,用自己的標準來判斷遊戲的最佳化程度。值得注意的是,遊戲檯面下的運作遠比表面來得複雜,每一個環節都可能影響遊戲表現。」

當你發現遊戲效能不盡理想,很可能是某個環節出現問題。畫面選項對效能的衝擊格外明顯,所以經常是開發商進行最佳化的首要目標。

▲4K解析度帶來更沉重的運算負擔。

解析度攸關整體畫質,也直接影響效能表現。遊戲解析度從早期的1280 x 1024變成1080p,然後演變為4K,每一次的躍進都會大幅加重運算負擔。4K畫面內的像素數量是1080p的4倍,運算負擔也是4倍,對效能的衝擊在所難免。

反鋸齒是一把雙面刃,雖然可以提昇畫質,卻會嚴重衝擊效能。目前的反鋸齒種類眾多,每一種都有其優缺點。MSAA效果普通但是效能傑出、SSAA原理單純卻很吃資源,其他還有FXAA與TXAA等等。開發商必須謹慎評估各種反鋸齒的特性,針對遊戲需求選擇反鋸齒,並調適反鋸齒的細節表現,讓遊戲兼顧畫質並維持流暢度。

▲反鋸齒的效果與效能表現不盡相同。

一般而言,PC遊戲會提供各種不同的反鋸齒,家用主機版則沒有這種福利。受限於硬體規格,家用主機版偶爾必須關閉反鋸齒來換取校能,或是採用動態反鋸齒技術。反鋸齒的使用時機,以及反鋸齒該如何調適,都足以令開發商傷透腦筋。

光影效果對環境表現與氣氛營造影響甚鉅。開發商得處理每一個場景的光源與陰影,反覆檢測光線的投射容積與形狀,確保其演出可以達到需求。全域照明(Global Illumination)與體積照明(Volumetric Lighting,泛指從高空或雲隙間灑下的光芒)是效能殺手,必須搭配適合的地形才能呈現理想效果。

在現實世界裡,只要有光源就會有陰影。可是遊戲世界不比現實,就算弄出一個光源,也未必能夠產生理想的陰影。早期遊戲一律採用直接投影,只要環境中有光源,物件就會產生對應的投影。直接投影的原理簡單且容易實作,缺點是無法呈現細節的陰影,導致場景風貌不夠逼真,一看就知道是遊戲的場景。

▲《異塵餘生4》天際灑下來的光芒十分逼真。

為了彌補直接投影的缺憾,環境遮蔽(Ambient Occlusion)便因應而生。《末日之戰》是最早使用環境遮蔽的名作遊戲,將畫質推展至嶄新境界。可惜當年玩家配備普遍不足以使用環境遮蔽,使得末日之戰成為一款曲高和寡的遊戲。

時至今日,環境遮蔽已成為遊戲的普世標準,還衍伸出各種提升畫質的應用方式。《古墓奇兵:崛起》所使用的VXAO(Voxel Ambient Occlusion)便是一例,其品質不輸一般的環境遮蔽,還可以大幅降低運算負擔。某些新作遊戲甚至替遠距離物件加入環境遮蔽,讓場景突破虛擬的藩籬,呈現出直逼現實的質感。

▲場景中的陰影就是環境遮蔽,可以有效提升畫質。

光影效果的代價十分可觀。開發商得花上許多時間調適,將細節部分去蕪存菁,換取較流暢的效能,還得避免被玩家找到破綻。有必要的話,開發商會採用預處理光影效果,也就是將場景內的動態光影變成靜態光影,藉此壓低運算負擔。

舉例來說,玩家進入一個點燃油燈的房間,發現只有牆上的油燈可以照亮環境,手上的火把卻無法照亮環境。這是因為遊戲將油燈與火把設定為無法與環境互動的靜態光源,才會出現點燃火把卻無法照亮環境的詭異現象。

 

(後面還有:其他關於遊戲最佳化的議題)

使用 Facebook 留言

發表回應

謹慎發言,尊重彼此。按此展開留言規則