游戲老兵回憶錄之姚震(上):從致敬到創新


老兵檔案           

姓名           姚震

之前的職位       程序員、獨立游戲制作人

現在的職位       智酷計算機 CEO 、一騎當千股份有限公司董事長

曾經研發的產品       《生死之間》 1 、《生死之間 2 》、《至尊》、《劍俠情緣》 WEB 、《一騎當千》、《特種部隊》

為什么那時要進入游戲行業           一念之差

目前最期望做的事           將單機、端游、頁游、手游和主機游戲聚合在同一個大屏終端上

人生中最驕傲的事情       今天還在游戲圈混飯吃

人生格言           所失即所得

導語

關于姚震

 

1

       時間閃回到 1995 年, WESTWOOD 旗下知名 RTS 大作《命令與征服》橫空出世,讓許多游戲人從此找到了心目中理想游戲的方向。有據可考的是,后來的《橫掃千軍》、《最高指揮官》制作人克里斯 . 泰勒當時一邊玩著《命令與征服》一邊贊嘆到:“哇,太酷了,這就是我要做的游戲。”

       鮮為人知的是,同期在地球另一側的中國大陸,也有一位克里斯 . 泰勒式的人物,因為《命令與征服》從此改變了自己的人生軌跡。他就是今天本文的主角——姚震。

     1995 年,畢業四年,留校任教的姚震因對計算機的興趣,一念之差的接觸到了《命令與征服》這款游戲。而后,基于個人興趣,獨自利用業余時間開發的《生死之間》 DEMO 又一念之差的被臺灣一家叫做“新藝”的電腦公司相中獲取投資——如果用今天時髦一點的說法,姚震將自己的獨立游戲實現了商業化。

      但姚震否認龍虎豹的這種說法,在他看來,這個單人手作的 DEMO 不足以成為一個商業化的游戲。臺灣新藝公司真正看中的,乃是《生死之間》最早的 DEMO 背后人工智能的算法。但不管怎樣,可以考證的一點是,那個年代的創意鷹翔,是不折不扣的國產游戲開發團隊中的技術領先者。

      來自于國內和國際的評價都可以證明這一點:

      首先是在 1997 年,臺灣地區《生死之間》的發行商將這款游戲帶到了當年的 E3 大展。外商看到在驚訝之余紛紛表示:“如果這個產品能夠在細節和美術上再處理的好一點,完全可能包裝成一個歐美的二線產品來銷售。”在那個年代,歐美的一線產品是《暗黑破壞神》、《魔獸爭霸 2 》、《紅色警戒》。而二線產品的參照則是類似于《絕地風暴》( KKND )這樣在當年大紅大紫的作品。

      而在國內,一個鮮人為知的案例是。在《生死之間》發售之后一次游戲人的聚會中,吳剛曾對姚震這樣表示:“這么好的產品,你賣給我多好?你賺到了錢,我也賺到了吆喝。”

      這些來自于國內與國際范圍的評價或許今天聽起來有些夸張。不可否認的是,在那個年代的創意鷹翔,在資金、規模遠無法與前導、金山這些大型游戲研發企業相比的情況下,在技術上卻并不落于人后,甚至在某些方面還領先于上述公司。兩部《生死之間》或許在銷售上并不圓滿,時至今日其口碑卻絕對是那個年代國產游戲中的佼佼者。

      正因如此,今天回憶起來,姚震多少有些感懷——《生死之間》沒趕上好日子。但《生死之間》究竟給國產游戲帶來了什么?創意鷹翔在那個年代又是怎樣實現《生死之間》的?這些幕后故事,讓當事人今天自己來講述。

因篇幅原因,本文分為上下兩部分刊登。

Q

龍虎豹:您的游戲生涯應該說是從創意鷹翔開始的,與當時國內其它的廠商如前導、西山居等相比,創意鷹翔的出現感覺有些突然, 1997 年《生死之間》的發售才讓我們意識到國內還有這樣一家單機游戲公司。至少作為當時玩家的我來說,這種感覺挺突然的?

A

   震:其實不僅僅是你覺得突然,我也覺得突然(笑),創意鷹翔的出現和《生死之間》這款產品密不可分,或者說就是《生死之間》催生了創意鷹翔。 1995 年,我在大學畢業留校擔任教師,基于對電腦的興趣,深入地學習了電腦應用和編程。期間接觸到了《命令與征服》這個游戲,當時因為年輕所以產生濃厚的興趣。漸漸的隨著學習的深入,發現自己也有能力寫代碼,于是就參照這個游戲花了近一年時間做了 DEMO 出來。

