網易盤古的“吃雞”之旅——記荒野行動Plus的幕後故事

遊資網發表於2019-10-11
網易盤古的“吃雞”之旅——記荒野行動Plus的幕後故事

去年由於部門結構調整頗有感觸,準備出來嘗試寫點系列故事,當什麼都沒有時,希望能留下點什麼。本來想寫天諭不過由於記憶力年久失修隔得有點遠,總不能寫個十年八年的這樣大家也覺得太碎碎念。這裡先選了荒野行動Plus的開發過程,從2017.12到2018.9就當給自己這10個月的工作經歷的一次覆盤。參加過吃雞大戰一起奮戰過的兄弟和已經離開的兄弟,我在這裡祝福你們,記得回來看看,我還在原地等你們~

網易盤古的“吃雞”之旅——記荒野行動Plus的幕後故事

一、啟動

起因

正是2017年這時候差不多11月中旬,豬場的兩款手遊《荒野行動》和《終結者》正如日中天的在全球戰場上廝殺,鵝廠光子的《刺激戰場》和天美的《全軍出擊》也在緊鑼密鼓的開發。這時豬場老闆認為端遊吃雞應該還有市場,堅定的認為PubG在年底前版號下不來,只要我們能在時間節點5月前出來,應該還是可以有所作為。當時的豬場已經基本都在搏殺手遊,有端遊引擎積累的團隊不多了,於是鳥叔受召見領了聖命,分析了老闆這道命題作文後結論就一個字幹,盤古也低調且奢華的加入了吃雞大戰行列,而且還是端遊。

籌備

籌備的過程是迅速的,時間也不允許我們拖沓,當時我記得蠻清楚,關於產品方向還討論過是否走近戰吃雞,武俠吃雞,最後結論是那些目前想不清楚,最終產品方向就向中國風土味吃雞方向一去不返。期間鳥叔找了下我,吳老闆,二代作為客戶端,引擎,伺服器的負責人聊了下正式的做這專案的原因還有就是目標,短暫的會後就各自去列了涉及的技術難點與方案。當下和二代一起飛了廣州荒野團隊請教那些技術方案可能會遇到的問題,當然飛廣州還想看看傳言中的吃雞大戰是否真的是三班倒,好奇三班倒下程式是怎麼來寫程式碼的哈。在廣州kyo熱情的接待了我們,討論了下關於我們的技術方案的疑問,總的來說也是一個字幹,不要怕。有了這些鼓勵我們回來後開始組建團隊。(關於kyo其實已經快7年不見了,當年2011年在做天諭前還去香格里拉天下3出差過3個月,記得那時候DOTA我和二代經常被虐哈)

開幹

交流的經驗給了信心,速速飛回杭州,開始組建團隊。

關於組建團隊其實也沒法抽人,天諭正在趕12月資料片,其他是手遊專案也正在忙自己的,我記得客戶端這邊我就抽了杭爺和楊尚2個人,吳老闆那邊拉了果哥做支援,服務端是小健和茂家,PM的話有國遠加入。客戶端這邊後面2個月後問BE手遊那邊借了2個人放入了天諭,因此從天諭又抽了竹軒和隊長加入PLUS

關於技術選型也沒什麼好選的,這麼短週期的專案只能自認為最熟悉的自研MMO引擎,堅決的放棄了UE4,物理引擎因為Physx有完善的載具系統,其他競品也都在用,因此義無反顧的選擇了Physx,放棄了Havok。關於程式碼框架當然還是怎麼熟怎麼來MMO結構往上去整,當初都認為估計做出來會是一個MMO了,不過目前看來還好。伺服器的話用天諭的服務端架構綽綽有餘,不過需要增加Physx的碰撞檢測用於判斷外掛等行為

在選型的過程中我深深意識到如果我們有UE4的積累那就好了,後面FPS射擊,畫面效果已經工具鏈也就不必這麼土方子去搞了。

選型完那就開幹,客戶端和伺服器第一個目標是花一週時間做一個具有網路同步能戰鬥的MINIDEMO,引擎吳老闆這邊去搞場景的自動生成。對於搭建自研引擎的框架我們還是很熟悉的,python指令碼的開發效率也是相當的高,記得沒到一週就把整個流程和環境給跑通了,一週時間也把Physx整個個整合進來了,當開第一槍的時候我們無比的幸福,感覺總算不是在做MMO了,這個遊戲我們自己應該會很長久的去玩。

