對未知多些敬畏 - 四個開發小故事

俗話說,當局者迷,旁觀者清。

當局人,看不清大勢,利益相關,關己則亂,是為迷;旁觀者,冷眼斜視,袖手事外,無沉沒成本之憂心,是為清。

宏觀上確是如此,越置身事內,越迷失方向,越遠離紛擾,越理性思考。

但具體到開發,具體到細節,具體到那些旁觀者並沒有經驗涉足的領域,就是另一種說法了。旁觀者迷,這還有另一個版本的通俗說法:看人挑擔不吃力。

講四個小故事。

你行你上

多年以前做一個小項目移植,把一個party game合集從Wii上移植到XBOX360,這個項目工期較短,4個月不到,人員較少,不含測試30多人,相比同期其他主機項目,屬於非常簡單的項目。

但簡單只是從外人角度來看的,事實上項目成員自己並不這麼認為。

開發階段是分成可多人並行和不可多人並行兩個階段的。前期引擎並不能在Xbox360上運行,這部分移植工作是需要獨立完成的,後續項目的展開需要依賴移植引擎的進展,這是一個很有風險的事情。通常移植是一個耗時較長的階段,至少要數周,對於一個時間要求如此緊湊的項目,實在是一個巨大的風險。好在運氣還可以,一周內就完成了初步移植,可以讓大家並行啟動了。

下一個風險是使用的技術。按理說,低性能平台的遊戲,移植到高性能平台,技術不會有多大的風險。但當時使用的引擎並不夠完善,在底層文件技術上有重大的缺陷,時不時會讓整個遊戲文件系統崩潰。這個問題並不好修正,因為重現頻率極低,且測試一次時間非常長,需要完成對整個版本的cooking。由於是一個開發期的bug,對於一個這麼小規模的項目,我們也只好忍了。

再往後,小項目在公司內部也不受到待見,資源分配等的優先順序都不高。好有一比:嬰兒肚子餓,用力哭半天,爸媽假裝沒聽見,繼續哭,爸媽嫌麻煩,隨手塞過來一個臭襪子,把嘴堵上就不煩心了。再哭鬧,就停了你的項目,抽調你的程序員,讓你好看。

凡有的,還要加給他,叫他多餘。沒有的,連他所有的,也要奪過來。

By 馬太福音

得不到足夠的資源就從內部想辦法,控制項目scope,擺正心態,以及時shipping為第一優先順序,能砍的特性全砍掉;需要討好微軟的特性,仔細評估,確保對整體工作量影響不大,慎重的加上;提早進入content freeze,拒絕所有持續的打磨。我們努力用最多的資源,確保基本的品質和完成度,不在項目中塞入過多的目標,一切以進度為優先,要在財年上線。

效果也非常顯著,項目在春節前提交微軟,一次審核通過,這個也是公司這麼多年中沒有過的事情。

主機廠商的提交和審查,是一個非常嚴格的過程。

主機廠商對bug的態度,和網遊、手游相比,嚴格到無法想像。一般有一個crash,就一定會被打回,和開發規範相違背,哪怕只是ui上的一個拼寫錯誤,也一定會被打回重做。各款不同的主機遊戲,在穩定性上的優良表現,在saving/loading/插拔手柄等容易出錯的場合,都會有一致的體驗,和主機廠商的嚴格要求是有很大關係的。因為任何時候出問題,玩家都會遷怒主機平台,覺得是遊戲機不行,所以主機廠商也一直嚴格要求開發商做好產品。

因此,主機審核一般至少會規劃兩輪提交,穩妥的產品還會預留更多的時間。第一次提交純粹用來吸引火力,往往第一次提交的時候,整體質量並沒有做到那麼高。

然而大家還是不認可。做得好,只是項目規模小啊,規模小了難度自然就低。旁觀者有意無意,站在道德和思想的高地,釋放出各種惡意。

