遊戲主程成長史:《倩女幽魂》徐海東痴與不痴

網易易盾發表於2018-07-24

2018中國杭州雲創大會將以“開放·生態·賦能”為主題,匯聚行業領袖、技術大咖及產業鏈從業者,探討數字化浪潮下雲端計算、大資料的發展方向和應用趨勢,分享教育、遊戲、製造、金融等行業精英的前沿實踐,重點解析工業智慧網際網路和數字化產業園區的升級之路。


此次大會還將基於開放技術和創新模式與大家一起探索打造聯合生態圈,推動產業智慧化升級,引領網際網路+企業數字化轉型;以知識共享促進雲端計算、大資料普惠化的道路,形成數字經濟共同體,成為未來中國經濟增長的新引擎。

為了幫助大家進一步瞭解這場全球前言技術共振盛會的內容,網易雲採訪了參會大咖,以饗讀者。


以下為本次訪談正文:

“人生路,美夢似路長……”1987年版《倩女幽魂》主題曲響起,相信這首承載了太多人記憶和情愁的歌曲,就會立馬將人帶入那悽美浪漫、蕩氣迴腸的人鬼之戀中,想起“哥哥”張國榮英俊瀟灑、憨厚可愛的形象。

有人說:小倩往去,世間再無寧採臣。也許是巧合,或許歷史註定著有些事就是存在某些關聯和延續。


他,在《倩女幽魂》上映前後的年代出生。二十年後,他參與網易遊戲《倩女幽魂》研發,從一開始的邊緣化工作音效、隨機地圖拓撲結構的生成到IM系統,從幫會系統再到遊戲的獨特玩法,最終他成長為《倩女幽魂》的主程,來到舞臺中央。


他雖無“哥哥”張國榮在電影裡那般痴情和憨厚,但他對遊戲的痴迷和獨特的性格讓接觸他的人記憶深刻。大部分人工作雖然談不上幹一行恨一行,但下班後都是想丟開工作相關的事;而他的工作是做遊戲、玩遊戲,回到家後也還是喜歡趴在遊戲上,甚至瘋狂的時候凌晨一兩點還在玩。他對於自己內向的性格形容到:“有的人是在現實裡內向,在網路裡比較活躍,而我是全方位的。”他解釋,網路裡能自己乾的事,絕不會找第二個人。

太過於執著一樣東西,往往容易被這樣東西吞噬。但他拿得起,放得下。大一痴迷遊戲,大二迷上程式設計比賽,並幹翻一幫學校集訓隊,最終在後續比賽中拿到ACM Regional金牌。


他,就是《倩女幽魂》主程徐海東。

兩度“金盆洗手”

徐海東玩遊戲求精不求多。他不會玩很多遊戲,但只要玩,都會非常投入進去,玩得很深度。


他最早玩的網遊是《奇蹟MU》,當時他經常逃課泡網咖,當縈繞在身上的煙味累計到一定程度時,他突然發現,不能再這樣了。“太痴迷了,已經對學習有很大的影響了。”徐海東說。

而當時,他已經是最頂尖的玩家之一,“遊戲裡的人物等級已經達到一個新的階段,可以帶上翅膀。”他說,整個服務裡大概也就二三十人能等到這樣的高度。於是,他在某個晚上平靜地開啟遊戲後,就暫時掛“標”而去。


這是他第一次“金盆洗手”,而第二次金盆洗手發生在大一那會。進入大學後,徐海東沒什麼方向,所以大一又回到遊戲,不過此時的迴歸和往日有所不同,他只是在玩CS等不會太過沉迷的遊戲。此時,他並不知前方有一個比較大的轉折在前方等著他。


有一天,輔導員發了一個比賽的通知,徐海東去參加了一下,發現他連自己最基本的規則都不瞭解。這一天,他知道有程式設計比賽叫ACM,也是這一天,他的興趣暫時從遊戲轉移到程式比賽上。

比賽回去後,他把自己關在一個小房間裡,埋頭吭哧練習習題一個暑假。

從幹翻一幫學校集訓隊,到贏得ACM Regional金牌

再次歸來的徐海東,已經從頂尖遊戲玩家變成熟諳程式設計的人了,他在一次校內賽裡初露鋒芒——幹翻了一幫學校集訓隊裡的人。


嶄露頭角的背後,是他把遊戲上的瘋狂用到了學習中,甚至有過之而無不及。“有的時候瘋狂刷題刷到凌晨兩三點。”他解釋,並不是自己不想睡,而是晚上不做幾個題就會失眠,無法入睡。