最後一週下來把整個DEMO的流程算是完全的跑通了,物理也算是放進來了,但是客戶端我擔心的幾個點依舊存在,FPS射擊系統,物理載具,物理同步,FPS動作系統,海量物品管理與同步,投擲物方案,結算方案,槍感除錯,外掛等問題其實還沒有一個完整細緻的思考,其實到這一週結束還只是一個MMO。

這時候技術用DEMO證明我們是可以很快的做出來東西給大家信心的,儘管目前只是一個空殼,但是後面就需要美術和策劃一起合作了,我們需要更多人手加入這個團隊。

網易盤古的“吃雞”之旅——記荒野行動Plus的幕後故事

二、磨合

說完專案籌備到啟動,技術這邊經過完整的一週用自己擅長做MMO的方式把客戶端和伺服器的流程跑通並且真實物理接管了原先模擬物理,成功朝著中國土味吃雞的目標打響了第一槍,那麼現在我們就需要更多跨職能的人手加入來做完整的DEMO,留給我們的時間其實不多,一堆問題需要我們去克服和解決。

迷茫

隨著各職能人員的進入,團隊進入了短暫的迷茫期。策劃有策劃的迷茫,應該做一款什麼樣的遊戲,市場上pubg已經存在,照著幹肯定死路一條,美術有美術的迷茫,走寫實還是走風格化,怎麼才能突出土味,技術則陷入沒有經驗的泥潭中尋找光明的出口。

1.FPS射擊系統:對於一個射擊系統必然會包括子彈射出速度,判定範圍,傷害範圍,曲線特徵,彈道衰減,後坐力,壓槍曲線,彈道聲音等等問題,這些問題都是原先沒遇到過的,我記得每天加班回去晚上就瘋狂玩彩6一般到2,3點,愣是把我玩彩6看著那槍口晃動就會暈的毛病給治好了。看了3A大作當時感覺射擊系統這個好難,儘管自己有想法怎麼做,但是不知道是不是這樣處理是對的,直到找到了半條命2起源引擎的原始碼閱讀了以後發現確實可以這麼去做,於是我們初版的射擊系統就這麼誕生了,所有槍打出了AK的曲線哈,初略的模型誕生以後,我們對於射擊系統還是比較擔心,一直在對外招聘武器專家,記得本來CCP的哥們通過了面試,最後由於體檢沒過未能進入團隊,當時我們覺得好遺憾。既然外援進不來那麼還是得靠自己人,馮浩數值出身憑藉著對於FPS遊戲的熱愛,一腔熱血發揮了自己的專長,對於模型進行各種改良和優化,後面對於這個系統的開發也就從技術主導變為策劃主導,策劃陸續對系統模型進行了一系列的優化,才有了目前這個版本。目前回顧原先最為擔心的射擊系統問題算是最放心,對於這個系統不留遺憾。

網易盤古的“吃雞”之旅——記荒野行動Plus的幕後故事

2.FPS動畫系統:它需要承擔遊戲的動畫播放任務:移動,跳躍,近戰攻擊,下蹲,俯臥,揀取,切槍,射擊,瞄準,開鏡瞄準,換彈,投擲,攀爬等,對於現代引擎一般都有一套完善的動畫系統,但是我們的自研引擎由於原先MMO業務的原因,導致它一直營養不良,侏儒的體型和現代社會格格不入。引擎先天對於動畫pipeLine不完善,只支援簡單的Blend。動作狀態機,動畫控制器還停留在我天諭手K的版本,就這麼一個動畫引擎來做FPS寫實類的也真難為他了,這期間曾經也讓人想調研過接入SDK的方案,Euphoria和Granny 3D的方案的接入最後由於人力或者非賣品的因素而放棄。評估了時間,當時覺得就算動畫系統重寫,但是工具的開發時間耗不起,我們因此選擇了在現有基礎設施上面打補丁修改原先的工具,在開發需求的過程中陸續為引擎增加了POSE疊加,附加動畫,分層動畫,fabrik等特性,在這樣的開發週期上面去打補丁式開發也難為了軒軒。目前回顧看這個系統處理的比較的遺憾,如果有多餘一個的人力估計就會把整套給替換或者重構掉了,期間測試玩家反饋也確實停留在動作僵硬的評價中。如果當時能再多一個人力,那麼我就會安排一個長線的備胎任務,讓某個同學在很長的週期裡面完成,這樣主線也可以永遠不停。

