天天看點

莉莉絲遊戲引擎渲染專家凱丁:從MMO到獨立遊戲,再到引擎技術

莉莉絲遊戲引擎渲染專家凱丁:從MMO到獨立遊戲,再到引擎技術

本文出自“莉莉絲遊戲”公衆号

凱丁,自2010年起加入騰訊北極光工作室,擔任《天涯明月刀》的用戶端開發及引擎開發工作,後從北極光離開,并于2017年回到騰訊,加入NExT工作室,開始獨立遊戲《隻隻大冒險》的孵化和制作。《隻隻大冒險》上線後獲得了IndieCade Europe 2019年觀衆選擇獎、Indie Prize Asia 2019年最佳遊戲設計以及IGF(獨立遊戲節)提名等衆多獨立遊戲獎項。

凱丁于2020年加入莉莉絲,擔任在研項目渲染組組長一職。

一、從MMO到獨立遊戲

了解到你從畢業起就進入遊戲行業了,還記得第一份工作麼?

當然。因為我本身就比較喜歡玩遊戲和做遊戲,大學畢業之後第一份工作首先加入了騰訊北極光工作室,有幸和一幫從育碧出來的骨灰級的遊戲業内人士共事,參與制作了《天涯明月刀》。剛進去時做了很多天刀内的輕功、尋路等 GPP (Gameplay Programming,遊戲性程式設計)相關的東西。由于我大學時期就在維護一個自研引擎,對遊戲引擎有比較強的執念,是以又轉去做引擎開發相關的工作了。

現在很多同學想轉引擎,但不一定有這麼順利了。

我覺得當時轉引擎不一定是一個很好的決定,不過确實在引擎團隊學到了很多東西。其實隻要在遊戲開發這塊足夠深入,必定會觸達引擎的底層,而引擎也不光隻有渲染。

但你後來還是選擇離開這個團隊,是因為什麼?

當時換工作沒有想得特别清楚吧,主要由于一些個人不成熟的原因選擇了離開,之後加入新公司又發現和預期相差比較大。好在之後一個偶然的機會,《龍之谷》的團隊正在搞優化相關的内容,有些記憶體問題沒搞定。他們線上上找到我,希望我幫忙看看記憶體的問題是否可以優化。之後我給了一些優化建議,于是他們邀請我一起做龍之谷項目。最後封閉開發了三四個月,順利把項目推上線,這段一開始不太符合預期的工作經曆有了不錯的結果。

從這之後我就開始思考我對遊戲的态度和追求的問題。以前我确實是一個比較執着于技術的人,後面發現,我做遊戲的原始驅動力并不是因為我喜歡遊戲引擎,而是我喜歡遊戲本身。正好騰訊NExT那個時候在搞獨立遊戲,對我來說比較有吸引力,就又回到騰訊,加入了NExT工作室。

是以你是因為獨立遊戲制作的機會再次回到騰訊的嗎?

是的。還有個原因是當時招了很多紐約大學畢業的人,可以認識不一樣的人,覺得還蠻有意思。他們肯定有在設計方面比較獨特的地方。之後确實遇到了一個小朋友,跟他一起合作孵化出一個非常有意思的東西,就是《隻隻大冒險》的原型。

當時NEXT内部有類似于Game Jam的比賽,有了想法之後我和那個小朋友合作,把想法用一個禮拜的時間做成Demo。基本玩法和機制确認後,差不多花了兩三天時間,做了一個完整的關卡出來。

兩三天,落地能力聽上去很強啊!

兩三天能落地,是在技術驗證過的基礎上才可以做到的。

最開始我們想做一個攀爬類的遊戲,類似于《人類一敗塗地》。然後我們去研究這個遊戲,以及類似的獨立遊戲,發現有一些很好玩的技術點。比如《人類一敗塗地》裡的人物是軟綿綿、很頹廢的感覺,這個人物的表現并不是靠動畫驅動,而是基于實體去驅動。有了這個前置的技術驗證,才有後面的關卡快速落地。

莉莉絲遊戲引擎渲染專家凱丁:從MMO到獨立遊戲,再到引擎技術

《人類一敗塗地》遊戲畫面

