單機主機知多少:星際爭霸1充滿荊棘的開發之路

說起星際爭霸這款遊戲的成就大麥在這裡就不加贅述了吧,作為最經典的RTS遊戲之一為後世開創了一個全新的遊戲時代,而電競真正的火爆也是從這款遊戲開始,可以說星際爭霸這款遊戲代表了暴雪遊戲時代的開始。

那麼今天大麥就要來和大家說說星際爭霸這款遊戲開發背後的艱辛故事。這一期也算是大麥《星際爭霸十萬個為什麼》的特別版把哈哈。


開始立項

實際上暴雪最初對於星際爭霸這個項目的定位就只是一款中小型的遊戲,其製作週期也只有短短的一年時間,初步定位是將在1996年的聖誕節發售星際爭霸。而有趣的是,當時星際爭霸並不是叫做星際爭霸,也不是玩家們聽說的太空獸人,而是叫做戰錘40k(一款老牌桌面遊戲)。

單機主機知多少:星際爭霸1充滿荊棘的開發之路

其實暴雪最初的設想是直接找英國的gamework公司獲得他們戰錘40k的授權,製作一款在PC端的戰錘40k,但是在此之前gamework公司從沒有接觸過PC遊戲,他們一直在左右領域默默發展這,這也導致了他們對於PC遊戲未來強勁的勢頭一無所知。但即使這樣,暴雪和gamework的合作也算是初步完成了把,暴雪的編劇也開始撰寫戰錘40k的背景故事。

然而,也不知為何後來gamework和暴雪的合作破裂,收回了戰錘系列的版權,暴雪的編劇們只能重新修改遊戲設定,但畢竟故事已經寫了一部分了,全部廢棄又過於可惜,於是暴雪將遊戲中和戰錘有關的東西全部替換掉,同時也保留了一些戰錘中的設定,也算是開始了自己全新原創的遊戲劇情把。

單機主機知多少:星際爭霸1充滿荊棘的開發之路

一轉眼就到了1995年,暴雪終於決定開始正式在代碼層面開始開發星際爭霸,然而這時候禿鷹工作室被暴雪收購也就是後來大名鼎鼎的北方暴雪。北方暴雪當時正在製作一款堪稱傳世之作的遊戲-暗黑破壞神。在當時暴雪的高層看來暗黑破壞神的優先級要遠遠高於星際爭霸,於是就停止了星際爭霸的開發,將所有人手全部調到北方暴雪工作室開始全力開發暗黑破壞神。

單機主機知多少:星際爭霸1充滿荊棘的開發之路

後來暗黑破壞神由於其超高的市場潛力,甚至整個暴雪總部的程序員們都加入了暗黑破壞神項目。後來我們也看到,暗黑破壞神的確是取的了非常巨大的成功,總算沒有白費這些元老級程序員的努力,當時為了暗黑破壞神,連項目主管都一起參與編程。後來暗黑破壞神在1996年發售,原來星際爭霸項目的人員陸陸續續又回到原項目組終於正式開始了星際爭霸的項目。

新手降臨

星際爭霸在製作的年代正好是RTS遊戲快速發展的時期,在星際爭霸之前暴雪的兩款魔獸爭霸就為業界確定了一個明確的發展方向,這使得當時市面上其實有超過80款正在開發的RTS遊戲將會和星際爭霸展開競爭。

單機主機知多少:星際爭霸1充滿荊棘的開發之路

不過此時的暴雪已經不是過去剛剛成立時候的小公司了,再加上暗黑破壞神的成功讓大家對於暴雪的看法就是一家追求品質精益求精的遊戲公司,因此星際爭霸需要遠遠超越之前的成就。在1996年暴雪就在E3展上公佈了星際爭霸的一個DEMO,但那時候由於項目時間緊,程序員稀缺,導致星際爭霸的DEMO的效果非常糟糕,暴雪的創始人梅森對其非常不滿意,因此公司決定推翻前面所有的東西回爐重做。

單機主機知多少:星際爭霸1充滿荊棘的開發之路

這時候為了讓星際爭霸超越先前製作的魔獸爭霸,暴雪開始大規模招人,要知道魔獸爭霸2當時製作的時候只有8個程序員,現在8個人對於星際爭霸是遠遠不夠的。但是搞笑的是,為星際爭霸項目招來的程序員中絕大多數都是新手,因為項目緊迫暴雪並沒有為這些新手進行過比較完善的培訓,然而星際爭霸需要開發一款全新的引擎,這將對他們構成巨大的挑戰,這也成為後來星際爭霸開發過程中的一個巨大隱患。