1996 年的 4 月,很偶然的一個機會,我參加了在五洲酒店舉行的“海峽兩岸多媒體展覽會”并演示了這個 DEMO 。引起了臺灣新藝公司的濃厚興趣,當時國內以《命令與征服》為代表的 RTS 游戲正是火爆。他們看了 DEMO 之后非常吃驚,拿這個 DEMO 到臺灣去做了一些測試,發現 DEMO 中展示的單兵尋路、敵方 AI 等算法的表現都非常不錯。于是在當年 10 月就給我投資了一筆錢,我用這筆錢招兵買馬,創意鷹翔就是在這種情況下成立的。

Q

龍虎豹:這么說是先有《生死之間》,后有創意鷹翔。那當時您做這個 DEMO 的時候只有您一個人嗎?

A

   震:對,基本上我一個人。我是程序出身,一個人完成了全部的程序。策劃方面基本上是照搬《命令與征服》的創作思路,所以基本上也是我。美術方面自己差不多完成了 90% ,剩下 10% 找朋友幫忙, DEMO 就是這么出來的。在游戲的數據方面,后來《生死之間》也是創意鷹翔的策劃閆國勝幫助我做了一些工作。

但是老實說,現在回想起來臺灣人其實看中的不是這個 DEMO ,而是背后的算法和開發能力。因此在拿到投資并且搬到新的辦公場地后,我們是在 96 年的 10 月基于原始的設計思路開始重新寫游戲的代碼。值得一提的是《生死之間》一開始就是基于 Windows 直接開發的游戲,而在那個年代下很少有人這么做。因為 Windows 在當時對游戲的顯示機能非常差,效率也比較低下。因此我們做了一些突破性的研究,通過 Windows 機能把效率提升上去。

Q

龍虎豹:這些突破性的研究主要是指哪些方面?

A

   震:主要是一些編程上的技巧。比如說你把一張圖貼到屏幕上,用 Windows 系統無法直接把這張圖貼到顯存里面。要通過自己的一個繪圖 API 添加到內存里面,再 COPY 2D 圖形卡的圖形緩存里。這樣的結果是一方面效率低下,另一方面具體到我們的游戲來說,人物是無法正常移動的。