是以這個idea是怎樣變成《隻隻大冒險》的?

本身做實體遊戲,所有的實體參數都非常考驗設計師或者做Gameplay的人調手感的能力。我們也研究了其他類似的遊戲,比如《Gang Beasts(萌萌小人大亂鬥)》等,他們是用程式化的方式去生成動畫,我們一直在嘗試做類似的動畫系統。之後基于這個動畫系統衍生出來的玩法,做了一個類似于跳台的遊戲。直到這個時候,我們的遊戲角色也還是人形,有兩個胳膊兩個腿的那種。最後是跟一個紐大的哥們在腦暴的時候,突然之間靈光一閃,打算把手砍掉不要了,不做人型。這樣設計控制起來很簡單,兩個搖杆就能操作,而且幾乎能做任何人型生物能做的事,跟傳統遊戲很不一樣。

莉莉絲遊戲引擎渲染專家凱丁:從MMO到獨立遊戲,再到引擎技術

《隻隻大冒險》遊戲畫面

項目正式開始制作後你主要負責什麼工作内容?

前期主要是設計層面的工作,玩法,以及一些技術方案,就是基于實體的動畫技術方案。中後期主要是程式為主了,負責一些性能架構Pipeline(管線)等,同時也包括跟美術和策劃配合,怎麼更好地讓他們工作。

二、獨立遊戲之美

對你來說獨立遊戲的魅力在哪裡?

大部分商業遊戲可能隻能拓展技術邊界,但獨立遊戲可以拓展遊戲設計邊界。首先獨立遊戲可以把控更多,而不是單純的在某條工業化的管線下面擰螺絲。同時,獨立遊戲是思維的碰撞,跟他們一起工作,會了解他們的思維方式是怎樣的,可以學到很多。另外,最适合做獨立遊戲的是T型人才,T型人才是指這個人在遊戲開發的絕大部分領域都比較熟悉,且有一塊領域特别地深。

這段獨立遊戲的工作經曆中有沒有讓你覺得特别難忘的事情?

整體來說都比較難忘,因為在這之前做得都是商業項目。制作《隻隻大冒險》之後,我感受到獨立遊戲和商業遊戲的制作思路差異比較大——獨立遊戲完全是靠創意驅動,而非商業驅動。通常商業遊戲制作是玩法品類+劇情内容,劇情内容是非常重要的一環,玩法可能是成熟固定的。是以《隻隻大冒險》的制作思路完全是反的,需要優先想好玩法機制,故事和劇情内容則沒有那麼重要。這點可以參考任天堂的遊戲,幾乎沒有一點劇情上的概念,完全是純粹的玩法,且玩法是很有意思的。

莉莉絲遊戲引擎渲染專家凱丁:從MMO到獨立遊戲,再到引擎技術

《隻隻大冒險》Tap Tap評分

這種不同遊戲在開發思路上的差異,具體在工作中是怎樣展現的?

我覺得獨立遊戲的團隊需要更能快速驗證,這一點非常重要,不能有需求就接,按部就班地按照這個需求一步步做下去。獨立遊戲需要能快速地驗證這個遊戲到底好不好玩。當然,獨立遊戲開發也分階段,我們的遊戲真正開始鋪量也就三四個月,前面那段時間基本上在做原型驗證,思考該做什麼樣的關卡。

三、一件很特别的事兒

是什麼契機讓你加入莉莉絲的?

當時做完《隻隻大冒險》,整個NExT的方向開始逐漸偏離獨立遊戲,我就開始看外面的機會了。我選項目有一個非常重要的因素,就是看這個團隊是不是在做一件很特别的事。我對自己職業方向的選擇和定位是——要麼完全把關做獨立遊戲,要麼就是這個項目組在做一件很特别的事,當初NExT的獨立遊戲項目就是這樣吸引到我的。如今莉莉絲也一樣,因為我所在的項目很特别。

差不多2020年終的時候,我對莉莉絲還在了解階段,但我一看就覺得這是個很有前景的方向。當時有好幾個團隊都在做類似的項目,最後選擇莉莉絲是因為我在這中間挑選了個人覺得相對靠譜和優秀的團隊。

