從刺客信條英靈殿中一艘飄在空中的船開始 說說開發者的噩夢BUG

傳說在英國的土地上時常會出現一些不合邏輯的東西,在近日,一名維京人戰士就在遊泳時看到這樣超自然的一幕:

從刺客信條英靈殿中一艘飄在空中的船開始 說說開發者的噩夢BUG

他看著眼前漂浮在空中的船,一股面對這種無法言說的詭異場面的恐懼湧上心頭。

時間一轉即逝,數百年後的英國已經有瞭發達的文明。某日,一名身穿呢絨風衣的紳士漫步在雨後的巴黎,突然有人從身後向自己搭話,紳士扭頭回應卻看到一張驚悚的“面龐”:

從刺客信條英靈殿中一艘飄在空中的船開始 說說開發者的噩夢BUG

這詭異的場面是維持瞭一瞬,等紳士回過神來卻發現面前站著的是一個衣著得體,面容清秀的年輕人。

而在他們觸及不到的某個地方,泛著彩色光芒的顯示器的另一端,一名玩傢放下手中的手柄,拿起手機跟朋友發瞭這樣的一句話:

從刺客信條英靈殿中一艘飄在空中的船開始 說說開發者的噩夢BUG

對於任何一個遊戲玩傢來說,bug都是非常熟悉,甚至是習以為常的事情,幾乎每一名玩傢都或多或少的在不同廠傢,不同平臺,不同體量的遊戲中遇到過各種各樣的Bug,其中的一些bug更是為大眾所熟知,成為瞭一個喜聞樂見的“梗”。

從刺客信條英靈殿中一艘飄在空中的船開始 說說開發者的噩夢BUG

(飛天遁地寒鴉號)

但在肆意玩梗的同時,有的玩傢也開始意識到,似乎這兩年的遊戲中各種bug的出現開始變得更加頻繁,甚至是一些被認為是業界標桿的3A遊戲也開始出現瞭很多難以接受的Bug,其中的一些bug甚至會讓人懷疑他們在開發的時候到底有沒有做測試工作,比如在《賽博朋克2077》中就出現瞭大量極為低級,觸發完全沒有門檻的bug。

那麼今天就讓我們來聊聊所有開發人員都深惡痛疾的bug,說說為什麼這兩年大成本遊戲中的bug數量開始激增吧。

首先,到底什麼是bug?

bug一詞的原意是“飛蟲,昆蟲”,也可以作為動詞表達為“煩擾,打擾”,看起來是一個和計算機八竿子打不到的詞匯,那麼為什麼現在會使用bug來稱呼計算機中的各種故障呢?這還需要追溯到計算機剛剛被發明的時候。當時由於集成電路技術尚未出現,計算機的各類元器件無法被小型化,導致當時的計算機都是龐然大物。而這樣一個散發著較高溫度,內部結構復雜的巨大機器毫無疑問就成為瞭昆蟲安身定居的好地方,這就導致當時的大部分計算機在發生故障之後技術人員要做的往往不僅僅是核對算法有沒有問題,還需要看看計算機裡是不是進蟲子瞭。久而久之人們就開始將計算機的故障稱之為bug(蟲子),並延續到瞭現在。

從刺客信條英靈殿中一艘飄在空中的船開始 說說開發者的噩夢BUG

(巨大且溫暖的計算機是昆蟲的理想住處)

順帶一提,現在有的時候計算機機箱裡進蟲子也會導致短路等故障,如果你發現電腦經常毫無緣由自動關機還伴有一股蛋白質被烤熟的焦糊味,那麼恭喜你,你的電腦機箱裡多半有一堆蟑螂安營紮寨瞭。

講完瞭這個稍微有些讓人食欲不振的詞匯起源,接下裡要說的就是為什麼軟件遊戲裡會有bug瞭。要說原因其實也非常簡單,畢竟bug就是軟件代碼中的漏洞,因此廣義來說隻要遊戲的某一個地方出現瞭bug那麼就能夠說明這個地方的代碼是存在問題的。這樣來看修復bug的過程其實也就是將原本存在問題的代碼進行優化調整的過程,因此很多軟件和遊戲都會將這一過程成為“補丁”。

從刺客信條英靈殿中一艘飄在空中的船開始 說說開發者的噩夢BUG

(補丁包)

這時可能有的讀者就會有些困惑,同樣是遊戲,一些小體量的獨立遊戲就能夠做到基本不出bug,但是一些大體量的3A遊戲卻往往會在首發版本中存在大量bug,難到大廠的技術實力還不如幾個人的小團隊麼?