3.物理系統:原先花了一週時間接入了整個PhysX的SDK,傷害判定和物理真實彈道也搞定了,果哥還順便用它的trigger機制做了室內室外的判定。我記得這個室內室外的trigger出過BUG,當時場景中會出現莫名其妙的碰撞盒,用PVD進行除錯由於場景太大比較卡經常的掉線也不好調,離線下面又不會出現,最後查到是因為這些trigger的碰撞導致,導致我通宵了一晚查到這個問題。物理系統一大塊內容是載具系統,接入Physx的好處就出來了,它有完善的載具系統的模組,當時安排楊尚去搞定它,他就這麼一個人孤孤單單的在那裡埋頭苦幹經過一週的奮戰,一輛五菱巨集光補漏車就晃悠晃悠的上路了,給了KFZ足夠的信心。後來的荒野PLUS所有的載具都是出自他一人之手,載具之父的名號名副其實,如果你有心去玩下游戲,可能在遊戲某個載具的部位有他名字,大家可以去找找這個彩蛋,找到了記得告訴我。關於場景破壞問題,這個我們內部進行過討論,12月儘管看到無限法則的吊咋天的全場景破壞視訊很興奮,但是當時我們還是決定不做,策劃堅定的認為這個會對玩法會造成影響,具體的方案關注這裡的回答,Physx想選擇方案可以選擇Blast來進行場景的破壞方案,我們就做了門窗的破碎,採用了最土的方式。

為什麼很少有遊戲支援場景破壞?是因為技術問題嗎?
https://www.zhihu.com/question/43616312

技術在這10個月開發週期中的迷茫其實還有很多,感覺可以在這個系列中開一篇去寫技術方案,題目已經想好叫開發一款絕地求生這樣的端遊有什麼技術難點?具體來分析所有的技術方案。

衝突

技術與美術:

引擎這邊吳老闆極力的推動程式化的去自動構建地形技術和工具流程。對於大型專案而言面臨成本巨大、開發週期長、市場變化快、風險不可控等因素,採用程式化開發是必然趨勢。自動化工具逐步替代人力製作,可以有效解決當前所面臨問題,工具的進化可以讓團隊從日常繁複的工作中(長時間開會溝通、重複低效的勞動、測試、Debug)解脫出來,更關注遊戲的趣味性。美術同學這邊就很實在,認為這是一個時間緊迫的專案,地編用人力就能堆出來,而且更加可控效果,對於工具需要有迭代進化的過程,純粹的放棄人力的堆砌一切都不可以預測,而且工具好用與否存懷疑態度。最終還是通過不停的灌輸理念和提高工具的易用性,美術相信了技術可以幫他們搞定這些問題,在試用中通過對於場景地圖劃分MASK的情況來劃定美術精編區還是技術自動生成區域,各自分頭把工作幹好。

還有就是動作美術人員問題,團隊有經驗的偏製作向的動作人員實在太少,志會具有育碧背景有一定的技術思維,作為當時團隊裡唯一我看的上的動作人員,我們合作的還是很愉快的。當和我說他將去阿里的時候,我一時覺得這專案做不下去了,還好最後還是留下來了。要知道和我合作過的目前在其他公司要不是總監就是專家,志會你也算是很有幸了,祝你目前在新的專案順利。棗,對不住把他留下了沒去你那。

美術與策劃:

美術與策劃主要存在在角色的設計理念上,美術認為寫實就應該像3A大作那樣符合真實,策劃則認為我們的預期是中國市場,玩家的喜好應該是荒野行動的騷浪形象,需要符合廣大中國玩家的審美喜好,而不是隻對於硬核玩家的。對於整體的畫面色調也進行了激烈的討論,開始誰也說服不了誰,我記得最後是通過實驗室調研才確定掉這些問題的。根據資料說話,雙方都表示很服。

策劃與技術:

這塊其實還好,因為這個專案還是目標很明確的,策劃的想法不會和大方向出現大的問題,一般有衝突也就是需求排期時候工作量實在太大,技術團隊人員產量跟不上需求文件輸出的效率。其他就是策劃會對渲染效果遲遲達不到預期表示擔憂,不過遊戲的開發應該遵守物理規律,開發週期這個定律是很難被打破的,隨著專案的推進和發展效果一點點的出來到效果到及格後,也逐漸放心下來了。

專案逐步的按照計劃進行,一些觀點上和理念上的衝突也在各個職能間產生,我始終認為有思想碰撞的團隊在遊戲開發這個需要創意的行業裡是值得珍惜的,所有的衝突和碰撞就看製作人是否能擺平了,這也是體驗製作人真正果斷實力的時候。