這次顯露頭角引起了校隊教練的重視,教練把他招進了校隊。在這個校隊裡,他認識了很多志同道合的朋友,包括現在網易雷火遊戲技術部門總監盧小軍。“他當時是集訓隊的第一屆隊長,後來我是第二屆隊長。”徐海東解釋到。

徐海東並不滿足於在校隊取勝,他認為這並不能說明什麼。內向、不善用言語證明自己的他認為,一次成功或許是僥倖,而更大的成功才能說明實力。ACM程式設計競賽是全球最具影響力的大學生程式設計競賽,他的目標是這裡。


2007年11月,他從在六七十隻參賽的隊伍中遙遙領先,並最終取得ACM國際大學生程式設計競賽(成都賽區)的金牌。比賽中,徐海東完成了一道比較有決定性的題目。這是道圖論的題目,他做了優化,把時間複雜度降了。如果圖論設計理解不深的話,會很難解除,“我們積累了三年的相關經驗,才把這道題解出。”他說。

被雲風大牛“Diss”

徐海東大四由於一直在比賽,並沒找工作。他開始考慮工作時,已經到網易遊戲的盧小軍把徐海東推薦給了雲風。


雲風是遊戲領域的大神,他真名叫吳雲洋,是前網易遊戲核心成員、杭州研究中心總監,也是網易《大話西遊》、《夢幻西遊》等遊戲的重要開發者。


在雲風那,徐海東的面試並沒過,但後來成為網易杭州雷火遊戲部技術總監的程龍給了他機會,並最終拿到Offer。而此時,徐海東也拿到了巨人的Offer。


在這個十字路口怎麼選?徐海東漸漸有了答案:學技術肯定是網易,網易遊戲是國內最強的。除了雲風外,當時面試他的程龍也是大神,國內第一個Online Judge系統就是他做的。

“圈子裡大神級的人物都在網易,於是我也就對網易情有獨鍾了。”徐海東靦腆地笑著說。

效率提高了四五倍

進入網易後,徐海東一開始接觸的是一個引擎,他需要把程式碼搞懂,比如是怎麼運作和跑起來的。接著他開始做隨機地圖,把那些偏規則、四方的迷宮圖進行優化,變得不那麼規則。這工作看似不起眼,但價值很大。“因為它解決了人員不夠,而地圖需求量大的問題。”


而更有價值的是,這樣的地圖除了提供新的玩法外,也能拿來防作弊。“如果我們發現這個人有外掛嫌疑,就可以把它傳到這個迷宮裡,讓他走出來。如果他不能夠順利走出來,基本上就可以斷定用的是外掛。”徐海東說,這招對於外掛來說是無解,因為地圖是完全隨機的,外掛無法實現記錄迷宮的結構。


高興之餘,徐海東並不輕鬆。因為他發現,生成隨機地圖會爆發巨大的計算量,這對遊戲的穩定性是個非常大的考驗。他琢磨後發現,這和大學期間參加競賽的一個點很相似,它同樣都是解決時間複雜度較高的問題。


按照這個思路去優化演算法,效果立竿見影。“隨機地圖生成的效率提高了四五倍,滿足了遊戲的需求。”後來,結合隨機地圖,徐海東也開創了一些玩法。比如在輕功玩法裡,可以投放技能書和道具等。

“嚇了一跳,感覺要一個季度的時間才能搞完”


之後,徐海東相繼開發了倩女的IM系統和幫會系統,以及大量的活動和玩法。


其中,幫會系統的開發對他挑戰最大,挑戰體現在兩點:


第一點是,沒有基礎,哪怕是任何相關的內容,需要什麼就得加什麼;

第二點是,整套的業務流程非常多,比如加入幫會、申請幫會、建立幫會、幫會活動、玩法、幫會場景建立等;


說起那時的感受,徐海東說接到業務內容時自己嚇了一跳:“感覺得花一個季度的時間才能全部搞定。”他表示,現在光看內容這塊的程式碼,也都有上萬行程式碼。


除此之外,他不光負責伺服器端,也得畫那些介面,思考按鍵擺放在哪裡更合理,相當於從客戶端到服務端整個都過了一遍。前後,他用了一個多月的時間,才把整個流程搭建起來,並逐漸填充“內容”進去。


一些開創性的玩法也隨之而來,比如幫會救急令、雙生國玩法、接力賽。“接力賽的玩法就應用到之前做的迷宮,看哪個用接力的形式最先跑出來。”徐海東說,他們會定時更新和推送給玩家。

正是這些創新的玩法,讓《倩女幽魂》從2011年正式釋出到現在,都還屬於比較活躍的一個遊戲。

瓶頸一定要用資料做驗證

