新三年,舊三年,修修補補又三年。
最近一段時間,Bethesda Softworks又向外界透露了些許有關(guān)《上古卷軸6》的新消息。B社向媒體這樣透口風(fēng),在E3之后已經(jīng)不止一次了,以前大多談游戲,這次則談到了技術(shù)層面。在接受外媒采訪時,資深制作人、《上古卷軸5》《輻射4》的制作人Todd Howard回應(yīng)了B社旗下游戲采用“祖?zhèn)饕妗钡膯栴},暗示在新一款“上古卷軸”系列作品中,他們也并不打算變“祖宗之法”。
從2011年的《上古卷軸5》到預(yù)計今年年底發(fā)售的《輻射76》,7年時間,B社幾款主力大作使用的引擎依舊是他們魔改自Gamebryo引擎的Creation引擎。再向前回溯,B社用于《輻射3》《上古卷軸4》等游戲開發(fā)的Gamebryo引擎,也被他們從2002年一直用到了2010年。在可見的未來,Creation引擎還有可能肩負(fù)起開發(fā)《上古卷軸6》與《星空》(Starfield)的重任。
除B社之外,游戲行業(yè)中的祖?zhèn)饕?,以及極具特色的引擎還有很多。制作“使命召喚”系列的IW引擎一用也是十幾年;寒霜引擎(Frostbite Engine)滿屏幕光污染與可破壞場景,在EA多款不同類型游戲的開發(fā)中已經(jīng)使用了一段時間;P社專利、祖?zhèn)鲉魏藘?yōu)化的克勞維茨引擎(Clausewits Engine);還有被卡普空格外偏愛,有了新引擎還被拿出來用的MT Framework……這些都是業(yè)內(nèi)耳熟能詳?shù)囊恍┮婀ぞ摺?/p>
先不說開發(fā)者了,即使對于玩家而言,引擎也是在討論游戲時出現(xiàn)頻率極高的詞,特別是為PC游戲發(fā)燒的人更是如此,但也許你并不完全了解一個游戲引擎到底意味著什么。換引擎畫面就會提升?使用同一個引擎的游戲美術(shù)風(fēng)格大多相似?只有3D游戲需要用到引擎嗎?這可能是一個玩家面對游戲引擎時最基礎(chǔ)的疑問,可事實也許不像我們想的那么簡單。
游戲引擎是什么?
要深入了解游戲引擎,必須從概念說起。簡單來歸納,游戲引擎就是將各類工具、代碼集成,讓游戲開發(fā)變得更輕松、更快速的一套工具。汽車引擎可以為車輛提供基礎(chǔ)動力,讓駕駛者僅需轉(zhuǎn)動方向盤就能隨心所欲地行駛。游戲引擎存在的意義也是如此,就是讓游戲開發(fā)者不用接觸太多深層次的代碼,只需要進(jìn)行相對簡單的操作,就能開發(fā)出一個可玩的游戲。
當(dāng)然,汽車引擎和游戲引擎,還是有著本質(zhì)上的不同的。畢竟前者是單純提供動力,而后者則是優(yōu)化勞動效率。
在游戲行業(yè)最著名的幾個游戲引擎當(dāng)中,Epic Games開發(fā)的虛幻引擎知名度絕對位列前茅。虛幻引擎上手門檻較低、功能完善,上一世代主機(jī)上有一大批基于虛幻3引擎開發(fā)的3A大作,玩家們對它是非常熟悉的。虛幻3引擎的升級版虛幻4引擎擁有免費的民用版本,成為許多獨立游戲開發(fā)者的不二之選。
大型廠商做商業(yè)開發(fā)的時候選擇的多是授權(quán)版的虛幻引擎,前段時間大火的《絕地求生》以及近期引起無數(shù)討論的《新高達(dá)破壞者》,都使用了虛幻4引擎。一些體量較小的廠商,特別是國內(nèi)的廠商,有時會將采用虛幻引擎開發(fā)作為游戲的宣傳賣點,以至于很多人以為更好的引擎就意味著更好的畫面。
更好的引擎當(dāng)然有可能意味著更好的畫面,但不是絕對的。引擎升級的主要意義是給開發(fā)者提供更多方便實用的開發(fā)功能,畫面提升只是其中之一。對一些以玩法為核心的作品而言,花高價買來的授權(quán)若是不能提升實際銷量,那么還不如用更加便宜的引擎,這說明選擇一個適合自己游戲開發(fā)的引擎才是最重要的。也是因為需要“適合自己”,最早的游戲引擎,實際上并不是像現(xiàn)在這樣作為商品流通,大多都是開發(fā)者根據(jù)需求自己寫出來的。
上個世紀(jì)90年代中期,隨著第一人稱射擊游戲的興起,游戲引擎的概念才隨之出現(xiàn)。在此之前,由于硬件架構(gòu)的制約,大多數(shù)廠商的游戲開發(fā)環(huán)境幾乎都是獨立的,只用于自家游戲的開發(fā),缺乏流通與交流,因此歷史上第一個可以稱為“游戲引擎”的工具是何時出現(xiàn)的,現(xiàn)在幾乎已經(jīng)不可考。
為游戲引擎早期發(fā)展做出較大貢獻(xiàn)的是約翰·卡馬克和他編寫的毀滅戰(zhàn)士引擎(Doom Engine,即id Tech 1)。《毀滅戰(zhàn)士》不僅開創(chuàng)了第一人稱射擊游戲百花齊放的時代,它所使用的引擎還大大降低了當(dāng)時游戲開發(fā)的準(zhǔn)入門檻,為未來游戲行業(yè)的大發(fā)展提升了效率。
毀滅戰(zhàn)士引擎的出現(xiàn)奠定了開發(fā)商id Software在游戲圈內(nèi)的地位,更重要的是它開創(chuàng)了一個全新的概念,即引擎授權(quán)。在《毀滅戰(zhàn)士》面世一年之后,id Software將引擎授權(quán)給了Raven Software,后者將引擎修改之后開發(fā)出了劍與魔法風(fēng)格的《異教徒》(Heretic)。自此之后,一些游戲廠商不再局限于靠游戲本體掙錢,游戲引擎迎來了一個快速發(fā)展的階段。
隨著行業(yè)的發(fā)展,一些游戲產(chǎn)品逐漸變成了推廣游戲引擎的工具,“孤島危機(jī)”就是十分典型的“賣引擎”游戲系列。開發(fā)商Crytek走硬件殺手路線,強調(diào)游戲配置與畫面水準(zhǔn),成功為自己的CryENGINE引擎打出了名氣。
除了畫面上的優(yōu)勢之外,游戲引擎能不能賣好的最重要屬性是它好不好用。一個優(yōu)秀的程序員對游戲開發(fā)而言是不可替代的瑰寶,但這樣的人才大多可遇不可求,因此不能否認(rèn),引擎的上手難易度是衡量其優(yōu)劣的一個重要指標(biāo)。這同樣是虛幻引擎的優(yōu)勢之一。
當(dāng)然,對于開發(fā)者而言,虛幻引擎最大的特點不是畫面、不是物理效果,而是Epic選擇對它進(jìn)行了開源。
開源即開放源代碼,開源了的虛幻引擎區(qū)別于其他引擎最大的特點就是,它允許開發(fā)者在引擎的底層框架下加入各種各樣自定義功能,即所謂的“模塊化設(shè)計”。而這些在開源基礎(chǔ)上誕生的自定義功能,為游戲引擎的發(fā)展也做出了巨大的貢獻(xiàn)。
現(xiàn)在我們解答一些基礎(chǔ)的問題:換引擎畫面就一定會提升嗎?為什么不換引擎畫面也可以提升?
基于模塊化的設(shè)計,在不更換引擎的前提下,當(dāng)然是可以讓游戲畫面提升的,比較常見的手段就是對舊引擎進(jìn)行各種修補。常見的修補方式有增強游戲內(nèi)光照、增加建模多邊形數(shù)等等。
至于說認(rèn)為同一引擎畫面都相似,更是狹隘的觀點。必須承認(rèn),每個引擎都有自身在畫面表現(xiàn)上的不足,譬如虛幻3引擎的血液效果不甚理想,MT Framework的最初版本被認(rèn)為充滿了油膩感。隨著廠商對這些引擎的熟悉、改善,調(diào)教程度不斷提高,這些問題也將在一個個版本更新中得到不同程度的解決,至于有的開發(fā)組魔改畫面,調(diào)教出多變的畫風(fēng),那也不是不可實現(xiàn)的。
對于游戲引擎而言,開源具有十分重要的意義,它意味著游戲開發(fā)者在取得引擎的授權(quán)之后,能夠?qū)σ孢M(jìn)行各種個性化操作。如果繼續(xù)用開頭的汽車引擎作類比,就相當(dāng)于廠家在賣給你引擎之后,還附帶一份詳細(xì)的引擎圖紙,你可以根據(jù)這份圖紙對引擎進(jìn)行各種大修,加上液氮冷卻、火箭噴射,甚至是人工智能。
舉例來說,除Roguelike游戲外,大部分游戲的地形都是需要開發(fā)者進(jìn)行自行設(shè)計的,但在恐怖游戲《沉沒之城》(The Sinking City)中,開發(fā)者們使用授權(quán)獲得的虛幻4引擎,做出了一個自動地形生成工具,大大降低了他們的工作強度。
《沉沒之城》預(yù)告畫面
開發(fā)現(xiàn)代游戲,最為困難的不是建模、地形這種高重復(fù)性的勞動,而是游戲AI編寫這樣需要較高技術(shù)含量的工作。千人有千面,千款游戲也有千種AI,無論是需要掌握各種戰(zhàn)術(shù)的RTS游戲,還是需要對玩家行為作出及時反饋的潛入游戲,甚至就連單純的突突突游戲,要是AI寫得不好,游戲的品質(zhì)就會受到極大的打擊。最好的例子,就是前段時間被曝料的奇葩事,《異形:殖民軍》這款游戲很可能因為AI代碼中多寫一個字母,就導(dǎo)致游戲品質(zhì)極大地縮水。
游戲AI這種東西不可能在所有引擎中通用,不同類型和玩法有不同的需求,給Galgame里的美少女高中生們設(shè)置戰(zhàn)斗邏輯也沒啥意義,那么在AI方面,游戲引擎該如何讓開發(fā)者們更輕松地開發(fā)游戲呢?這方面的問題,在真正的強人工智能出現(xiàn)前暫時無解,當(dāng)然,一些廠商自用的引擎,因為大多只用于開發(fā)單一類型的游戲,因此能自帶一套較為簡單的AI系統(tǒng),譬如《GTA5》使用的Rage引擎據(jù)說就擁有AI功能。
以上所有游戲,無論是使用自用引擎的,還是使用他家授權(quán)引擎的,無一例外都是3D游戲。我們都知道,游戲從2D時代進(jìn)入3D時代不僅僅意味著畫質(zhì)的提升,游戲設(shè)計理念也迎來了一次革命。那么與3D游戲同一時期誕生的游戲引擎,3D功能是它們的標(biāo)配嗎?
先說結(jié)論:在如今這個時代,無論制作你做什么游戲,都需要游戲引擎的幫助。根據(jù)游戲類型的不同,選用的引擎也不同。游戲引擎在本質(zhì)上是游戲的開發(fā)工具,它能做到的可不僅僅是讓畫面變得更精致、讓物理特性變得更加真實這么簡單而已,一些根本不以畫面取勝、完全沒有物理特性的游戲,有時候也得依靠游戲引擎。在這個領(lǐng)域,其實可以用一種最簡單的游戲類型作答——Galgame。
在大多數(shù)游戲都拼了命想實現(xiàn)3D化的現(xiàn)在,大部分Galgame依舊頑強地使用2D畫面。但缺乏3D功能,并沒有讓Galgame引擎的發(fā)展落后于一般引擎,反而因為這類游戲較低的開發(fā)門檻,Galgame游戲引擎發(fā)展得相當(dāng)不錯。吉里吉里(T Visual Presenter)就是一個非常易于上手的Galgame引擎,同時其功能也非常出色,既能制作出《Fate/stay night》這種Galgame界的“3A大作”,同時也支持各種同人社團(tuán)開發(fā)游戲。
前幾年的知名國產(chǎn)游戲《高考戀愛100天》也是基于吉里吉里開發(fā)的。作為一個開源引擎,吉里吉里自然也支持各類插件,在這一點上它和虛幻引擎沒有什么差別。
在歐美獨立開發(fā)者,則更加偏愛Ren'Py引擎,這個基于Python開發(fā)的游戲引擎較之吉里吉里最大的不同是,它能夠為游戲提供3D加速功能。當(dāng)然,Ren'Py引擎也是開源的,這就意味著使用Ren'Py引擎的開發(fā)者也能像使用其他大作的開發(fā)者一樣,為自己增添定制功能。其中,最好的例子就是《DokiDoki》。這個基于Ren'Py引擎開發(fā)的日式Galgame,卻能夠?qū)崿F(xiàn)諸多帶來恐怖效果的Meta功能。
換言之,我們甚至可以認(rèn)為,正是因為那些體量較小的游戲在畫面上沒有優(yōu)勢,需要在一些精巧的設(shè)計上更加用心,因此這些小成本游戲的開發(fā)者們會在引擎的模塊化設(shè)計上搞出更多花樣。
戰(zhàn)略游戲也一樣,瑞典廠商Paradox Interactive在開始大規(guī)模使用克勞維茨引擎之前,他們的幾乎所有作品都是2D畫面的,譬如《鋼鐵雄心2》《歐陸風(fēng)云3》。在開始放棄了使用多年的歐羅巴引擎后,它們才開始慢慢走上了3D游戲之路。但即便是走上了3D之路,之前2D時代的一些臭毛病卻依舊沒能改變,新做的3D引擎已經(jīng)用了一些年,要改善功能估計還要有很長的路走。
老毛病與老引擎,玩家口中的“祖宗之法”似乎越來越多了。
明確了引擎是如何而來的,也知道了現(xiàn)代引擎的功能都有什么,那么是時候把話題拉回到最初:為什么廠商要把祖?zhèn)饕嬉淮挠孟氯ツ兀?/p>
以P社游戲舉例,他們更換引擎,最根本的原因是歐羅巴引擎不具備3D化功能,已經(jīng)完全不能適應(yīng)時代發(fā)展的需求。畢竟P社并不甘心于只做一個小眾游戲公司,這一點從他們這幾年新作風(fēng)格的改變中就能看出。
可以看出,更換引擎這件事若想要被提上日程,其先決條件是舊引擎已經(jīng)徹徹底底無法滿足時代需求,無論是在畫面還是其他功能上。另一方面,模塊化的引擎設(shè)計大大延長了舊引擎的壽命。每一次更新,引擎的名字雖然不變(自用引擎頂多換個版本號),但是功能已經(jīng)足以應(yīng)付新的需求,最好的例子就是“使命召喚”系列的IW引擎。
最大的制約因素還是技術(shù)成本。我們已經(jīng)知道,引擎最開始出現(xiàn)就是為了開發(fā)者能更加便捷地開發(fā)游戲,在早期游戲的開發(fā)過程中,游戲引擎的開發(fā)(當(dāng)時還沒有這個專門的名稱)就耗費了游戲開發(fā)一半以上時間。就算迫于時代的壓力,廠商真的重做了一個引擎,在適應(yīng)期也會出現(xiàn)各種各樣的問題。就算這些問題的負(fù)面影響能夠靠著大廠的技術(shù)實力被壓縮到最小,還有很多以現(xiàn)今科技難以解決的問題,譬如多核心優(yōu)化就是P社從2D時代一直到現(xiàn)在難以解決的。直到今天,P社的許多游戲都會因為后期數(shù)據(jù)量過大而產(chǎn)生卡頓,但無論你的CPU有多少個核心、有多強的性能,真正進(jìn)行運算的永遠(yuǎn)只有一個CPU。
說到這里,問題就相當(dāng)明朗了。一個游戲引擎,通過模塊化設(shè)計就能解決許多問題,更換引擎技術(shù)成本又高,還存在一定風(fēng)險,還不能一勞永逸解決大部分問題,其后果就是,大多數(shù)公司在開發(fā)出一個用著舒服引擎之后,都不會想著去更換它,畢竟大部分公司的主要收益還是游戲而不是引擎授權(quán)——況且這些引擎一直在改善,只是沒有換個名字讓你感受更好而已。
或許可以從另一個角度來討論這個問題:玩家之所以會對游戲引擎如此敏感,主要還是因為今天的許多游戲廠商對創(chuàng)新越來越不上心。今天,許多3A大作的設(shè)計理念就像游戲引擎一樣,不過是在原有基礎(chǔ)上進(jìn)行少量的修補和完善。21世紀(jì)的很多游戲產(chǎn)品,我們都能在20世紀(jì)的游戲中找到影子。
玩家總是渴望玩到新東西,新的設(shè)計理念、新的游戲方式總能激起玩家的興奮點。引擎,作為現(xiàn)代游戲開發(fā)的根本資源之一,它的更新?lián)Q代必然能為游戲本身帶來新鮮血液。因此,我們渴望新引擎,歸根結(jié)底,不過是希望技術(shù)上的更新?lián)Q代能帶來游戲設(shè)計理念和玩法上的革新。