有一個德高望重的法國大佬,及時頂了我們一把,說這個項目非常不容易。他的理由也很簡單:對這麼一個時間如此短的項目,資源配置也不充分,你們誰有把握能保質保量,一次通過xbox評審,確保財年內上線?沒有什麼簡單的事情,能把項目按時做出來,就是最大的挑戰。

大佬的思路很清楚,你行你上。能搞定項目就很牛,何況一次過審也是世界第九大奇蹟,之前從未有過。

不行我上

從主機開發公司,來到了網遊開發公司,自然要開始做MMO。

先是無端驚恐,覺得MMO是如此的難做,前公司這麼強的技術能力,居然也沒有做出過像樣的MMO。轉頭看看公司內部幾個MMO,更加深了恐懼,大家普遍陷入了苦戰。一腔熱血並不能解決實際的問題,做不完的工作和疲憊的開發者,交相呼應,傾訴著開發MMO的絕望。

了解越多,反而越輕鬆。似乎並不如想像那麼困難。隔壁項目,工具流程完全不對,引擎選擇也不正確,力氣完全沒有用對地方嘛。再看國內公司的MMORPG開發技術,理念似乎非常簡單粗暴,以往在主機開發中浸淫多年的小tricky小驚喜,都可以套用,簡化開發。於是開始盲目自大,都說技術就是生產力,有好的理念和先進的技術,咱們是不是可以做得更快?

我以為旁觀者可以清,那些當局者,不了解自己的局限。

於是懷著迷樣的自信,我一頭跳了下去。隔壁連載了半年的天刀開發幕後,就是世事艱難的明證,而那二十多回的文字(註:規划了那麼多,但還沒寫到20多回),其實並不能道盡多年開發的苦楚。

天刀上線前差不多開發了五年,基本也平了其他幾個內部MMORPG的進度。旁觀者迷,以為一切都可以靠技術解決。一直到我成為當局者,才了解這是多大的工作量,才知道項目規模會隨著野心和能力而擴大,此時早沒了當年指點江山時的豪氣和自負。

我上也不行

這麼多年開發遊戲,只做過一次2D遊戲,那還是2001年,做了GBA上的唐老鴨遊戲,加入那個產品開發已是後期,江湖救急,幫助緩解開發資源不夠的問題。

項目組總傾向於虛報佔用的資源,試圖爭取更多的資源,世界各地都是一樣的套路。說好了,是來不及開發,緊急讓我去支持一下,出差三個月。結果到了那裡,發現程序工作量並不夠飽和,做了點邏輯開發,做了一個Boss戰,就沒事了,想多做幾個Boss,被告知美術資源不夠。可能是我能力不行吧,項目最需要的美術、動畫製作,我幫不上忙。

當時就留下了一個印象,2D遊戲似乎不難搞,至少在我需要負責的部分,可是輕鬆就搞定了。

去年年底的時候,部門有個2D遊戲,陷入了窘境。幾個月前就有了第一個demo,然而每月Review的時候,進展都不夠大,看上去和上個月版本差不多。

項目組員士氣低落,進度頻頻報警,動畫產能不夠,原畫不順,技術上一堆特性要做,策劃想法都做不到。

從一個局外人的角度,很難理解。明明好多年前也做過2D,似乎不是那麼困難的事情啊。旁觀者不理解為什麼當局者嗷嗷直叫但又不出活,就像當局者不理解為什麼旁觀者指手畫腳但不給資源。

後續因為各種原因,深入管理了這個項目一個多月,這才知道世道變遷,滄海桑田,2D遊戲也有本難念的經。3D遊戲動畫和2D的動畫,是兩個不同的體系,不能說誰更簡單誰更困難,但工作量,2D動畫多很多,這是確定無疑的。

而且行業大環境也不利於我們。十幾年前2D遊戲還如日中天,3D遊戲相當稚嫩,從業人員也以2D居多。現在大量開發人員直接就從3D遊戲入行,導致好的2D美術不多,而且外包公司普遍也不待見2D開發,大量工作量,無法外包出去,外包公司不太願意接這類工作。

