首頁(yè) > 產(chǎn)業(yè) > 區(qū)塊鏈
網(wǎng)易自研引擎首席專(zhuān)家:每半年一次系統(tǒng)重構(gòu),這8年我們是怎么過(guò)的?
2022-05-13 12:00:24
出處 : 游戲葡萄
作者 : SNG
點(diǎn)擊 : 1次
評(píng)論 : 0
網(wǎng)易自研引擎Messiah的研發(fā)即將走進(jìn)第九個(gè)年頭。自研引擎或許是國(guó)內(nèi)游戲研發(fā)的一大技術(shù)痛點(diǎn)。一方面因?yàn)槟壳笆忻嫔弦呀?jīng)有幾款相對(duì)成熟且優(yōu)質(zhì)的商用引擎,大多游戲廠商并不會(huì)在這「吃力又不討好」的領(lǐng)域深究;另一方,自研引擎需要的技術(shù)力門(mén)檻相當(dāng)高,并非投入大量資金就能立刻實(shí)現(xiàn)。那么,網(wǎng)易作為較早開(kāi)始研究自研引擎的游戲廠商,對(duì)于行業(yè)這一技術(shù)痛點(diǎn)有哪些不同的看法?他們自研引擎的技術(shù)又達(dá)到了何種水平?本篇文章便邀請(qǐng)到網(wǎng)易Messiah自研引擎領(lǐng)銜者&網(wǎng)易互娛首席游戲軟件設(shè)計(jì)專(zhuān)家趙鈺琨,圍繞著網(wǎng)易自研引擎Messiah相關(guān)情況簡(jiǎn)單聊了聊。2020年,網(wǎng)易自研引擎Messiah推出世界游戲業(yè)領(lǐng)先的全平臺(tái)動(dòng)態(tài)全局光方案,并已獲得專(zhuān)利以下是經(jīng)過(guò)整理的采訪內(nèi)容:01為什么要堅(jiān)持自研引擎堅(jiān)持要做自研,這種想法是因什么契機(jī)產(chǎn)生?趙鈺琨:我最早在學(xué)習(xí)編程的時(shí)候其實(shí)有這樣的一個(gè)感覺(jué),前面有很多非常聰明的、非常偉大的計(jì)算機(jī)科學(xué)家,他們發(fā)明了各種算法、寫(xiě)出了各種很牛的軟件。剛開(kāi)始學(xué)習(xí)做離線渲染的時(shí)候,我接觸到了比如Ed Catmull發(fā)明的Stochastic Sampling算法,以及他在Pixar研發(fā)的PhotoRealistic RenderMan這個(gè)渲染器,他們寫(xiě)得非常棒。當(dāng)時(shí)我問(wèn)了自己一個(gè)問(wèn)題:大家都是人,為什么別人能寫(xiě)出來(lái)我們寫(xiě)不出來(lái)?我很強(qiáng)烈地覺(jué)得不服氣,既然人家可以做得那么好,我們也是可以寫(xiě)出(優(yōu)秀的軟件)來(lái)的。所以我整個(gè)大學(xué)階段都在做一件事,就是嘗試寫(xiě)一個(gè)能和RenderMan一較高下的離線渲染器。RenderMan渲染效果圖 | 圖片來(lái)源:網(wǎng)絡(luò)后來(lái)我到了網(wǎng)易游戲,我開(kāi)始接觸游戲引擎。在立項(xiàng)做這個(gè)自研引擎的時(shí)候,我們的想法就是,人家3A游戲能做到跨平臺(tái)的、全平臺(tái)的、頂級(jí)的引擎,我們也都可以做到;人家能夠做到實(shí)時(shí)的、全局光實(shí)時(shí)的動(dòng)態(tài)全局光,我們也都能做到;而且我們要做得更好、在更短的時(shí)間內(nèi)做得比他們好。簡(jiǎn)單來(lái)說(shuō)就是有點(diǎn)“不認(rèn)輸”。趙鈺琨:對(duì),是這個(gè)意思沒(méi)有錯(cuò)。我自己實(shí)際上也是一直在貫徹這個(gè)觀點(diǎn),去推動(dòng)網(wǎng)易的技術(shù)發(fā)展。在這個(gè)開(kāi)發(fā)的過(guò)程里面我覺(jué)得比較有意思的是,我們不斷地去挑戰(zhàn),不斷地去努力,希望可以和那些已經(jīng)站在頂尖的人們站在一起。我們從用一個(gè)非常簡(jiǎn)陋的demo在飯桌上用iPad mini 2給丁老板演示、直到現(xiàn)在能夠支持上十?dāng)?shù)款產(chǎn)品在研發(fā)運(yùn)營(yíng)、乃至有《暗黑破壞神:不朽》這樣的世界頂級(jí)的、史詩(shī)級(jí)的項(xiàng)目采用的自研引擎,我一直貫徹Messiah每一行代碼都是我們自己寫(xiě)出來(lái)的,每一個(gè)功能都是我們親手制作研發(fā)打磨出來(lái)的。我們的這種不服氣、不認(rèn)輸貫穿了整個(gè)研發(fā)過(guò)程的始終。我希望同學(xué)們能加入到我們這樣的一個(gè)企業(yè),在這樣的一種研發(fā)氛圍里面,也能做出自己的東西,通過(guò)自己的能力去敢挑戰(zhàn)世界頂尖水平。世界頂尖不是說(shuō)要掛在嘴巴上,而是要做出來(lái)。就網(wǎng)易自身而言,包括我們之前的《一夢(mèng)江湖》《荒野行動(dòng)》《王牌競(jìng)速》,以及現(xiàn)在已經(jīng)即將全球上線的《暗黑破壞神:不朽》,都已經(jīng)能夠和世界頂尖的產(chǎn)品站在一起,依靠的也是我們自己一個(gè)字符一個(gè)字符敲出來(lái)的代碼。大概在2017年開(kāi)始,我們陸陸續(xù)續(xù)有非常多的機(jī)會(huì)和各種世界頂尖研發(fā)團(tuán)隊(duì)進(jìn)行交流,甚至還有機(jī)會(huì)和業(yè)界傳奇游戲歷史銷(xiāo)量前三制作人、第一個(gè)提出Deferred Shading的大牛、第一個(gè)提出Cascade Shadow Map的大牛這樣站在游戲世界之巔的人進(jìn)行對(duì)話,我自己感觸良多。跟他們交流,給他們看到我們的技術(shù),獲得他們的尊重、認(rèn)可和贊許,他們還主動(dòng)邀請(qǐng)我們進(jìn)行更多更深入的溝通,甚至還有頂尖國(guó)外的制作人三番四次地想獲得使用我們引擎的授權(quán)來(lái)進(jìn)行新游戲的研發(fā),我深切地感受到我們的技術(shù)真的開(kāi)始摸到了世界頂尖水平。新時(shí)代的3D手游引擎Messiah,帶來(lái)《一夢(mèng)江湖》豐富而自由的捏臉3.0時(shí)代02“如果自己不革自己的命,別人就會(huì)來(lái)革你的命”聽(tīng)說(shuō)Messiah每半年就要做一次大的系統(tǒng)重構(gòu),其中會(huì)涉及到不小的工作量吧?趙鈺琨:自2014年以來(lái),至今Messiah經(jīng)歷了8年的持續(xù)研發(fā)迭代,成為一個(gè)橫跨移動(dòng)、桌面、主機(jī)的全平臺(tái)次世代游戲引擎,至2022年完成了8款大型產(chǎn)品的研發(fā)工作。目前正在研發(fā)的產(chǎn)品達(dá)數(shù)十款,涵蓋MMO、FPS、TPS、ARPG、賽車(chē)、體育競(jìng)技等多個(gè)游戲品類(lèi),引擎支持iOS、macOS、安卓、PC、Linux、PS4/PS5、Switch、XBox等幾乎所有的游戲平臺(tái)。架構(gòu)與效率一直貫穿于整個(gè)引擎開(kāi)發(fā)工作,我們相信良好的架構(gòu)能提供足夠高的執(zhí)行效率以及良好的擴(kuò)展伸縮性。我們深信——“如果自己不革自己的命,別人就會(huì)來(lái)革你的命”,所以我們一直貫徹一個(gè)開(kāi)發(fā)規(guī)則,每半年左右必須全面更新一個(gè)大型子系統(tǒng)框架,架構(gòu)是引擎發(fā)展的命根子。那這幾年里,Messiah大概都經(jīng)歷過(guò)哪些迭代變化呢?趙鈺琨:大概2007年,在我最早剛剛開(kāi)始構(gòu)思和設(shè)計(jì)Messiah雛形的時(shí)候,PC業(yè)界正開(kāi)始面對(duì)摩爾定律的“失效”,即芯片頻率的提升遇到瓶頸,Intel開(kāi)始向多核心CPU發(fā)展,在超線程技術(shù)加持下并行計(jì)算日益提上議程。我在剛剛加入網(wǎng)易的時(shí)候有幸參與了當(dāng)時(shí)的一個(gè)XBox 360開(kāi)發(fā)課程,其中一個(gè)很有趣的點(diǎn)就是360的CPU在安排計(jì)算指令的時(shí)候需要“湊”一對(duì)兒一對(duì)兒的指令,以加大并行度,否則單條計(jì)算指令會(huì)降低PowerPC芯片的效率。這個(gè)是我之前沒(méi)接觸過(guò)的領(lǐng)域,讓我大開(kāi)眼界,也給了我靈感。后來(lái)我看到x86平臺(tái)也開(kāi)始有這樣的趨勢(shì),我深刻的感受到多核心計(jì)算一定是未來(lái)的重中之重,于是我理想中的游戲引擎的樣子,應(yīng)該是一個(gè)天生并行的架構(gòu),應(yīng)該是一個(gè)像現(xiàn)實(shí)世界一樣多線程的架構(gòu),而不是「?jìng)鹘y(tǒng)游戲引擎——順序逐一更新計(jì)算」的架構(gòu)。為什么是多線程?趙鈺琨:Messiah剛研發(fā)的時(shí)候是2013年左右,當(dāng)時(shí)是移動(dòng)游戲剛剛開(kāi)始爆紅的時(shí)候,所有人都開(kāi)始關(guān)注移動(dòng)游戲,所以大家都覺(jué)得要針對(duì)當(dāng)時(shí)的移動(dòng)芯片進(jìn)行開(kāi)發(fā),要根據(jù)當(dāng)時(shí)的移動(dòng)平臺(tái)來(lái)設(shè)計(jì)。但是我斷定移動(dòng)平臺(tái)必將走過(guò)PC平臺(tái)的每一步,將會(huì)復(fù)刻PC平臺(tái)的發(fā)展,包括CPU和GPU,他們將在很短的時(shí)間內(nèi)變得一模一樣。所以我堅(jiān)持Messiah的移動(dòng)平臺(tái)版本也需要做多線程,多核心優(yōu)化。在我們多線程剛出來(lái)的時(shí)候,不少人嘲諷,說(shuō)我們不懂移動(dòng)平臺(tái),說(shuō)Messiah的多線程架構(gòu)一定會(huì)死得很難看。后來(lái)恰恰相反,更短時(shí)間內(nèi)更高效率的計(jì)算、以及多核心分?jǐn)傆?jì)算成本反而能降低核心頻率從而降低功耗,Messiah在移動(dòng)平臺(tái)上出色的效率及功耗控制贏得了很多項(xiàng)目的良好口碑?!兑粔?mèng)江湖》:網(wǎng)易Messiah引擎大膽嘗試只在主機(jī)與PC端游用到的渲染技術(shù)在2017年我們成功推出了《天下手游》和《楚留香》(后更名為《一夢(mèng)江湖》)以后,Messiah的架構(gòu)迭代并沒(méi)有停止,我認(rèn)為我們需要更進(jìn)一步的推動(dòng)架構(gòu)發(fā)展,需要為5年甚至10年以后的產(chǎn)品打基礎(chǔ)做準(zhǔn)備,于是我們又進(jìn)一步的重構(gòu)了整個(gè)多線程體系。2018年我們?cè)谥С至恕痘囊靶袆?dòng)》這種可以做到無(wú)限大世界的游戲架構(gòu)以后,重構(gòu)了整個(gè)渲染管線,引入了Frame Graph系統(tǒng)——比Unreal引入這套系統(tǒng)提早了兩年。2020年我們又再次大規(guī)模重構(gòu)了多線程渲染系統(tǒng),在PC上效率提高了10倍;2021年我們推出了Frame Graph 2.0;2022年我們迭代了多線程架構(gòu)專(zhuān)門(mén)優(yōu)化了大小核心調(diào)度等等。團(tuán)隊(duì)內(nèi)部怎么看待這樣的架構(gòu)迭代?趙鈺琨:其實(shí)剛剛有提到,我期待的工作狀態(tài),絕不是一個(gè)自己認(rèn)為“還可以”的狀態(tài),當(dāng)然,這也是很多做技術(shù)的同學(xué)都天然會(huì)有的追求。如果你選擇程序員作為你的終身職業(yè),然后進(jìn)入到這個(gè)行業(yè),以及進(jìn)入到網(wǎng)易這樣的一家以自主研發(fā)為主的公司,我認(rèn)為每一個(gè)同學(xué)更需要關(guān)注自己的一些能力,比如說(shuō)學(xué)習(xí)能力。學(xué)習(xí)是非常重要的,它會(huì)貫穿你的整個(gè)職業(yè)生涯。我們不只是需要學(xué)習(xí)像學(xué)校里面的一些理論知識(shí),更重要的是要學(xué)習(xí)怎么樣去做一個(gè)產(chǎn)品,怎么樣去讓一項(xiàng)技術(shù)落地,然后怎么樣去接觸新的東西,因?yàn)榧夹g(shù)本身就是不斷在更新和迭代的。然后去把這些技術(shù)運(yùn)用到我們的產(chǎn)品上面去產(chǎn)生具體的價(jià)值,然后讓所有人去享受到、玩到這些技術(shù)。同時(shí)在研發(fā)Messiah的過(guò)程里,我體會(huì)到最大的感悟并不是單純的技術(shù),而是研發(fā)引擎這個(gè)過(guò)程,最重要的,并不是僅僅產(chǎn)出一個(gè)產(chǎn)品、一堆代碼,最重要的是這個(gè)研發(fā)過(guò)程培養(yǎng)了一個(gè)團(tuán)隊(duì)、一系列技術(shù)專(zhuān)家、沉淀下來(lái)了一個(gè)良好的技術(shù)研發(fā)環(huán)境氛圍。隨著引擎研發(fā)成長(zhǎng)的人,是網(wǎng)易游戲引擎團(tuán)隊(duì)中最大的碩果,人比代碼重要、比產(chǎn)品重要,有人才有這些可能性,代碼自己不會(huì)成長(zhǎng),人會(huì);代碼不會(huì)自己變強(qiáng),人會(huì);代碼不會(huì)自己進(jìn)化,人只要給與足夠的空間和機(jī)遇,給養(yǎng)分,給時(shí)間,給試錯(cuò)的機(jī)會(huì),給動(dòng)力,給回報(bào),成長(zhǎng)的空間是沒(méi)有止境的。我們研發(fā)引擎一開(kāi)始的初衷是為了解決技術(shù)短缺,后來(lái)逐步的變成解決人才短缺,再后來(lái)變成了我們培養(yǎng)了一個(gè)正向循環(huán),一方面引擎的研發(fā)環(huán)境促進(jìn)人成長(zhǎng)、變強(qiáng),另一方面人才變強(qiáng)了又促進(jìn)迭代原有的引擎技術(shù),讓引擎變得更先進(jìn)。所以團(tuán)隊(duì)內(nèi)部能達(dá)成這個(gè)迭代的共識(shí),是因?yàn)榇蠹叶济靼椎且娴某砷L(zhǎng)過(guò)程,也是自己的成長(zhǎng)過(guò)程。03做真正made in China的中國(guó)游戲你自己會(huì)怎么定位Messiah這款引擎?趙鈺琨:可以說(shuō),Messiah是網(wǎng)易在技術(shù)突破上第一次野心勃勃的巨大嘗試,也是國(guó)內(nèi)軟件研發(fā)歷史上一個(gè)巨大復(fù)雜軟件成功研發(fā)的里程碑。游戲引擎的復(fù)雜度、耦合度、廣度、深度,都決定了它是除了操作系統(tǒng)以外,其中一種最復(fù)雜的軟件。其對(duì)執(zhí)行效率有極端苛刻的要求,對(duì)前沿技術(shù)的落地注重、對(duì)產(chǎn)品直接支持面向用戶(hù)、同時(shí)也承接整個(gè)產(chǎn)業(yè)的工業(yè)化,同時(shí)面對(duì)用戶(hù)和生產(chǎn)者,既要運(yùn)行時(shí)效率非凡也要生產(chǎn)時(shí)易用耐用。既要達(dá)到宣傳片里的頂級(jí)畫(huà)面、也要在伸縮性上考慮極廣泛的用戶(hù)設(shè)備寬度。我認(rèn)為這是極其苛刻的研發(fā)指標(biāo),僅亞于帶圖形用戶(hù)界面的操作系統(tǒng)。這是第一次網(wǎng)易從零開(kāi)始規(guī)劃一個(gè)面向十年甚至二十年后的引擎。在規(guī)劃的時(shí)候就提出需要從最底層開(kāi)始解決根本性技術(shù)難題,并且貫徹始終,一直沒(méi)有偏差的執(zhí)行研發(fā)戰(zhàn)略的引擎研發(fā)項(xiàng)目。我們?cè)诘谝恍写a寫(xiě)下來(lái)的時(shí)候就堅(jiān)持跨平臺(tái)、原生多線程、并發(fā)執(zhí)行、支持盡可能多的圖形API和操作系統(tǒng)、向主機(jī)看齊向移動(dòng)兼容,務(wù)求一次研發(fā)所有平臺(tái)都能跑起來(lái)一模一樣。這種理念現(xiàn)在看起來(lái)是理所當(dāng)然,而我最早構(gòu)思Messiah的時(shí)候是2007年,成立項(xiàng)目的時(shí)候是2014年,當(dāng)時(shí)這是大逆不道的破天荒的想法。很幸運(yùn)我們堅(jiān)持并一路走下來(lái)了,而且能做得到。今年是2022年,8年過(guò)去了這個(gè)規(guī)劃看起來(lái)還剛剛能滿(mǎn)足目前的需求,證明我們8年前的想象力也僅僅足夠支撐至今,所以接下來(lái)我們需要更大膽、更具有想象力的規(guī)劃,去憧憬下一個(gè)8年后的未來(lái)。同時(shí)Messiah也是一個(gè)非常極端的敏捷軟件開(kāi)發(fā)的產(chǎn)物,在研發(fā)的同時(shí)就開(kāi)始供應(yīng)給在研項(xiàng)目,相互促進(jìn)。我們堅(jiān)持精兵簡(jiǎn)政策略,堅(jiān)持只采用極少量的頂尖研發(fā)人員、進(jìn)行極高的迭代效率、以及非常迅速的響應(yīng),在很短的時(shí)間內(nèi)支持了大量項(xiàng)目的開(kāi)發(fā)、上線、運(yùn)營(yíng)。在你看來(lái),Messiah和市面上的商業(yè)引擎最大的區(qū)別體現(xiàn)在哪里呢?趙鈺琨:我們和商業(yè)引擎是有非常大的不同。首要的便是,自研引擎專(zhuān)注對(duì)內(nèi),所以我們很偏執(zhí)地追求執(zhí)行效率,只有執(zhí)行效率和能耗指標(biāo)遠(yuǎn)高于商業(yè)引擎,才能抵御體量龐大的商業(yè)引擎。俗話說(shuō)船小好掉頭,我們?cè)诓杉{新的技術(shù)架構(gòu)上、以及適應(yīng)新的硬件上,響應(yīng)速度遠(yuǎn)超商業(yè)引擎。在一些核心問(wèn)題的修改上,我們的決策速度也遠(yuǎn)比商業(yè)引擎快、準(zhǔn)、狠,所以Messiah最大的特點(diǎn)是,執(zhí)行快、響應(yīng)快、變化快。當(dāng)然,雖然Messiah研發(fā)即將走進(jìn)第九個(gè)年頭,已經(jīng)從一個(gè)簡(jiǎn)陋的demo飛速成長(zhǎng)為有能力支撐世界級(jí)品質(zhì)、全平臺(tái)發(fā)行的大型游戲開(kāi)發(fā)的成熟自研引擎,但我們也承認(rèn),Messiah至今依然有大量的不足,我們每天仍然面對(duì)很多反饋、很多珍貴的制作需求。我們團(tuán)隊(duì)中的每一個(gè)成員都正在努力改進(jìn),努力進(jìn)步,希望有一天,屬于我們自己的引擎能夠矗立在世界游戲技術(shù)之巔,大家能用上世界最頂尖的技術(shù)——我們自己開(kāi)發(fā)出來(lái)的技術(shù)。本文轉(zhuǎn)載自公眾號(hào) 網(wǎng)易游戲互娛校園招聘 。推薦閱讀游戲公司招聘季|人才市場(chǎng)殘酷現(xiàn)狀|工業(yè)化之戰(zhàn)疫情下的上海圈|版號(hào)|二次元下個(gè)陣地三七搶人|天美技術(shù)策劃|游戲王點(diǎn)擊下方公眾號(hào)名片,獲取游戲行業(yè)更多信息
強(qiáng)推