遊戲主程成長史:《倩女幽魂》徐海東痴與不痴

徐海東認為,每款遊戲的瓶頸不是靠想出來的,而是要靠真實資料得出結論 


從08年1月2日實習,到今天徐海東已在網易遊戲工作了十年,他現在已經是一名主程,負責一款遊戲的方方面面。


伺服器端優化上,他認為,每款遊戲的瓶頸不是靠想出來的,而是要靠真實資料得出結論。他說,《倩女幽魂》優化的過程中,一開始大家都認為熱點是在技能釋放、PK,但通過取樣伺服器資料後發現,熱點居然在自動尋路。“這是整個團隊意料之外的。”這件事情加深了他的認識,不要自以為哪一塊是你們的瓶頸,一定要有資料支援之後再判定。


遊戲安全,徐海東說,有兩塊一定要做到。一是防DDoS攻擊;第二是防外掛,防外掛除了隨機地圖外,徐海東的團隊也做了一整套機制,比如說記憶體方面的檢測等。而後來推出的口袋版《倩女幽魂》上,則使用了網易雲易盾的移動安全一些服務。


對於主程的職責,他說,主要是攻關專案遇到的難點,尤其是在瓶頸上做一些突破,其次是人事上的管理。對於如何成為一名合格的主程,他指出,首先得技術上過硬,其次是瞭解技術上熱點,以及能創新。


網易遊戲的主程是如何成長的,徐海東說,網易遊戲是有一套機制存在的。“每過幾年,特別資深的老人會組建新的團隊開新專案,慢慢替換一些新人上來。”為此,這位在網易待了十年的老遊戲人說,他特別喜歡網易的文化。“給你個人充分發揮的空間,而且領導沒有架子,跟朋友一樣,沒有勾心鬥角,人與人關係上非常融洽。”他說起領導的沒有架子,大家會在一起玩遊戲,領導經常是被虐的。


下班還玩遊戲


有些人做遊戲,工作之外就不怎麼玩了。“你下班會玩遊戲嗎?”


“還玩。”他說,現在每天至少在遊戲上花三四個小時。“瘋狂的時候,下班回到家還玩到凌晨一兩點。”不過他強調,遊戲從業人員玩遊戲和純粹玩家有點不一樣,他會想某個東西是怎麼實現的,能不能拿到自己的遊戲裡來。


“我遊戲玩的不是很多,但是每一塊玩的都特別精。”


“那你妻子不會對你有意見嗎?”


“她也玩遊戲,她玩遊戲花的錢比我還多。”說到這裡,徐海東情不自禁地笑到:“她就是做遊戲策劃的,有時我晚上睡覺了,她可能還在玩遊戲。”


“那你會讓你的孩子玩遊戲嗎?”“會,家裡買PS4主要就是給他。”但徐海東並不鼓勵玩遊戲,他會控制時間,且一開始只讓孩子去了解一些必要的知識的點,比如說識字之類的;後面也讓孩子接觸一些賽車遊戲,發展孩子的協調行動。


他建議別管的太嚴,太晚接觸遊戲不好:“網上應該有很多報導,因為沒玩過遊戲,到大學後就放輕鬆的人——第一期班級名列前茅,第二學期就掛科了。”


結束語:能一個人乾的事,絕對不會找第二個人


說起生活中的自己,徐海東說性格偏內向,而且比較宅。“這和有些人不一樣,有些人現實裡內向,遊戲裡比較活躍,而我是全方位的。”他說,網路裡一個人能幹的事,我絕對不會找第二個人。這並不是說徐海東沒有朋友,不管生活還是遊戲裡,他都有很多好朋友,只是他比較獨立。


獨立之外,他也敢作敢為,超越常規做一些別人不敢做的事情。比如有一次他直接去外網線上伺服器上採集相關資料,當時的主程嚇了一跳:“讓他小心,別把伺服器搞垮。”而這是這種初生牛犢不怕虎的大膽做法,對後面他們的遊戲優化起到了比較大的幫助。


這些也可以從他泡泡上的簽名端倪得出,他的簽名是:“戰火為何而燃?秋葉為何而落?”


這句話來源於魔獸世界,完整的句子是:


戰火為何而燃 秋葉為何而落

天性不可奪

吾輩心中亦有惑

怒拳為誰握

護國安邦懲奸惡 道法自然除心魔

戰無休而禍不止 吾輩何以為戰


如果你用心揣摩這幾句話,你就會明白,他為什麼是這樣的一個人,以及痴迷遊戲,卻不會被這個執念的負面所影響(整理/金佳偉 文/我是主題曲哥哥)。


相關文章