網(wǎng)上一直流傳中臺(tái)的概念起源的事,據(jù)說(shuō)是源于芬蘭的一家游戲公司Supercell。當(dāng)年馬云參觀了Supercell之后,受到Supercell大中臺(tái)的啟發(fā),回來(lái)后就在阿里大搞中臺(tái)。
我一直對(duì)這件事挺好奇的,所以有一次我特意去問(wèn)了Supercell的一位朋友,他表示有點(diǎn)扯淡,其實(shí)Supercell并沒(méi)有所謂的大中臺(tái),有也只是比較小的一些中臺(tái),比如引擎工具類的技術(shù)中臺(tái)。至于這個(gè)消息是從哪里傳出來(lái)的,我不知道,完全不重要,重要的是中臺(tái)確實(shí)有它的價(jià)值,從而發(fā)展到如今各家大中型公司都在搞中臺(tái)。
互聯(lián)網(wǎng)中臺(tái)
那么先來(lái)隨便扯一扯互聯(lián)網(wǎng)的中臺(tái)。國(guó)內(nèi)的互聯(lián)網(wǎng)大公司,這幾年基本已經(jīng)陸陸續(xù)續(xù)搭建了中臺(tái),還有很多中小企業(yè),也在追隨互聯(lián)網(wǎng)大公司的步伐,開(kāi)始嘗試中臺(tái)化。
中臺(tái)的概念的核心比較簡(jiǎn)單:公用資源,避免重復(fù)造輪子,從而提升工程效率,降低時(shí)間經(jīng)濟(jì)成本。但是中臺(tái)的邊界卻沒(méi)有明確的定義,而且實(shí)行起來(lái)會(huì)有各種問(wèn)題。當(dāng)中臺(tái)的概念被炒了起來(lái),很多似是而非的東西都在往中臺(tái)上面湊,很多不應(yīng)該屬于中臺(tái)的范疇卻被錯(cuò)誤地劃入了中臺(tái),從而導(dǎo)致最后中臺(tái)搭建失敗,所以行業(yè)內(nèi)也出現(xiàn)了一些反對(duì)的聲音,說(shuō)中臺(tái)不利于事情的開(kāi)展,不利于產(chǎn)品的把控,中臺(tái)無(wú)用論等等。
游戲行業(yè)中臺(tái)現(xiàn)狀
游戲行業(yè)的中臺(tái)跟互聯(lián)網(wǎng)公司有一定的類似,因?yàn)橛螒蚬镜漠a(chǎn)品基本都帶有聯(lián)網(wǎng)屬性,所以有一定的關(guān)聯(lián),但是畢竟不是純粹的互聯(lián)網(wǎng)公司,所以很多概念其實(shí)還是不大一樣。
我從事游戲研發(fā)工作已經(jīng)差不多12年了,雖然做游戲行業(yè)技術(shù)中臺(tái)也有好幾年了,也經(jīng)歷過(guò)從0開(kāi)始搭建一個(gè)技術(shù)中臺(tái),趟過(guò)不少坑,踩過(guò)不少雷,但是可能還是有很多理解不到位的地方,所以如果說(shuō)的不妥,還請(qǐng)大佬們輕拍。
當(dāng)前的游戲公司,騰訊,網(wǎng)易,巨人,盛大,游族,完美,心動(dòng)等都擁有不小的中臺(tái),中臺(tái)的概念涉及到的不僅僅是技術(shù),還有美術(shù),UI/UX, 項(xiàng)目管理, IP文案, 音頻音效等等,有些公司甚至在打造大中臺(tái),小前臺(tái),從而提高前臺(tái)部門項(xiàng)目的靈活性,以及中臺(tái)部門的健壯性。
除去這些上市大公司,發(fā)展中的中小型公司也陸陸續(xù)續(xù)在打造中臺(tái),比如鷹角,紫龍,疊紙等等。網(wǎng)易,騰訊之類的大公司的中臺(tái)目前發(fā)展已經(jīng)相對(duì)比較成熟了,但是像其他類公司的中臺(tái)基本也是最近2,3年之間興起的,當(dāng)一個(gè)中臺(tái)真正能發(fā)揮大作用也需要一定時(shí)間的積累。比如技術(shù)中臺(tái),如果打造某一個(gè)框架,首先框架開(kāi)發(fā)可能需要不少于1年時(shí)間,然后經(jīng)過(guò)項(xiàng)目的優(yōu)化與迭代,可能又是一年多甚至2年時(shí)間。
所以當(dāng)一個(gè)技術(shù)中臺(tái)真正發(fā)揮作用,沒(méi)有3年是很難做到的,而且技術(shù)中臺(tái)也需要時(shí)間去積累口碑,樹(shù)立權(quán)威。跟互聯(lián)網(wǎng)中臺(tái)類似,游戲行業(yè)中臺(tái)我也經(jīng)常聽(tīng)到很多聲音,指有些游戲公司的中臺(tái),尤其技術(shù)中臺(tái),做的一些事情比較獨(dú)立,甚至有點(diǎn)邊緣化,與核心產(chǎn)品核心內(nèi)容相距比較遠(yuǎn)。其實(shí)中臺(tái)不像前臺(tái)業(yè)務(wù),不直接創(chuàng)造經(jīng)濟(jì)價(jià)值,有些時(shí)候確實(shí)會(huì)受到不少的挑戰(zhàn)。
技術(shù)中臺(tái)的目的
雖然游戲公司技術(shù)中臺(tái)問(wèn)題很多,為什么還有這么多公司要去搭技術(shù)中臺(tái)?我主要是覺(jué)得中臺(tái)的目的還是比較美好的,我歸納為3點(diǎn):
提高人效,技術(shù)內(nèi)容做乘法,避免重復(fù)造輪子,從而降低成本。
積累不同項(xiàng)目的經(jīng)驗(yàn),沉淀核心技術(shù),開(kāi)發(fā)流程及工具,提升技術(shù)壁壘,縮短研發(fā)周期。
預(yù)研新技術(shù),提高產(chǎn)品品質(zhì)上限。
不管是技術(shù)中臺(tái)自己預(yù)研的產(chǎn)品,整理的工作流,沉淀的經(jīng)驗(yàn)及問(wèn)題解決方案,還是打造的工具鏈,都具有通用性,或者可以做少量修改就可以很快在項(xiàng)目中使用的。
雖然通用化過(guò)程可能比較難和耗時(shí),但是對(duì)于產(chǎn)品研發(fā)效率的提升還是有很大的幫助。一個(gè)產(chǎn)品可以同時(shí)用在多個(gè)項(xiàng)目,大家也不用各自都搞類似的研發(fā)從而浪費(fèi)人力與財(cái)力。而且由于不同技術(shù)人員可能會(huì)參與不同的項(xiàng)目研發(fā),因?yàn)橥瑢儆诩夹g(shù)中臺(tái),便于分享問(wèn)題與經(jīng)驗(yàn),對(duì)于疑難雜癥也許可以很快的尋找到一個(gè)解決方案。因?yàn)槟闩龅降膯?wèn)題可能其他項(xiàng)目已經(jīng)解決了。
游戲技術(shù)中臺(tái)的構(gòu)成
技術(shù)中臺(tái)的拆分有各式各樣的形式,大部分公司都會(huì)有有以下一些部門組成:
引擎部門。引擎部門是比較核心的部門,而且最容易中臺(tái)化,比如渲染的框架,物理的算法,動(dòng)畫的優(yōu)化,引擎底層的架構(gòu),優(yōu)化的經(jīng)驗(yàn)等等,都可以以中臺(tái)組件化,經(jīng)驗(yàn)化的形式進(jìn)行。引擎相關(guān)的人力從前期參與,到中期的量產(chǎn),再到中后期的優(yōu)化與問(wèn)題解決都需要重度參與。但是到了項(xiàng)目后期,臨近上線或者上線后,引擎部門的工作已經(jīng)完成的差不多了?;究梢猿坊卮蟛糠謭F(tuán)隊(duì),留少量的人力繼續(xù)維護(hù),其他人可以快速進(jìn)行其他項(xiàng)目的開(kāi)發(fā),從而達(dá)到人力的最優(yōu)化使用。
技術(shù)美術(shù)部門。TA部門的情況跟引擎部門差不多,前期負(fù)責(zé)性能預(yù)算的執(zhí)行,美術(shù)方向及效果的嘗試,美術(shù)的培訓(xùn)及一些工作流及工具的制定,到中后期實(shí)現(xiàn)特殊的渲染效果,到尾期也可以撤回大部分人力,留少量人力維護(hù)和支持。
程序框架部門。程序框架部門用于實(shí)現(xiàn)公用的一些組件,工具及相關(guān)SDK,比如服務(wù)端框架,技能框架,等等。當(dāng)然這些需求應(yīng)該大部分都是來(lái)自項(xiàng)目,所以技術(shù)人員應(yīng)該參與到項(xiàng)目的研發(fā)中,然后再沉淀成通用化的產(chǎn)品,到第二個(gè)項(xiàng)目去迭代更新。可以根據(jù)游戲品類的不同,實(shí)現(xiàn)分開(kāi)的多套方案與框架。等框架完善了,成熟了,后面產(chǎn)品的研發(fā)就大大減少了研發(fā)周期,而且由于框架經(jīng)過(guò)幾個(gè)產(chǎn)品的迭代,質(zhì)量上也會(huì)有很好的保證。
工程效率部門。工程效率部是指那些可以提升研發(fā)效率,解決研發(fā)流程向的問(wèn)題的部門。比如說(shuō)CI/CD的搭建與實(shí)現(xiàn),版本控制工具的二次開(kāi)發(fā)工具,甚至一些自動(dòng)化相關(guān)的測(cè)試與開(kāi)發(fā)也可以放入該部門,比如自動(dòng)化測(cè)試等。因?yàn)檫@些內(nèi)容每個(gè)項(xiàng)目的需求都大同小異。
AI部門。游戲行業(yè)的AI應(yīng)用其實(shí)很多, 比如:
游戲內(nèi)容生產(chǎn):用AI生成模型,生成貼圖,優(yōu)化動(dòng)作;
自動(dòng)化測(cè)試;
游戲AI:表現(xiàn)出更逼真,更擬人的NPC;
AI圖形效果提升:AI實(shí)時(shí)光追, AI抗鋸齒(DLSS);
AI游戲運(yùn)維與運(yùn)營(yíng): 動(dòng)態(tài)定價(jià),動(dòng)態(tài)游戲活動(dòng)推廣等;
AI在游戲行業(yè)的應(yīng)用已經(jīng)有不少國(guó)外的3A游戲公司和國(guó)內(nèi)的大公司在嘗試和研究。從最近幾年的GDC來(lái)看,AI相關(guān)的講座逐年增多,一年比一年火熱。但是AI部門還是僅僅存在于大公司或者少量其他公司。也有可能是AI這一塊人才不多,而且互聯(lián)網(wǎng)公司的AI相關(guān)的職位也許更香。
游戲安全部門。游戲安全相關(guān)的人才真的是“屈指可數(shù)”,僅僅存在于大公司。所以放在中臺(tái)用作通用加密,加殼軟件的開(kāi)發(fā),外掛的防護(hù)及開(kāi)展游戲安全相關(guān)的培訓(xùn),增強(qiáng)其他工程師的安全意識(shí)等等。
其他部門。
杜絕避門造車,直面與項(xiàng)目組的沖突
作為技術(shù)中臺(tái),我一直提倡幾乎所有的需求是需要來(lái)自前臺(tái)項(xiàng)目,滿足項(xiàng)目需求為出發(fā)點(diǎn)做研發(fā),只允許一小部分在目前項(xiàng)目研發(fā)的前提下做前沿性的思考與預(yù)研,杜絕閉門造車。
其中很重要的一部分工作是要跟項(xiàng)目組有很深度的合作,以滿足項(xiàng)目的需求為前提,來(lái)做日常性的工作安排。所以技術(shù)中臺(tái)的相關(guān)人就需要進(jìn)入項(xiàng)目,與前臺(tái)人員一起進(jìn)行深度的開(kāi)發(fā)合作。合作初時(shí),中臺(tái)人員也許是進(jìn)入了一個(gè)完全陌生的環(huán)境,困難重重,項(xiàng)目不熟,人不熟,其中的難點(diǎn)更多。以下是我之前碰到的一些問(wèn)題:
不管是項(xiàng)目組還是技術(shù)中臺(tái)部門,由于互相的不了解與一些信息的不對(duì)稱,都會(huì)覺(jué)得對(duì)方的團(tuán)隊(duì)很弱(做技術(shù)的人有種天然的不服精神)。所以在合作過(guò)程中,互相挑戰(zhàn)是難免的,剛開(kāi)始的幾次溝通,雙方都會(huì)小心翼翼,互相質(zhì)疑。另外對(duì)新進(jìn)入的項(xiàng)目各種不熟悉,技術(shù)中臺(tái)部門會(huì)小心翼翼地展開(kāi)工作,生怕出了什么岔子,從而導(dǎo)致進(jìn)度的推進(jìn)不是很理想。
使用別人的方案和技術(shù)永遠(yuǎn)是被動(dòng)的,如果你幫別人實(shí)現(xiàn)了方案,那么可能自然而然地認(rèn)為這是別人的成果與業(yè)績(jī)。主程或者技術(shù)總監(jiān)很有可能覺(jué)得自己的團(tuán)隊(duì)沒(méi)有什么輸出和成果。所以在合作過(guò)程中,推行技術(shù)中臺(tái)部門的方案存在著種種的阻力,即使方案可行,在執(zhí)行過(guò)程中也存在著種種的隱性的延期與不配合。
有些技術(shù)中臺(tái)會(huì)存在遠(yuǎn)程支持,就是部門的人不跟項(xiàng)目組的坐一起,甚至異地支持(我們之前就有國(guó)外的技術(shù)人員支持上海這邊的項(xiàng)目)。由于遠(yuǎn)程支持,有些信息在溝通的時(shí)候,難免對(duì)接不到位或者反饋延遲。因?yàn)槟悴荒鼙WC在溝通的時(shí)候?qū)Ψ綍?huì)不會(huì)被其他事情打斷,或者不知道對(duì)方是否能及時(shí)跟你溝通。又由于溝通不在同一地方,技術(shù)中臺(tái)團(tuán)隊(duì)原以為很不錯(cuò)的方案,往往是項(xiàng)目組上次討論拋棄的方案。
由于對(duì)項(xiàng)目本身了解的片面性,這種情況會(huì)經(jīng)常出現(xiàn)。比如,我們之前在支持一個(gè)項(xiàng)目時(shí)討論動(dòng)畫的優(yōu)化方案時(shí),我們嘗試過(guò)各種方案,比如2D序列幀,動(dòng)畫烘焙到貼圖上,GPU Instance+Skinning方案等等,由于項(xiàng)目需要拉近鏡頭,內(nèi)存有限和支持opengl es2等原因,這種方案很自然地就被斃掉了。而且這些溝通的問(wèn)題往往會(huì)導(dǎo)致你下一次合作的某個(gè)障礙。另外在遠(yuǎn)程溝通中,身體語(yǔ)言這一溝通中的重要一環(huán)缺失,在溝通的成效上會(huì)有不少的影響。
在項(xiàng)目組中支持,方案的決策是最難的,除非已經(jīng)樹(shù)立了技術(shù)權(quán)威,不然動(dòng)了任何一方的內(nèi)容都會(huì)有不少的反對(duì)。比如優(yōu)化了一個(gè)地形,美術(shù)覺(jué)得,不行,這畫質(zhì)降得太厲害了。優(yōu)化了一個(gè)動(dòng)畫,程序覺(jué)得不行,這內(nèi)存增得太多了。
當(dāng)然在不影響其他因素的情況下優(yōu)化是最理想的,而往往游戲優(yōu)化中會(huì)有各種權(quán)衡:畫質(zhì)和性能的權(quán)衡,內(nèi)存和性能的權(quán)衡,研發(fā)時(shí)間和功能復(fù)雜度的權(quán)衡等等,魚(yú)和熊掌不可兼得,有時(shí)候你不得不損壞一方利益去保證整體的效果。所以在方案的取舍過(guò)程中會(huì)有不少的干擾因素影響實(shí)施的推進(jìn)。
在支持的過(guò)程中,我們會(huì)提出各種方案及測(cè)試結(jié)果,但是在落地的過(guò)程中經(jīng)常執(zhí)行不到位。甚至一個(gè)測(cè)試的方案前前后后多次出現(xiàn)在討論大會(huì)上,看似很簡(jiǎn)單的一個(gè)方案,卻遲遲沒(méi)有落地。因?yàn)轫?xiàng)目組在研發(fā)的階段,方案的執(zhí)行人受其他任務(wù)的干擾比較大,由于執(zhí)行人員會(huì)有“那是他們部門主導(dǎo)的任務(wù),優(yōu)先級(jí)不高”等類似的內(nèi)心想法,方案的執(zhí)行就很容易不被重視,從而導(dǎo)致延期甚至中止。
如何緩解沖突
首先要跟工作室老大,項(xiàng)目制作人達(dá)成一致,明確我們這個(gè)支持工作的重要性。并且得到高層的強(qiáng)力支持。這樣的話對(duì)進(jìn)入項(xiàng)目支持的人的自信,和工作的開(kāi)展都有很大的幫助。
我是比較提倡中臺(tái)的人跟前臺(tái)項(xiàng)目組坐一起,或者靠近,有利于人員的溝通和融入項(xiàng)目的開(kāi)發(fā)氛圍。減少項(xiàng)目組的人幫你當(dāng)做“外人”從而導(dǎo)致的各種不利。使中臺(tái)的人完全成為項(xiàng)目的一份子,而不是遙不可及的專家。
一定要明確共同的目標(biāo)和研發(fā)周期,把前中臺(tái)相關(guān)人的利益捆綁在一起,這樣大家才會(huì)一心朝著共同目標(biāo)努力。相關(guān)人員也更容易理清事情的優(yōu)先級(jí)。為了大家的共同利益,更為了自己的成績(jī),一起努力。從而也為了防止出了問(wèn)題而導(dǎo)致的互相甩鍋的情況發(fā)生。另外工作的最終效果一定要體現(xiàn)在數(shù)據(jù)或者具體的內(nèi)容上,一份報(bào)告,一次真機(jī)演示等等。比如優(yōu)化,我們需要拿QA的客戶端性能測(cè)試報(bào)告去衡量最終的效果。
比如一起吃個(gè)飯,一起聊聊天,一起抽個(gè)煙等一切私底下的交好,都有助于我們?cè)陧?xiàng)目組中獲得更好的支持,從而便于工作的開(kāi)展。
這一點(diǎn)真的很重要,很多人進(jìn)入一個(gè)項(xiàng)目都是為了更多的獎(jiǎng)金或者能夠分到一點(diǎn)成功項(xiàng)目的紅利。如果沒(méi)有利益的驅(qū)動(dòng),對(duì)于中臺(tái)的人員會(huì)少了很多激勵(lì)與動(dòng)力。有些公司的中臺(tái)的人可能永遠(yuǎn)是一個(gè)固定的工資,比如16薪,那么對(duì)于他們努力不努力,在利益的回報(bào)上是差不多的,所以項(xiàng)目組的人也許還在加班加點(diǎn)趕進(jìn)度,他們可能早早的下班回家了。
其他注意的問(wèn)題
1. 如果是深入項(xiàng)目合作的人員,務(wù)必降低姿態(tài),以一種服務(wù)的精神參與開(kāi)發(fā),把自己當(dāng)作項(xiàng)目的成員。
2. 很多問(wèn)題是問(wèn)出來(lái)的,而不是前臺(tái)主動(dòng)反饋出來(lái)的。
3. 如果技術(shù)中臺(tái)推行的不好,很容易就成為了一個(gè)人力外包的部門,前臺(tái)部門發(fā)現(xiàn)人手不夠或者進(jìn)度來(lái)不及了,就跟技術(shù)中臺(tái)要人,技術(shù)中臺(tái)的人過(guò)去也就補(bǔ)充個(gè)人力,做著不利于技術(shù)中臺(tái)的工作內(nèi)容,然后又由于沒(méi)有特殊的技術(shù)產(chǎn)出,前臺(tái)又會(huì)覺(jué)得中臺(tái)的作用也不過(guò)如此。所以該說(shuō)不的時(shí)候就堅(jiān)決說(shuō)不,千萬(wàn)別偏離了自己的核心價(jià)值觀與正確方向。
4. 多開(kāi)展技術(shù)分享,調(diào)動(dòng)大家分享技術(shù)與學(xué)習(xí)技術(shù)的熱情,有助于在內(nèi)部形成工程師文化的氛圍,對(duì)于吸引人才,穩(wěn)定人才也能起一個(gè)很好的輔助作用。
聯(lián)系客服