莉莉絲遊戲引擎渲染專家凱丁:從MMO到獨立遊戲,再到引擎技術

所在遊戲内燈光渲染截圖

你目前主要負責什麼工作内容?

主要負責渲染。我剛加入莉莉絲時,整個項目渲染的能力嚴重不足,美術生産流程也有問題。很多東西不是資料驅動,流程不夠自動化,需要美術了解的東西過多。是以我們團隊在這一年建立起一套相對完善且有前瞻性的渲染管線,而且這個管線未來會對内開放給公司所有項目。另外,美術基于Lowpoly(低多邊形,一種複古未來派風格設計)制作的生産流程也有比較大的問題,當美術要更新疊代時,就要對所有資料進行一次更新,這非常不合理。

這是當時你剛加入時遇到的比較大的問題嗎?

對,當時進組後第一件事就是更新美術的Lowpoly流程。當然,之後由于我們整體的渲染風格變化,這個流程被替換成更工業化的流程,不過依然無縫嵌在這個流程裡。

對我來說,跟美術、策劃友好地合作是一件非常重要的事情,程式上做很多事情其實是為了避免美術或者策劃出錯。用一個可能不太好聽的比喻——我們工作的出發點首先要預設他們會出錯,是以一定要從程式上避免他們出錯,這樣可以最大程度地做到效率提升。

你加入項目後通過拉通整個渲染管線,使得遊戲整個品質有了較大的提升。能不能談談具體做了一些什麼疊代,才有現在的呈現效果?

這個管線就是LitRenderPipeline(縮寫LitRP,L代表 lilith , lighting),整合了很多特性的同時也考慮了相容性,比如多光源、高品質陰影。同時我們放棄使用Lightmap(一種離線烘培到貼圖的靜态全局光照技術),轉而使用更合适項目的Volumtric GI(一種基于球諧的全局光照技術)系統,用于提高全局光照效果,又能友善美術,甚至玩家使用。

莉莉絲遊戲引擎渲染專家凱丁:從MMO到獨立遊戲,再到引擎技術
莉莉絲遊戲引擎渲染專家凱丁:從MMO到獨立遊戲,再到引擎技術

光照效果優化前後對比圖

這個事情對你來說挑戰大麼?

整體難度不是很大,主要是要耐心地一步步推進,這其中最難的可能是做Pipeline要考慮很多相容性。比如說之前做獨立遊戲,隻考慮 PC 或者主機,做起來就很容易,但手遊的硬體和 PC 不太一樣。而且現階段項目面向東南亞多一點,是以使用者機型比較差。最開始搞LitRP時候要解決的重要問題之一是多光源。多光源的方案也是盡可能适配到OpenGL 3.0的機型。基本上海外的機器能跑起來,可能慢一點,但不至于不支援。

目前你所在的項目已經開啟了海外買量測試,對你來說現階段還存在什麼問題麼?

現在渲染最大問題,主要是後續資源的統一性。對于我們這樣的産品來說,資源統一非常重要。我們選用技術的時候,基本上是考慮和這個項目的合适程度,而不是去堆進階的技術。技術隻有合不合适,沒有所謂的高不進階。比如說Lightmap,GI方案裡肯定是Lightmap效果最好。但對我們項目,尤其在之後要面向玩家這類非專業開發者的時候,Lightmap的烘培時間過長,要求其對技術的了解要比較深入,是以最後選擇了Volumetric GI的方案。我們明年可能會在項目中落地的GPU Driven(一種可以通過在GPU端處理裁剪,發起繪制指令等特性來大幅減少CPU端的Drawcall數量,進而提升整體效率的技術)也是基于上面的觀點, 考慮到玩家可能會往場景裡面塞很多的mesh ,沒辦法做很好的優化,而GPU Driven能很好的解決這個問題。

遊戲内效果示範

四、是遊戲開發者,更是熱愛者

聽說你特别喜歡玩遊戲。

我是“任豚”(任天堂遊戲粉絲),特别喜歡任天堂的遊戲,馬裡奧系列應該是我最喜歡的,還有《塞爾達傳說:梅祖拉的面具》N64那版也特别喜歡。總的來說我比較偏愛玩法、機制比較巧妙的遊戲。現在反而對3A遊戲興趣不大,不是說3A遊戲品質不夠好,隻是在我看來有些叙事或者場面做的很宏大很漂亮的遊戲,我會想為什麼不幹脆直接拍電影?玩起來有點累。

我打遊戲的曆史也比較長,從GBA(GAME BOY ADVANCE,是任天堂公司于2001年3月21日發售的第二代便攜式遊戲機)時期就愛上了遊戲,那時候手機還是黑白的,突然看到一個有彩色畫面的機器,畫面還特别棒,就被吸引了。

聊下來我發現你對自己的定位其實并不是一名技術人員,而是遊戲制作人,可以這麼說嗎?

可以這麼說。我認為光追求技術沒用,技術最終也要有一個落地的地方。我自己首先非常熱愛遊戲,同時也喜歡鑽研技術,但技術最終要在遊戲裡落地的話不能隻鑽研技術,其他方面也要懂。是以我對組員的要求是要 T 要 P 還要 A(技術、策劃、美術)。别人提過來的需求,最好自己先過一遍,不能拿起來就做。

我認為優秀的技術人員也是一個很好的産品經理。首先有些技術人員可能本身就面向使用者,比如有些做Gameplay很棒的程式員,最後的路徑是成為制作人。即便有些技術崗位不直接面向使用者,而是面向組内,那麼組内的成員也一樣是你的使用者。是以産品意識是衡量一個技術人員綜合能力非常重要的一環。

感覺你的項目經曆都挺順利的,有沒有什麼對你來說真正很困難的事情?

對我來說真正困難的,可能是學會如何與不同的人交流,如何去主動推動項目,如何轉變自己對引擎的執念,如何讓團隊作戰而不是單兵作戰。這些都是在觀念發生變化,合作對象發生變化,職位發生變化時會遇到的困難,對我來說這些困難比實實在在遇到技術問題要難處理許多。

你平時會做哪些個人提升?

遊戲設計方面我會看一些推特上各種獨立遊戲的設計,會多接觸一些遊戲, Steam上的獨立遊戲基本都會玩。引擎方面會看看GDC(Game Developers Conference,遊戲開發者大會)的視訊以及一些論文。

其實我之前還維護了一個小小的玩具引擎,從大學開始就一直在做,完全是自己開發。早期沒有什麼引擎可以參考,尤其是開源的。當時開源引擎好像隻有Ogre(一種遊戲制作引擎),我就參考着它是怎麼做的,然後往裡面加一些自己的東西。工作後發現之前寫的東西還比較青澀,很多設計理念很落後,又持續做了改進。

怎麼會想到要自己去做一個引擎的?

我和程式設計的緣分其實開始的挺早的,國中機緣巧合,在老師的推薦下去了一個程式競賽,那時候就開始接觸程式設計。加上我也挺喜歡玩遊戲,當時就覺得遊戲好神奇,它能把那些畫面變成我能操控着去動的。之後高中我開始萌生要做遊戲的想法,進大學後順理成章選了計算機專業。那時候就給自己定好了方向——我以後一定要做遊戲!是以我做引擎也是為了做遊戲,當時還用這個小引擎做了個小遊戲上線。

最後,對各位想做引擎,做技術的遊戲熱愛者們,有沒有什麼想說的話?

我覺得入行前得問一下自己——到底是想做遊戲還是想做技術?做遊戲和做技術給的建議是不同的方向。整體來說,新人做Gameplay也是有好處的,不要一開始就奔着去搞引擎、搞渲染,尤其是喜歡遊戲的人。

我給自己畫了個圈,這個圈是遊戲領域的知識圈,如果我想做遊戲,就必須把這個知識圈給擴大,而技術是我的出發點。以技術為原點,慢慢的發現我還得了解更多的技術,還得了解美術想的是什麼,還得了解策劃,這些層面的知識都要去一一去擴寬。不過最重要的還是得知道自己的目标是什麼,想做牛逼的技術還是牛逼的遊戲産品。知道自己喜歡什麼,想追求什麼,真正熱愛的是什麼,才能少走彎路。

繼續閱讀