磨合

有衝突那就去互相磨合和互補,團隊越到後期,各職能的協同增效就會越明顯,現代的遊戲開發已經不可能存在依靠單一職能團隊就可以搞定自己職能的專業技術,那些容易搞定的東西,應該早已經被搞定,那些搞不定剩下的,基本都是需要多團隊合作,加上覆合跨職能的人才從中協調與跟進才有可能去搞定。高效能的開發團隊肯定是互相信任,互相幫助一同去克服彼此遇到的困難。這是一段奇妙的開發經歷,一群人一起越過山丘,跨過自己給自己設立的坎,越過自己,到達自己以為是的地方,做點自己沒做過的事情~

我們在無數次加班、延誤、衝突、妥協和奮進中互相磨合。

我有一個世界,故事與你組成。

故事還將繼續,你也還在身旁。

網易盤古的“吃雞”之旅——記荒野行動Plus的幕後故事

三、崗位流程

去年12月是一個重要的月份,月底鵝廠的無限法則端遊放出大招,視訊中颳風,下雨,閃電,打雷無不看得我們甚是羨慕,處處顯示北極光QuickSilverX引擎在天刀中積累的實力,關鍵還有那無處不在的物理破碎簡直是向著國產3A標杆遊戲的方向在奮勇前行,令人肅然起敬。隨後刺激戰場和全軍出擊也在籌謀著上線,2款不同定位的吃雞手遊將和豬場的荒野行動與終結者正面進行衝突,攻城掠寨意圖奪回自己正版吃雞市場的失地。這時候這麼多FPS遊戲的需求導致招人進展也很難,我記得當時進行面試我看得上的人鵝廠已經OFFER,看不上的鵝廠也是OFFER,就像魯迅寫的“我家門前有兩棵樹,一棵是棗樹另一棵也是棗樹”。人都被那2款吃雞手遊攬去了,何況2017年阿里遊戲砸了10個億在那邊起步。

總結下面幾點:

鵝廠對於專案是技術大團隊開發,編制充足,可以招聘不同層次的人來彌補各塊的缺失,大工作室內部人員抽調也自由順暢和頻繁,有重點專案確定那麼一波人直接去新專案,原先專案可以暫停,做完新專案原先專案繼續做,而我們由於編制控的比較死,因此在面試時候和其他團隊比一般會注意綜合能力比較強的,導致直接被HR談話說要求太嚴了,通過率太低。

由於遊戲商業引擎的突飛猛進,技術的門欄在降低,對於底層知識和綜合能力強的人太少,人員素質參差不齊,很多隻是商業引擎使用的熟手。

自研引擎的人員招聘本身就較難,對外界吸引力不大,需要全靠應屆培養。

手遊時代了薪資待遇杭州與北上廣深也存在較大差距。

當然中途我們的引擎團隊還被北極光端了幾個(鮑爺正在無限法則為引擎揮灑汗水),導致最後在專案開發週期內最高峰時候正式參與這個專案的客戶端和引擎的開發人員也不到15人,一直是維持在10人規模,後面靠應屆補充了幾個客戶端人員,不過他們7月入職到公司MINI專案流程走完其實遊戲已經上線。

既然當前人力支撐不了傳統模式的開發任務,那唯獨只能自己變化來適應新的工作模式,在知乎上看到一個問題為:近年來,遊戲行業有哪些提高製作效率的新技術?

有意思的回答是本世紀最好的提高效率的方法,當屬996了吧,如若不是怎麼會被那麼多公司使用。中層以上都說提高效率了,一線幹活的都說反而降低了效率。所以至今是個謎,大家都活在自己的意淫中。員工上班扯蛋接私活晚上加班,領導看重加班時長,績效和加班掛鉤,這樣也好,大家都舒服了。

我們當然不會去幹這種事,我們面臨的是事情是實在做不光,實際很多人都是906的狀態,最後升級為007。上面扯遠了先說下原先天諭端遊的崗位構成和開發流程,最後再說下這個專案的實際操作是如何的。

崗位構成

大型遊戲開發的團隊構成其實比較的複雜,根據職能大致可以分為策劃,美術,技術,測試,營銷等,而每個職能又有各類細分崗位。策劃這邊有文案,數值,系統,表現,運營等;美術又分原畫,UI,場景,角色,特效,動畫,音效等;技術可以分為引擎,TA,客戶端,服務端。這麼分為了降低開發成本和加快開發進度美術相關製作工作指定好規範後,很多需要外包團隊來做的事情,因此還會配備外包稽核,外包商務等職位。