更重要的問題還在於,整個團隊都是開發3D遊戲的,並沒有經驗,直接死磕3D擅長但2D不擅長的領域,事倍功半。說什麼2D遊戲門檻低,3D遊戲門檻高,可是對一個沒有經驗的團隊來說,做什麼遊戲,門檻都不低。

我還是低估了2D遊戲的難度,就像我低估了MMO的工作量。旁觀者迷,親手做一下,才知道坑在哪裡。

誰上都不行

近年和遊戲有點關係的各種趨勢風起雲湧。智能玩具、主機入華、穿戴硬體、VR/AR、獨立遊戲、AI、區塊鏈,創新的人心蠢蠢欲動,似乎新領域並不難做,只要在遊戲開發專業稍稍跨出一步即可。眼看隔壁老王發財,是可忍孰不可忍,開發者就義無反顧跳了下去。

潮,很快就退了,裸泳的人在沙灘上,擺出多樣的Pose。(此處並無特指任何技術,僅出於修辭需要,如果有些技術還活得很好,我依然祝福它)

開始的時候,大家確是滿腔熱情,被媒體中透露出來的趨勢,被朋友圈中轉發的民意,被社交圈中流傳的暴富神話,被驅動或蠱惑,義無反顧投入時代洪流。再不上車就晚了,成名要趁早,發財要儘快。

然而旁觀的你,永遠不知道有多兇險。你以為的洪流,說不定是橫掃一切低地的海嘯,勢不可擋,那些在浪尖搏擊的人們,真似閑庭信步么?多少情非得已,多少混水摸魚,多少曇花一現,屍體壘成山,血水流成河。

拿上一個大泡沫VR來說事。

有些公司,已經存在了好久,有著還不錯的主營業務,雖然和VR並沒有什麼關係。看見VR大潮,立即蹭熱度,業務微調,和VR搭上關係,Biz Plan上寫上自己是VR創業公司,估值立馬翻倍,投資者嗅覺敏銳,似聞到血腥的鯊魚,盯上了這些公司,排隊送錢。這類公司,堪稱衝浪中的佼佼者,可以一波又一波攀上不同的浪尖,VR來了說VR,AR火了談AR,AI成了轉AI,區塊鏈起了又推出區塊鏈技術,但他們的核心,其實還是差不多的技術。他們是永遠翱翔在風口的豬,概念在天上飛,產品從不落地,換包裝就像換衣服,故事撐起了他們的殼,就像皇帝的新裝。

有些個人,看見時代的機遇,聽到命運的召喚,積極創業,在高潮處躍入,在低谷中暴屍。創業總是有得有失,多數創業並不會有結果,嘗試過才是最重要的。VR這一波創業的人太多了,軟體的,硬體的,遊戲的。先是投資者擠破頭給項目撒錢,生怕錢發不出去;然後創業者紛紛從大公司離職啟動新公司,生怕晚了就錯過機遇;再後來創業者又擠破頭忙著再融資,然而投資的門已經慢慢關閉。行業就在這一幕幕輪迴中走向了衰退。

旁觀者羨慕地評論浪潮之巔的矯健身影,而當局者在努力的維持著平衡,焦急的盼望著突破,熱切地期待著回暖。

大環境在那裡,很難做到眾人皆醉我獨醒。旁觀者,眼裡永遠是別人的成功,不親身試試,又怎會知道跳下的是否是火坑。只是當局者清,卻也沒有了回頭路。

結論

沒做過的事,多些敬畏,多些謹慎。能超越時代的,永遠只是少數人,不妨努力一點,少下結論,先讓自己對整個事情,更了解一點,再做判斷不遲。

推薦閱讀:

總結一些 Django 開發經驗
【推薦】真正綠色的四窗口的文件管理器文件管理的福音
為什麼軟體工程教科書上的內容和現實的軟體項目開發管理之間存在著一定差異?
三十六計混lT公司
【推薦】NexusFont綠色好用的字體管理軟體

TAG:遊戲開發 | 軟體工程 | 軟體開發 |