從刺客信條英靈殿中一艘飄在空中的船開始 說說開發者的噩夢BUG

實則不然,之所以會出現高投入大遊戲反而比低投入小遊戲bug更多這樣的情況並不是說大廠的技術實力更差,而是因為隨著遊戲體量的提升遊戲的代碼內容會呈幾何倍數的復雜化。以今年有不低討論度的《戴森球計劃》舉例,在前期你想要生產東西的時候僅僅需要簡簡單單的幾樣原材料就能夠完成,這時你即便是隨便亂搭流水線都沒啥問題,可到瞭後期一個成品需要的數十個環節堆疊嵌套,這時再用原本的邏輯搭建流水線就隻會出現一團漿糊。在遊戲開發中也是一樣,一個開發者可以自學莽出來一個《鬼谷八荒》還不出知名bug,但如果開發《軒轅劍》還這麼幹那就隻能造就一場開發災難瞭。

從刺客信條英靈殿中一艘飄在空中的船開始 說說開發者的噩夢BUG

代碼復雜度的提升不僅會提升開發的難度,還會導致各個不同模塊的代碼之間會出現一些“玄學”問題。在我上學的時候某次期末項目中就曾經出現過小組每個成員負責的模塊單獨運行毫無問題,但整合起來就會出現一堆莫名其妙的bug的詭異情況。幾個人的小項目尚是如此,上百人的大項目就更為誇張瞭。

從刺客信條英靈殿中一艘飄在空中的船開始 說說開發者的噩夢BUG

那難到遊戲公司就沒有debug(測試,消除故障)人員麼?有,但是很多遊戲的開發時間往往並不充裕。以首發時bug成山的《賽博朋克2077》為例,CDPR肯定是有一支專業的debug團隊的,但是再專業的團隊進行測試也依舊需要時間,面對火燒眉毛的發售日和剛剛做好的遊戲這些工作人員也隻能優先檢查閃退,壞檔,死機等惡性問題的bug確保遊戲能夠正常運行瞭。

從刺客信條英靈殿中一艘飄在空中的船開始 說說開發者的噩夢BUG

(這些惡性bug往往是需要最先檢測的)

而其他的遊戲雖然大部分不會出現《賽博朋克2077》這麼災難的情況,但在項目瀕臨結束開始debug工作的時候時間往往也並不寬裕,面對現在3A遊戲越來越誇張的體量很多測試人員也隻能盡量保證沒有惡性,嚴重的bug出現瞭。至於更多亂七八糟測試不到的地方,直接做成測試版讓玩傢進行測試反而會省掉不少功夫。

從刺客信條英靈殿中一艘飄在空中的船開始 說說開發者的噩夢BUG

(先行測試還能順帶給遊戲打波廣告)

說完瞭大型遊戲為什麼會有不少bug,這兩年遊戲bug數量增加的原因也就呼之欲出瞭。

隨著2020年疫情的全球化,世界各國紛紛開始提倡居傢辦公,但對於遊戲開發這樣一個極為依賴團隊合作的工作來說,所有的開發者居傢辦公,隻能通過打字或者視頻會議聯系的方式無疑大幅增加瞭開發者之間交流的成本,而交流的不到位不僅會體現在遊戲的玩法內容不足上,更是會在無形中為遊戲埋下很多可能成為bug的地方。

從刺客信條英靈殿中一艘飄在空中的船開始 說說開發者的噩夢BUG

3A遊戲本身的復雜度,居傢辦公帶來的交流成本提升和開發效率下降,以及投資方白紙黑字規定的遊戲發售日期的結合導致瞭這兩年各種原本玩傢給予厚望的遊戲開始頻繁出現各種讓玩傢啼笑皆非的bug。這些bug中確實有一部分在玩傢的旅途中提供瞭一些不同尋常的光彩,但也有一些導致瞭玩傢遊戲體驗的欠佳,更是讓不少玩傢質疑:“我為什麼要花三四百的價錢買一個半成品?”

從刺客信條英靈殿中一艘飄在空中的船開始 說說開發者的噩夢BUG

隨著次世代的到來,遊戲的開發有著更高的硬件基礎,畫面的表現能夠獲得更高的上限。但上限雖然得到瞭提高,可下限卻隨著遊戲的進一步復雜化再一次降低,在這個新的世代中我們又將看到多少啼笑皆非的bug,又能夠看到多少因為bug而沉沙折戟的遊戲呢?現在我們還不得而知。

本文系作者投稿,不代表聚俠網觀點

推薦閱讀: