最近韓國很少有開發(fā)公司做遊戲的時候會一起做引擎,大多使用 Unreal、Cry,或是 Unity 等商業(yè)用引擎,因為開發(fā)引擎需要花費部短的時間,而且也很難趕上商用引擎的技術(shù)。
但 Maiet 於 7 月 5 號公測的《Z 奇兵》,以及即將推出的《
GunZ 2》,都是使用自製的「Real Space Engine 3.0」。
Maiet 開發(fā)遊戲已經(jīng)超過 10 年,開發(fā)引擎也是一件當(dāng)然的事情,由於 10 年前幾乎沒有商用引擎,所以每個開發(fā)公司都有自己的引擎,當(dāng)時 Maiet 就已經(jīng)開始發(fā)展引擎,他們相當(dāng)自豪「Real Space Engine」不管是功能或便利性等方面,都不輸給商用引擎。
This Is Game 本次特別採訪了 Maiet 的引擎開發(fā)團隊,聽聽他們「開發(fā)引擎非常有趣,死都要繼續(xù)開發(fā)」的故事。
-
近起程式設(shè)計師鄭皓齊、尹宗文,遠處羅子英理事
■ 引擎是讓開發(fā)遊戲變得更容易的統(tǒng)合環(huán)境
TIG:《Z 奇兵》上周開始公測,感覺怎麼樣?
羅子英:第一天開始遊戲很穩(wěn)定,一方面很安心,另一方面又很緊張,因為你不知道什麼時候會發(fā)生什麼事,所以沒辦法鬆懈下來。
TIG:公測之後引擎組要做什麼事?
羅子英:現(xiàn)在還只是剛開始而已,所以要做的事情很多,有一部分玩家還無法正常進行遊戲,必須要解決這個問題,除了這個之外,還要修正玩家回報的東西,以及強化穩(wěn)定性。之後還要開發(fā)一些功能來強化特效,用在《Z 奇兵》跟《
GunZ 2》上。
TIG:從以前開始就非常好奇,到底遊戲引擎是什麼?
羅子英:簡單的說就是集合許多工具,讓設(shè)計遊戲變得更簡單的統(tǒng)合環(huán)境。
TIG:例如?
鄭皓齊:開發(fā)遊戲的時候,人物、地形、建築物等東西,有很多部分要手動製作或是再新增,引擎就是讓原本繁瑣的作業(yè),輕點一下滑鼠就能快速開發(fā)的工具。
尹宗文:就像樂高一樣,累積越多,就能製作或表現(xiàn)更多東西,引擎就是能夠做出任何東西的工具,而遊戲就是樂高累積組合之後產(chǎn)生的成果。
羅子英:引擎支援大部分遊戲開發(fā)的相關(guān)作業(yè),也可以用來製作繪圖工具,或是製造影子爆炸的特效。引擎設(shè)計師簡單來說,就是支援程式設(shè)計師,與美術(shù)設(shè)計師等開發(fā)團隊的「Supporter」。
Real Space Engine 3.0 的綜合編輯
影片 - 人物服裝即時變化工具
■ Real Space 是大開工程師方便之門的引擎
TIG:製作遊戲引擎要花多久時間?
羅子英:跟《Z 奇兵》開發(fā)時間合起來的話,大概花了六年,我們一起成長過來,意義相當(dāng)深遠。
TIG:自製引擎 Real Space 的優(yōu)點為何?
鄭皓齊:Real Space 主要是讓開發(fā)更方便一些,客戶端工程師用起來簡單,可以按照需求呈現(xiàn)想要的東西,也可以表現(xiàn)大部分美術(shù)設(shè)計師想要的效果。
我們認為,能夠幫遊戲內(nèi)容設(shè)計人爭取時間,才能夠得出好的品質(zhì),所以我們觀察他們在哪些地方感到不便,做出一些適合的工具幫助他們用在遊戲上。以後也會與其他組合作,讓快速開發(fā)的功能能夠提升。
遊戲內(nèi)容組解決之後,就會與美術(shù)設(shè)計師合作,增加一些功能,有時候設(shè)計組還會跑下來搗亂 (笑)。
特效製作工具也直接開發(fā)出來了
TIG:開發(fā)引擎的時候,哪些地方比較辛苦?有什麼難以實現(xiàn)的技術(shù)?
鄭皓齊:Real Space 引擎是以「延遲渲染」(Deferred Rendering) 為架構(gòu),相較於「正向渲染」(Forward Rendering) 能夠表現(xiàn)出比較多的光,而且光源處理速度也比較快。
但是延遲渲染對單獨渲染作業(yè)以及大量動態(tài)光源較為脆弱,因此有時候就算小心增加一些功能,還是會變成飽和狀態(tài)。
這種情況下,被要求要增加刷毛和皮膚陰影的時候,就會非常無奈,最後雖然還是成功了,不過要是再有類似的要求,我想會只會變得更難。
羅子英:要選擇什麼比技術(shù)層面要來得困難,引擎技術(shù)跟之前提到的渲染方式一樣,沒有所謂的好壞之分,所以現(xiàn)在該選什麼才能達到所要的要求,才是最難的事情。
就算做出了選擇,也很難決定要不要開發(fā)這個引擎技術(shù),雖然知道開發(fā)了以後會用到,但是有時候時間或條件並不允許,而且有時候自己還會懷疑「現(xiàn)在做這個到底對不對」。
TIG:主要的大型公司都用 Unreal 等商用引擎,為什麼你們要開發(fā)引擎呢?
羅子英:以手機為例,就像保護套材質(zhì)跟主機板一樣,玩家直接使用到的部分跟核心技術(shù)有一段距離。
遊戲也一樣,玩家直接體驗到的部分,有開發(fā)的人,也有寫內(nèi)部邏輯的人,內(nèi)部邏輯雖然不會直接表現(xiàn)在外觀上,但這個部分必須完整,開發(fā)玩家使用的遊戲內(nèi)容才會比較簡單。
如果我們自己做引擎的話,可以確定整體過程中哪邊地方發(fā)生問題,進而解決它;但如果商用引擎發(fā)生問題,我們無法調(diào)控細節(jié),必須要向開發(fā)公司詢問,所以在解決問題上會花費比較長的時間。
而且自製引擎可以調(diào)控的部分比較自由,開發(fā)技術(shù)的自信心與費用方面,對我們比較有利。
當(dāng)然我們也知道,專業(yè)開發(fā)公司做的商用引擎品質(zhì)比我們好,所以我們也在努力趕上他們。
TIG:有人從遊戲的繪圖,就能判斷引擎的好壞,到底引擎會影響繪圖多少?
鄭皓齊:引擎要完全表現(xiàn)所有用在遊戲上的繪圖,所以影響是 100%,繪圖品質(zhì)要高,作為其後盾的引擎性能就要好才行,所以繪圖品質(zhì)的差異,是根據(jù)引擎的極限來決定的。
羅子英:遊戲引擎的確對繪圖有很大的影響,引擎在性能上,做的好的地方雖然有其侷限,但做不出來的地方就沒有限界,所以就算是相同的引擎,繪圖品質(zhì)還是會有多種差異。
像《Z 奇兵》跟《
GunZ 2》也都是用同樣的引擎開發(fā),但遊戲氛圍完全不同,使用的方法也非常不一樣,雖說引擎百分百影響繪圖,但根據(jù)用的人不同,影響率也有可能變成 0%,結(jié)果還是要看美術(shù)設(shè)計師的功力怎麼樣。
TIG:最近工程師之間最熱的話題是什麼?
鄭皓齊:以前很關(guān)注最新技術(shù),所以開發(fā)功能的時候,都會參考海外網(wǎng)站,但現(xiàn)在《Z 奇兵》公測了,開始比較留意穩(wěn)定性的問題,《Z 奇兵》安定下來,《
GunZ 2》也推出之後,話題應(yīng)該就會變成如何跟上潮流。
最近大家最常聊的應(yīng)該女朋友,大部分的人都喜歡自己玩,或是跟程式設(shè)計組的人一起混,結(jié)果到最後大部分的人都沒有女朋友,大家都是好人,所以如果可以介紹女朋友的話,我們會非常感謝 (齊笑)。
■ 用我們的工具做出更好的遊戲的時候,會感到非常有意義
TIG:怎麼開始開發(fā)引擎的?
鄭皓齊:本來我是在客服組工作,跟程式設(shè)計一點關(guān)係都沒有,後來有一天我突然想開發(fā)遊戲,於是就開始鑽研程式設(shè)計。
學(xué)一學(xué)漸漸覺得,學(xué)習(xí)技術(shù)並開發(fā)比玩遊戲還有趣,之後為了開發(fā)遊戲,就了解到需要引擎,於是就將跑到轉(zhuǎn)換為引擎。
一開始我不是以引擎程式設(shè)計進入這家公司的,是經(jīng)過遊戲內(nèi)容、客戶端程式設(shè)計,之後跟其他程式設(shè)計師一起工作的時候也不斷鑽研引擎,最後才進到引擎組。
尹宗文:我也是從客戶端程式設(shè)計開始的,之後才想要開發(fā)引擎,轉(zhuǎn)換跑道。
開發(fā)遊戲內(nèi)容跟客戶端的時候,不是只有設(shè)計程式而已,跟企劃人還有美術(shù)設(shè)計師的溝通也很重要,我自己跟程式設(shè)計師們說話沒什麼問題,但我很難跟其他部門的人溝通。
能夠跟程式設(shè)計師們一起工作跟聊天,也是我進入引擎的理由之一,說著說著,我好像只告訴大家程式設(shè)計師有多封閉,但你們千萬不要誤會,大家都是開朗的好人(笑)。
羅子英:兩千年的時候外製引擎進入韓國,開始產(chǎn)生了引擎的概念,但十幾年前我們開始製作遊戲的時候,沒有引擎的概念,就只開發(fā)一些工具來做遊戲,不過用自製引擎這件事情可以引起話題真的讓我很驚訝。
TIG:開發(fā)引擎什麼時候會覺得有意義?
鄭皓齊:我個人對視覺渲染這塊比較有興趣,所以光源或水的效果,能夠按照我自己希望來製作的時候,最有成就感,而且越難越有成就感。
做一個工具來減少浪費的開發(fā)時間的時候,我覺得非常有意義。例如,近處的人物雖然細節(jié)很精緻,但越遠的人物,就要簡化他的細節(jié),而這是做降低遊戲負荷技術(shù)時的事情。
雖然這技術(shù)早就用在很多遊戲上,以前遠中近三種距離就要手做各種人物,真的會花上不少時間,後來我就做出一種工具,輸入近距離的人物,就會自動做出三種版本的人物,因為這個工具,後來的開發(fā)時間大幅減少,我覺得超有成就感的啦。
LOD 自動應(yīng)用工具
尹宗文:引擎做出來的東西不是給玩家看的,而是幫助程式設(shè)計師,因為外表看不出來,所以一般都是程式設(shè)計師之間在讚賞我們,而不是玩家。
引擎用科學(xué)比喻的話就是純科學(xué),雖然沒有直接影響遊戲,但卻會有間接長遠的影響,所以其他設(shè)計師用我們做的工具做出更高品質(zhì)的遊戲時,我會感到非常滿足。
TIG:《Z 奇兵》裡最關(guān)注的部分是?
鄭皓齊:很多線上遊戲都必須專注在讀取及渲染,所以能夠圓滑移動,無延遲就是最重要的事情,因此我們比較在乎個別功能的最佳化,而不是強調(diào)單一效果。
萬一某部分的讀取時間過長,就會從三樓(《Z 奇兵》開發(fā)組)跑下來說讀取很慢,然後威脅他們不讓遊戲上市(笑)
TIG:《Z 奇兵》跟《GunZ 2》都用相同引擎開發(fā),儘管如此,好像還是有些地方不一樣。
羅子英:《Z 奇兵》沒用到太多資源,所以有比較多限制,而《
GunZ 2》用的資源比較多,繪圖品質(zhì)比較高,所以就算是相同的功能,限制也比較少,不過《Z 奇兵》的優(yōu)點是,在寬闊的地圖上可以玩得比較順暢。
TIG:Unreal Engine 4 的模組已經(jīng)公開了,請問你們有什麼想法?
鄭皓齊:這次的模組很厲害,是用 DirectX 11,幾年出了很多 DirectX 11 的書,但我們還在用 DirectX 9,所以沒辦法花太多時間去看一下,不過現(xiàn)在《Z 奇兵》也差不多上軌道了,是時候來好好研究一下。
尹宗文:看到模組的時候真的覺得品質(zhì)很高,但韓國的引擎開發(fā)人數(shù)正顯凋零,實在是相當(dāng)可惜,要是大環(huán)境能夠更適合開發(fā)引擎就好了。
羅子英:看到工具直接在遊戲上運行的畫面,或許 Unreal 引擎也開始加入快速開發(fā)的趨勢了,讓我覺得我們開發(fā)方向應(yīng)該沒錯,現(xiàn)在實境表現(xiàn)幾乎已經(jīng)到頂點了,所以能夠幫助美術(shù)設(shè)計師呈現(xiàn)多好的效果,似乎比較重要。
看到環(huán)境能夠變化各種物理效果和相互作用,還有加速顯卡的演算,這真的是非常厲害。
Texture 即時編輯
■ 引擎程式設(shè)計師加強國英數(shù)
TIG:遊戲裡面有很多物理效果,是不是工程師也要學(xué)很多物理學(xué)跟數(shù)學(xué)?
羅子英:公司有很多看物理和數(shù)學(xué)書的人,書架上就放著幾本,有一部分是只要會使用物理或數(shù)學(xué)公式就可以,但有些地方就必須要對物理有更深一層認識。
例如使用能夠讓物理效果更快速應(yīng)用的工具的時候,就會有非常多參數(shù)像我們打招呼,有時候碰到不知道的慣性力學(xué)用語時,我就會卡在那邊,所以如果至少要求不錯的物理效果的話,還是需要一些基本的相關(guān)知識。
除此之外,每個月還要閱讀 Unreal 引擎的更新資料,學(xué)習(xí)新技術(shù)。我想活到老,學(xué)到老,就是引擎程式設(shè)計師的優(yōu)點吧 (笑)。
鄭皓齊:以前做自由落體或推擠效果的時候,為了做出自然的掉落軌跡,還必須用到很多重力加速度的物理法則,以前學(xué)生時代的時候?qū)ξ锢頉]什麼興趣,現(xiàn)在用電腦就能直接調(diào)整重力,明白物理是怎麼運作的,要是當(dāng)年也這樣學(xué)的話,應(yīng)該會比較有熱情。
TIG:如何建議嚮往開發(fā)引擎的人?
羅子英:要認真念國英數(shù),特別是國文(笑),這不是在開玩笑,在程式設(shè)計組或跟其他組員溝通的時候,能夠簡潔地傳達意思非常重要,而且技術(shù)越深就需要越多的知識,大部分的編碼都存在於網(wǎng)路,所以 Google 一下就找的到,但是如果沒有相關(guān)知識的話,連找都無法找。
最主要的條件還是程式設(shè)計的能力,大概佔了 70~80% 左右,企劃越長所付出的精神就越重,所以人文學(xué)科的素養(yǎng)也不能放棄。
鄭皓齊:我自己做了許多小遊戲,自己動手製作了解這個功能如何做,那個功能如何實現(xiàn),會比較好。
剛開始的時候看書學(xué)比較好,有一本經(jīng)典書「Game Programming Gems」真的是非常經(jīng)典,有必要的話可以精讀它。
TIG:Real Space 有商用化的打算嗎?
羅子英:沒有
TIG:為什麼?
羅子英:要商用化的話,除了開發(fā)能力之外,還需要其他的能力,目前我們沒有那種餘力,雖然有很多人要求我們商用化,但全部都回絕掉了,聽到的時候雖然很高興,但也只能敬謝不敏了。
TIG:以後有什麼規(guī)畫嗎?
短期之內(nèi)想降低《Z 奇兵》的電腦硬體要求,實現(xiàn)無延遲,之後更新引擎,然後準備著手製作下一代引擎。
-
三位工程師還不習(xí)慣鏡頭,所以不斷覺得尷尬