如果是3A遊戲的崗位設定就更為複雜和專精,具體可見下面文章總結

Necromanov:湧現式遊戲設計:荒野大鏢客2和開放世界的未來
https://zhuanlan.zhihu.com/p/52440574

開發流程

由於前面複雜的崗位構成也就造成了一個策劃案從提出到落地的基礎流程也較為複雜。

策劃撕逼腦暴→提出方案構思→修改優化確定推進→主管稽核→KICKOFF會議確認是否能做→三方會議預估週期排期→美術繪製素材→策劃反饋修改→技術開發→策劃驗收→測試驗收→落地完成。

美術完成資源的工作也是比較複雜,這裡用實現一個3d角色舉例,就需要原畫概念稿→繪製三檢視→模型建模→模型繫結→骨骼動畫→製作特效等資源的準備。

後面程式需要將這些再一一實現出來。而這其中每一個步驟都需要策劃的反饋與跟進。即使做完也需要繼續優化。而這只是一個方案的執行步驟,實際情況可能一個團隊7,8個策劃每個人都有方案,且不止1個在推進。每個策劃手裡的工作互有重疊,比如系統策劃需要文案和數值給他對應的支援。同時不同美術和程式也需要對接多個策劃。所以導致流程之複雜,難度之大。如果沒有一個規範的遊戲開發流程,會導致整個開發流程處於一個無序的狀態。

比如文案策劃這周工作是幫助系統策劃做A方案的文案,但是系統策劃在忙B方案的事情,A方案還沒寫,那麼文案工作就無法執行。此例同樣適用於策劃與美術直接,美術與美術之間,程式與策劃之間,程式與美術直接,程式與程式之間。所以規範化的遊戲開發流程是為了保證遊戲能夠高效,不出問題的進行。任何一個節點的斷裂都會導致整個流程的崩壞以及開發週期變長。而開發週期的變長意味著更高額的成本以及質量低劣的遊戲的誕生。一般遊戲團隊會專門有PM來專門負責遊戲開發的統籌與任務分配,以保證遊戲開發任務的順暢進行。PM又分為美術PM和專案PM。

實際操作

首先我們對於專案里程碑時間劃分為一個月一個里程碑,策劃的需求在里程碑開始前必須全部給出,當月的所有需求都排入需求池由PM進行統一的管理,在工作開始前會對需求池中的需求安排優先順序進行全面的估時,實在做不下的只能忍痛放到下一個月版本,這個會議會把需求拆分到周,當時估時的時候那是痛苦的,其實有很多想要去做的內容但是必須先要去做影響生死和差異化的內容。後面根據這個排期再去開三方會議給出更加精準的排期時間。這麼做的好處因為策劃已經把本階段的需求確認了,他們就可以更好的來跟進想要的效果和下一個階段目標的梳理。

其次,每週六會對月版本拆分的需求進行再次確認,繼續把需求拆分到天,週六由QC來組織版本釋出驗收,對於完成的工作內容進行確認和演示。有問題的繼續修改和完善,這個工作量就只能當送了。

最後,每天早上會對每個人昨晚完成後的內容進行CHECK,和後續當週計劃存在風險的評估,遇到有風險的那就小夥伴們互相幫忙搞定。

這樣做的前提需要PM足夠的果斷還有就是足夠的強力,在這裡對國遠表示贊一個,合作下來還是很愉快的,保證了專案足夠快速和高效的推進,經過上線的驗證,這樣的專案管理在實際操作中是成功的,我們也嚴格按照這個在做,一直到遊戲上線。

最近遊戲行業流傳著裁員和過冬身邊也有很多業內小夥伴轉行做演算法或者離開,我想如果真正熱愛這個行業的肯定還是會堅持下去的,對於一件事真正去幹10年,20年,30年的才叫事業~

哪有什麼都是一帆風順,我們需要在逆境中忍住不哭。在挫折與黑暗中伺機而動。

就像最近在單曲迴圈李宗盛的《山丘》的心境一樣

想說卻還沒說的還很多

攢著是因為想寫成歌

讓人輕輕地唱著淡淡地記著

就算終於忘了也值了

。。。。

作者:FrankZhou
專欄地址:https://zhuanlan.zhihu.com/c_177048862

相關文章