相關文章

▲開放性世界遊戲善於預先讀取資料。

開發商知道玩家不喜歡看到讀取畫面,所以他們會想辦法提升資料的存取速度,各種偷吃步的技術便因應而生,其中最普遍的一招叫做「烘培」。你吃過餅乾吧?要製作餅乾,首先必須將材料按比例混合,再將材料灌入模子後加熱烘培,餅乾就出爐了。

同樣的道理,開發商會事先篩選出遊戲經常存取的資料,再將這些資料打包後定點存放,讓遊戲可以隨時將這些資料叫出來用,其道理與烘培餅乾有異曲同工之妙。遊戲經常利用「剛進入遊戲」或是「關卡剛開始」的時候進行烘培,而烘培需要時間,現在你知道為什麼上面兩個場合經常出現讀取畫面了吧?

▲讀取時秀出插圖與提示,讓玩家有事可以做。

烘培是相當好用的技巧,然而使用烘培有一個大前提:遊戲必須準確預測玩家的行動。一旦遊戲無法預測玩家的行動,就不知道該選擇哪些檔案進行烘培。當前最流行的開放性世界遊戲就是一例,由於開放性世界的場景龐大,遊戲很難預測玩家的下一步,傳統的烘培很難發揮預期的效果。

「玩家的行動選擇越多,使用烘培的難度就越高。」戴德利指出,「在開放性世界遊戲中,一旦玩家快速地在場景之間旅行,就可能看見平時根本不可能出現的讀取畫面,或是看見一個來不及更新材質的超陽春場景。」

▲異塵餘生2的讀取畫面充滿復古風情。

開發商在開發遊戲時,通常以內容為優先考量,直到遊戲接近開發完成時,才會把重心放在讀取效能上。開發商必須反覆調整遊戲內容,犧牲部份的遊戲要素(通常是畫面的細節),將讀取時間控制在玩家的容忍範圍內。調整遊戲內容並非易事,犧牲一個要素固然可以換取效能,卻可能造成遊戲失衡或是臭蟲,開發商對此莫不傷透腦筋。

為了降低調整遊戲的難度,最理想的方法就是使用一套完整的遊戲引擎。優質的遊戲引擎具有較高的調整彈性,可以自動解決調整所衍伸的問題,整體效能也比較理想。可惜優質的遊戲引擎並不多,就算這些引擎開放授權使用,高額的授權費用也經常令開發商望之卻步。

▲開發商的技術力決定遊戲的讀取速度。

「我們會把遊戲的問題整理成清單,列出每一項問題的成本與修正成效,再標示出問題的優先度。」曾經參與開發《生化奇兵》的工程師,JP.里貝頓說,「開發小組習慣優先解決影響穩定性的問題,讓玩家能夠順利進行遊戲,不會碰到臭蟲或當機,優先度較低的效能問題就放在後面解決。你必須權衡狀況,找出玩家最在意的是什麼東西。效能不佳的遊戲還是可以玩,但是會當機的遊戲根本沒搞頭。」

把效能問題放到最後的做法有很高的風險,因為遊戲的開發時間有限,開發小組不可能解決所有的問題。來不及解決的問題只好利用發售當日的更新,或是之後的更新來解決,這些更新只有少數是為了臭蟲,其他絕大部分都是為了改善效能。最糟糕的情況就是放生問題,讓玩家當冤大頭。

開發商留下惱人的爛攤子,事後再努力彌補錯誤,我不知道是該罵他們沒有責任感,還是讚許他們有責任感。

▲近代顯學:利用更新改善遊戲效能。

「遊戲上架販售後,玩家的意見就像打開水閘一樣灌過來。」《仰沖異界》的遊戲監督,蘭德.米勒說,「玩家除了抱怨讀取時間,還會回報特定硬體的相容性問題,以及其他開發人員在遊戲上市前完全沒有想到的問題。有時候我們會犯錯,在遊戲進入時預載過多的資料,影響遊戲效能。所以我們得重新安排預載的資料,再推出緊急更新來修正問題。」

仰沖異界於2016年釋出後,米勒與開發商持續更新遊戲引擎,對其他平台的版本進行最佳化,找出導致遊戲出錯的臭蟲,以及其他造成效能低落的小毛病。

「我們後來發現,我們居然在載入世界的同時載入過場動畫。」米勒說,「這種做法導致讀取效能直直落,我們必須改寫角色互動系統,才可以修正這個問題。美術部門還發現部分物件材質可以縮小尺寸,不過這個任務無法由程式代勞,必須用人工個別修正。只能用鑿子,不能用榔頭,好麻煩!」

▲經過人仰馬翻的程式調整後,《仰沖異界》效能總算達到水準。

開發者必須對自己的遊戲瞭若指掌,投注無數的時間與精力,才有機會找出造成延遲的癥結,而且不保證可以解決。由於改善讀取效能的任務經常不符合投資報酬率,導致開發商不願意在這方面努力,造就市面上一堆龜速讀取的遊戲,嗚呼哀哉。

《矮人爭霸》的創意總監,傑恩.賽森指出,他們釋出遊戲後被玩家抱怨讀取時間過長,他們連忙發布更新檔來改善讀取效能。「我們試著將讀取時間的要素列入開發週期內,藉由經常性的檢查來控制讀取時間。」賽森說,「巧妙打包遊戲資料,最佳化記憶體管理,降低常駐在記憶體的資料量,如果你將這些工作放到最後才做,他們就會變得十分複雜,讓你無從下手。為了不再重蹈覆轍,我們未來開發遊戲時將採用新的工作流程,強迫大家一開始就得把讀取時間考慮進去。」

▲矮人爭霸早期同樣擁有讀取偏慢的毛病。

讀取時間是遊戲的原罪,是開發商無可避免的困境。縮短讀取時間的使命任重而道遠,開發商所能做的,就是將讀取時間盡量縮短,再利用更新改善讀取。開發商得正視讀取的問題,洞悉軟硬體的運作,才有機會改善讀取速度,讓玩家獲得應有的流暢遊戲體驗。

使用 Facebook 留言

發表回應

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