在這種情況下,我們的做法是在 API 底層進行了一些針對性的破解,使之在技術上可以實現直接寫屏。最后達成的效果就是可以在 Windows 上達成類似于 DOS 一樣的開發效果,使游戲在分辨率提升的情況下能夠顯示出比較好又流暢的效果。(注 1

2 :臺灣新藝公司當時在臺灣地區負責發行《生死之間》。這部作品在當地更名為《失落戰線》,同時由代理商帶到美國參加了 1997 年的 E3 大展。當時有美國發行商表示這個產品如果可以在美術等細節做的再好一點,完全可以包裝成為一個美國地區的二線產品來發售。 Q

龍虎豹:等于在當時這套 AI 算法至少在國內是領先的?

A

   震:對。因為 RTS 的技術復雜性本身就比 RPG 高。其次具體到《生死之間》來說,游戲最多同時涉及到 100 個單位的動作,那個時候的機器配置很難承載。在這種情況下我們采取了模擬多線程的技術。當時針對于 PC 普遍是單核 CPU 的現象普遍的做法是在多線程上由自己和自己搶資源,甚至還有人中斷跳轉技術。我認為這個標準做法其實并不適合做 RTS 游戲。因此干脆就自己做了線程調度。

這個概念相當于什么?在 RTS 游戲中 100 個戰斗單位前進要 100 條路徑,如果 100 個單位用一條路徑那就卡死了。但是 100 個戰斗單位的路徑在當時的環境下要想通暢至少是三十分之一秒做 100 條路徑出來,我認為這非常不現實。我的做法是模擬今天多線程的處理方式,讓所有單位分開計算。從用戶體驗來說可能會發現有些單位開始啟動時走的慢一點,有的則快一點。但是在 1 秒之內所有單位都會開始走動。相比之下當時很多的 RTS 游戲沒有這個技術,以至于在進行多個單位的前進指令時,你常會發現用戶下達指令單位先會頓一下,然后才開始往前走。比如說 1997 年有個很火的 RTS 叫《絕地風暴》就是這樣。

Q

龍虎豹:把話題往回收一收,當時很多游戲人做游戲是出于興趣。你當時做《生死之間》也是因為這方面的考慮,但針對于《命令與征服》這個原型,有沒有一些自己的思考?

A

   震:坦率來講當時做《生死之間》更多是基于學習的態度。從拿到投資再到團隊組建到成品只用了半年時間,時間是非常緊的。對于合作方來講這是一個很大的驚喜,因為原本約定的時間是一年完成,現在只用了半年就完成了。

但對于這個產品來說,我認為他的創意未必有多強,只能說是學習做好一個產品,技術上攻克了一些難關,基本達到了預設目標,且讓大家玩起來很有樂趣。相對來講也有一些創意,但總體來講《生死之間》還是一個以學習為主的產品,今天時髦點的話說叫“致敬”(笑)。

Q

龍虎豹:說到產品的創意,還是能看出做了一些微小的改變。比如說占領系統,可能更加方便。同時游戲引入了空對空戰斗,而《命令與征服》同期盡管有空軍,但僅實現了空對地的戰斗……

A

   震:就占領系統來說我覺的不叫創意,我們當時玩《命令與征服》的時候也發現游戲有一些不合理的地方。于是就按照自己心里想的更舒服的方式去做了一些改進。但我認為這不算創意,僅僅是簡化。

空戰系統則是另外一種情況,我們當時的想法是在人力所能及的情況下做一些別人沒有的東西。因此就引入了空對空的戰斗概念,同期的《命令與征服》如你所說僅僅是有直升機對地的攻擊。直升機的攻擊方式是懸停,和坦克一樣。但《生死之間》的空戰有戰斗機空中格斗的過程,這塊是我們在產品大致完成之后認為應該做一些變化才去引入的。

實際上空戰系統的實現并沒有想像中困難,只要把算法運作好就可以了。那時候我沒有使用浮點運算。當時的電腦 CPU 不管是什么方式的浮點運算效率都不如整形運算快。我們盡量把數值全部按整形運算的方式來做,算完了再通過移位的方式來模擬小數點。今天的程序員不用考慮這些,但那時候條件不一樣,我們必須要去考慮這些。

空戰真正的復雜性主要是基于方位、方向和導彈發射的軌跡而言,在這塊如果用浮點計算肯定是比整形運算更容易一些。所以我就通過不同角度的算法和方式進行快速運算與模擬。最終通過這種方式實現了游戲的空中戰斗系統。

Q

龍虎豹:那這個問題我換個緯度來問,您說《生死之間》是一個學習的作品。這個學習的作品如果讓您挑出一個最滿意的地方是哪塊?

A

   震: AI ,當時的《生死之間》在人工智能這塊我認為是比較值得自豪的。他可以讓用戶感覺到背后有一個以人類的思維思考的 AI ,這也是我當時比較有成就感的地方。

舉例來說,當玩家在進行人機對戰的時候不管是 1V 幾, NPC 都要模擬真人玩家。這個時候這套 AI 系統就會主動的模擬如何向玩家進攻。這個模擬和當時市場上主流的隨機數或者是永遠往一個方向進攻的游戲是不同的。這套 AI 當時是通過模擬玩家的戰術打法以及分析玩家的兵力防守弱點而去做出決策。比如說玩家的防空不夠就派空軍過來,右邊防守空虛也會率先從這一路進攻。在這方面我的設計是先往中路走,然后到地圖中間時兵力開始分散,哪的防御弱就往哪去。游戲是 21 關。越玩到后面這方面的感覺會越強。

Q

龍虎豹:我記的在 1999 Virgin 公司做了一個游戲叫《魔法師傳奇》也推了這個概念,不過他們管這個叫 AAAI 。直譯過來是“高級適應性人工智能”。

A

   震:那會兒我們沒起什么高大上的名字,但在程序里確實實現了這一點,實際上《生死之間》還是一個學習性較多的產品。反倒是《生死之間 2 》,無論是從創意上還是技術突破上都比一代要強。還有一點,《生死之間 2 》的程序在中國當時沒有第二個人能寫。這和今天的情況沒法比,今天是人才輩出。

Q

龍虎豹:作為一個 RTS 游戲,數值平衡是比較重要的。我很好奇這塊《生死之間》是怎么做的?因為我知道國內有些游戲早期是直接照搬國外游戲的數值。

A

   震:這塊主要是閆國勝去調的。他的定位是策劃,實際上主策劃還是我,因為程序決定功能。但是后來我把程序交給他之后,由他來決定打起來之后攻擊力是多少、防御力是多少等進行數值調優。在這方面他很有心得,給這個游戲的數值平衡助力頗大,閆國勝在數值策劃方面非常有實力。

實話實說,《生死之間》最早開發的時候,你能把游戲做出來就已經很不容易了。那個時候網絡不像現在這么發達,也沒有什么公開資料,就連書本上都沒有寫 RTS 類型游戲怎么寫。基本上就是看原型,然后自己琢磨。如果說數值方面,《生死之間 2 》的進步比較大,因為所有的數值我們都不斷的測試和修改。相比之下一代比較傳統,二代則進化很多。

Q

龍虎豹:在談《生死之間 2 》之前我想先問一個八卦。我曾經聽說《生死之間》上市之前逆火工作室聽說您做出了一個不錯的 RTS ,在一天晚上以挑戰《紅色警戒》的名義想來看游戲,但最后據說也沒給他們看。有這事嗎?

A

   震:這個說法是不準確的,當時鷹翔和逆火兩個團隊的辦公地點非常近,關系也很融洽。我們有一個習慣就是每天中午一起玩一局《 DOOM 》,但逆火總打不過我們(笑)。有這層關系在,雙方就沒什么可防范的,我當時邀請徐創來的目的就是給他看產品。當時的情況是徐創的美術能力是我們所沒有的,而我們的技術能力也是他們所欠缺的。雙方都比較認可這一點,我記的 1997 年逆火做了一個射擊游戲《天惑》非常不錯(注 3 )。總的來講我覺的我們沒有趕上最好的時候,如果是今天這種市場環境。無論是《生死之間》還是《天惑》都會是市場上的爆款。

注四:即今天《刀劍 2 》的制作人劉坤。

Q

龍虎豹:當時在《生死之間 2 》的時候為什么會想把游戲環境從陸地變成星海?

A

   震:當時我們的想法是,古代戰爭和現代戰爭都要去針對于社會背景做一些貼合,會對游戲內容造成局限性。星際題材就沒有這個問題,我們可以在星際間搭建防御基地,甚至是搭建管道過去打掉敵人的基地。事實上,我們在二代解決的技術問題,在當時并不是每個程序員都可以想明白的。

Q

龍虎豹:這個怎么理解?

A

   震:比如說游戲中你的基地是可以移動的,當兩個基地發生撞擊時。撞擊點會產生爆炸和火苗。這時程序應該怎么運算呢?今天實現起來很容易,那個時候要實現程序里必須有非常強大的索引和算法。你要能夠快速索引到碰撞點上,然后把碰撞點的裝備單位損壞率高的地方炸掉。

類似這樣的還有光影算法,這個算法今天可以用 3D 加速卡的 Shader 功能實現。但那個時候沒有這些,每一幀都要實現包括 AI 、移動判斷等等各式的疊加,然后還要把光線算出來。

其次是二代傳承了一代的精華。比如說剛才的 AI ,你會發現對方的太空基地并不是一下沖過來的,而是根據你的設計結構,沖過來找你的漏洞與突破點。這塊在當時并不完美,如果后來能做《生死之間 3 》的話會有更大的突破。

Q

龍虎豹:問一點題外話,如果做《生死之間 3 》是 99 年。那個時候《家園》已經出現了,你會也把《生死之間 3 》做成全 3D 嗎?

A

   震:其實全 3D 不是太難的技術,主要的難度還是在于底層技術,如何把游戲做的擬人化,同時有戰略和想像空間等特點。總體來講, RTS 的商業模式在網絡游戲時代沒有延續下去,他不像 RPG ,在網絡游戲時代爆發了。

Q

龍虎豹:這里有一個問題我一直沒搞明白。《生死之間 2 》的游戲規則是拼接基地而后戰斗。但這樣一來究竟游戲的主要玩法是在戰斗上還是拼接基地上?

A

   震:其實你可以把他理解成《沙丘 2 》,當時按照我的理解,《命令與征服》是以進攻為主的游戲,他的防御概念并不強。而到了《紅色警戒》時代, WESTWOOD 就更為淡化游戲中的防御概念了。在這種情況下,我們按照《沙丘》,以防御的思路去設計了整個游戲。

當時的想法,基地在星海中的移動也是一個比較新穎的玩法。我們也希望能夠實現一些更有挑戰性的算法,并且實現技術上的進一步創新。比如說用炸藥從一個節點或者管道末端依次向主基地炸過去,這種算法的最終實現,在當時對于研發來說是非常有挑戰性的。如果不仔細琢磨,機器根本帶不動。但今天回想起來,我們的確太拘泥于算法和游戲內核中技術的體現。

當然,還有一點就是《生死之間 2 》是沒有參照物的,《星際爭霸》雖然也是星海間的戰斗。但本質上還是沒有脫離陸地的概念。而有類似概念的《家園》是在 1999 年末才出現。所以對于我來說,創意鷹翔的回憶可能更多還是積累了經驗。

(未完待續)

花样视频安装_花样视频下载软件_花样视频app下载汅api_花样app下载