被BUG淹沒的星際爭霸

之前說過,星際爭霸在開發了一小段時間以後就徹底暫停,所有的人員都前往暗黑破壞神項目開始工作。後來暗黑破壞神項目完結有一部分員工回來繼續開發星際爭霸,另一部分在為暗黑破壞神解決了大部分後續BUG之後也開始回來工作。

單機主機知多少:星際爭霸1充滿荊棘的開發之路

而這時候就出現了工作的斷檔,一些員工先前寫好的引擎模塊被遺忘在角落,另一個人又重新寫了這個模塊,或者是新入職的員工對於公司過去開發的一些引擎模塊不瞭解沒有合理運用導致遊戲中出現了不少BUG。因此當時星際爭霸遇上的最大問題就是程序員們對於引擎架構的不熟悉和不瞭解。

單機主機知多少:星際爭霸1充滿荊棘的開發之路

舉個例子,最開始魔獸爭霸的引擎是在MSDOS上用C語言開發的,到了星際爭霸PC系統進入Windows時代後,主程決定使用C++來編寫星際爭霸的引擎。但一個問題就是當時暴雪的程序員中瞭解C++的人並不多,這使得他們需要重新學習C++才能適應新引擎的使用,當然也有一些二把刀簡單地學了C++後就迫不及待地決定在第一個項目中試遍所有功能,這簡直就是一場災難。

有趣的是C++的發明人比雅尼·斯特勞斯特魯普說過一句話:用C你容易不小心砸自己的腳;C++砸腳的幾率低一點,但一但砸了,你整個下半身就廢了。可想而知,一個新手用C++可能會造成巨大的災難哈哈。

單機主機知多少:星際爭霸1充滿荊棘的開發之路

因此當時星際爭霸的程序員們都要崩潰了,他們一邊學習C++一邊還要解決遊戲中出現的BUG,再加上發售日期只剩幾個月。

說一個小趣聞,當時星際爭霸在製作的時候有一個BUG一直沒辦法被解決,就是農民在採礦時碰撞的擁堵問題。因為當時星際的所有單位都是貼圖,因此碰撞體積會特別大,農民在採礦時就經常會堵在一起無法正常採礦,而這個問題知道距離最終發售日期還有幾天了卻遲遲無法解決。這時候星際的領導層直接決定乾脆這個BUG就不改了,轉而設計成農民在採礦時無視碰撞體積,而這個決定卻成就了後來特別經典的設計。

單機主機知多少:星際爭霸1充滿荊棘的開發之路

瘋狂加班

現在大家都在吐槽國內互聯網996的工作方式,大家可想到暴雪曾經擁有更可怕的加班節奏。那時星際爭霸距離發售日期只有幾個月,所有的程序員都處於14*7的工作狀態,主程甚至經常連續40個小時的工作。

然而即使在這樣的工作強度下游戲的如期發售依然遙不可及,因此星際爭霸的團隊就這樣不斷的加班不斷的跳票,在這樣高強度的工作狀態下連續工作了十四個月。不過當時暴雪每一個員工如此瘋狂的加班並不是公司要求的,而是他們都想做出一款優秀的好遊戲而自願付出的努力。不過後來有員工回憶說當時這麼做真的太傻了,因為長期加班頭暈腦脹的時候產出的那些代碼就如同狗屎,總是得重新在寫過。

單機主機知多少:星際爭霸1充滿荊棘的開發之路

因此當時星際爭霸的BUG出奇的多,甚至在遊戲發售過後,所有程序員還得在夜以繼日的加班改BUG出補丁。

結語

雖然星際爭霸的開發並不順利,但是總算在1998年還是和玩家們見面了,而他的遊戲質量也沒有辜負這麼多程序員這兩年來夜以繼日的加班和辛勤工作。從一個普普通通的小項目到全公司全力以赴的重點項目,星際爭霸承載了暴雪公司那幾年了最大的夢想。

當時主程在接受採訪時也自嘲到,他們使用編譯語言來編寫星際爭霸最大的優點就是:相對JavaScript這種腳本語言代碼再爛用戶也看不見!然而以我們現在的視角來看星際爭霸,感覺這遊戲開發也就花了兩年左右的時間就能早就這麼一款傳奇遊戲,只不過其背後的艱辛只有曾經那一批暴雪的元老才能體會吧。

單機主機知多少:星際爭霸1充滿荊棘的開發之路


分享到:


相關文章: