當前位置: 首頁 > 攻略教程 > 圖文攻略 > 《魔獸爭霸》是怎樣煉成的

《魔獸爭霸》是怎樣煉成的

時間:2023-08-05 20:41:00 編輯:易網(wǎng)VIP游戲門戶 閱讀:2
《魔獸爭霸》是怎樣煉成的

作者簡介

Patrick Wyatt曾任職于Blizzard(暴雪)公司,超過八年以上的資深經(jīng)歷,身任前開發(fā)部副總裁,參與過《魔獸爭霸2》、《星際爭霸》與《暗黑破壞神》、《暗黑破壞神2》的開發(fā),甚至還創(chuàng)立了 Battle.net 此網(wǎng)路連線對戰(zhàn)平臺架構。在離開 Blizzard 之后,于 2000 年時與 Mike O’Brien、Jeff Strain 共三人一同創(chuàng)辦了ArenaNet,公司座落于美國華盛頓州之貝爾維尤市,隸屬于 NCSoft 旗下開發(fā)公司之一。這間公司最知名的游戲產(chǎn)品,正是大家耳熟能詳?shù)摹都?zhàn)》(GuildWar)。目前Patrick Wyatt跳槽至 Bluehole 的 Patrick Wyatt,正擔任此韓國公司的首席營運長。

《魔獸爭霸》是怎樣煉成的

Patrick Wyatt

當PC游戲還處于DOS上的混沌階段,我就開始制作《魔獸爭霸》了!我當上了項目領導!

我最初開發(fā)過幾款PC、MAC游戲和超任、世嘉 Genesis 游戲,但都只是移植復刻或者打雜。我的工作包括:擔任制作人,領導團隊或者擔任首席程序員,編寫大部分代碼。那時的團隊只有十幾二十人,不像現(xiàn)在多達兩百人的團隊那么驚人。

《魔獸爭霸》是怎樣煉成的

暴雪logo變化

魔獸爭霸的起源

我剛入職的公司名叫Silicon & Synapse(后來改名為暴雪)。我和同事們在午休時間和下班后一有空就玩《沙丘2》,研究3大種族的優(yōu)勢和弱點、游戲策略和戰(zhàn)術。而這一過程爆發(fā)了《魔獸爭霸》的創(chuàng)作靈感。

美中不足的是,《沙丘2》不能聯(lián)機對戰(zhàn)。而即時戰(zhàn)略游戲應該讓所有玩家能夠同時發(fā)出指令,臨場應變并執(zhí)行長期戰(zhàn)略。因此,我在尚未詳細計劃、評估技術需求、制訂日程或者預算的情況下就開始了《魔獸爭霸》的創(chuàng)作。后來,我們在暴雪的同事都將這種項目稱為“靈光一現(xiàn)”,并將其做為標準的開發(fā)方法之一。

《魔獸爭霸》是怎樣煉成的

魔獸爭霸

最初的開發(fā)

這個項目在初始階段只有我這唯一的開發(fā)者并且缺乏美工團隊的支持,所以我只能先借用《沙丘2》的截圖。而最初的編程工作包括:創(chuàng)建滾動地圖編譯器、繪制游戲單位的編譯精靈和搭載單位動畫的精靈排序引擎,加載鼠標、鍵盤動作的事件分配器,控制單位行為的游戲分配器以及控制應用程序行為的大量界面代碼……我只用幾周時間就完成了這些項目并整合出可以“運行”的游戲。但是,由于單位生成系統(tǒng)尚未確定,我只能輸入代碼,將單位直街加載到屏幕上。

《魔獸爭霸》是怎樣煉成的

我那時只知道埋頭苦干工作,沒有指定任何日程計劃。我享受自由的開發(fā)過程,而編程就像是嗑藥一樣上癮。22年之后的今天,我依然熱愛編程工作中創(chuàng)造性。

《魔獸爭霸》是怎樣煉成的

首個特性:單位復選

這是我最自豪的一個游戲特性?!渡城?》只允許玩家每次選擇一個單位。這大大增加了戰(zhàn)斗中的鼠標動作。而單位復選則加快了單位的調配,改進了戰(zhàn)斗過程。

入行之前,我曾用MacDraw和MacDraft等CAD軟件,幫我爸設計酒窖。所以用“點擊和拖拽”后生成的矩形框來選擇多個單位的做法就顯得再自然不過。

我相信《魔獸爭霸》是第一款能夠復選單位的游戲,而且最初的設計中沒有數(shù)量限制。為了修正復選并控制一百多個單位時的Bug,我反復實驗了這個特性。但是,我并不感到厭煩,因為它是我所創(chuàng)作的最酷的游戲特性。

后來,通過協(xié)商,我們決定讓玩家一次最多只能選擇4個單位(在《魔獸爭霸2》中,我們又將這個數(shù)字增加到9),使玩家專注于制訂策略,而不是簡單地將烏合之眾全派到敵方陣地?!渡城?》的繼任者《命令與征服》就沒有類似的限制,我覺得這種設計還有待商榷。

除此之外,那時的《魔獸爭霸》只是山寨版《沙丘2》而已。我甚至自嘲道:《魔獸爭霸》確實受到了《沙丘2》的啟發(fā),但它們截然不同——我們的小地圖在左上角,而《沙丘2》在右下角……

《魔獸爭霸》是怎樣煉成的

組成團隊

1994年初,我開始招募幫手。于是,Ron Millar、Sam Didier、Stu Rose、Bob Fitch、Jesse McReynolds和Mike Morhaime等人紛紛加入。而他們中的大部分人在我們公司被Davidson & Associates 收購后依然留任。

長相粗獷的Ron Millar原來是美工。但他驚人的創(chuàng)新和設計能力讓他在包括《魔獸爭霸》在內(nèi)的多個暴雪項目中都擔任設計師。

和熊一樣的Sam Didier堪稱暴雪畫風的奠基人。他高超的繪畫技巧和一有空就畫畫的熱情使他在新項目中擔任美術總監(jiān)。

曾是插畫家的Stu Rose設計了暴雪至今仍在使用的公司標志。他那時負責背景地圖的繪制并在《魔獸爭霸》的最終設計中發(fā)揮了重要的作用。

Bob Fitch原先是程序員和另一個項目的領導。暴雪公司主席Allen Adham讓他負責拼字游戲《Games People Play》,但Bob對此缺乏熱情并消極怠工。而得到Bob的幫助之后,《魔獸爭霸》項目突飛猛進。

Jesse負責網(wǎng)絡通信。而暴雪聯(lián)合創(chuàng)始人Mike Morhaime則負責復合調制解調器的驅動。

Allen Adham曾希望通過贏得《戰(zhàn)錘》的注冊品牌來提升收入?!稇?zhàn)錘》原本是《魔獸爭霸》的畫風源泉,但是和DC Comics在《Death and Return of Superman》等項目的不愉快合作使我們盡量避免在新游戲上遇到類似的麻煩。

毋庸置疑的是,如果沒能把握住《魔獸爭霸》的知識產(chǎn)權,暴雪就不可能成為今日游戲產(chǎn)業(yè)的霸主之一。

《魔獸爭霸》發(fā)布之后,我爸在旅行時為我?guī)Щ亓艘惶住稇?zhàn)錘》手辦。他同時提醒我應該成立保護知識產(chǎn)權的法律部門。多么有先見之明的老爹??!

《魔獸爭霸》是怎樣煉成的

游戲開發(fā)中的阻礙

正在創(chuàng)作《魔獸爭霸》這款能夠用調制解調器或者局域網(wǎng)進行聯(lián)網(wǎng)對戰(zhàn)的游戲時,我們驚奇地發(fā)現(xiàn):我們的辦公室沒有網(wǎng)絡!因為我們此前制作的都是裝在軟盤中的單機游戲,工作中不需要用到網(wǎng)絡。所以,我們只能用軟盤互相傳遞源代碼和圖片。但是由于整合失誤,代碼經(jīng)常弄丟,而被修正的Bug會一再出現(xiàn)……那時,我們只能控制代碼來源,避免這類失誤。

隨著程序員、設計師和美工的增加,我們又遇到了更大的困難:游戲原先搭建在DOS的即時模式中,所以總內(nèi)存只有640K,而操作系統(tǒng)的可用內(nèi)存更是不到120K。(那時的電腦真是太渣了?。┒斆拦ら_始創(chuàng)作游戲單位、背景和用戶界面時,我們很快就耗盡了所有內(nèi)存并開始尋找新的內(nèi)存資源。我們首先嘗試了EMS頁面內(nèi)存來貼圖并儲存數(shù)據(jù)。但是,EMS太難用了。后來,Watcom公司發(fā)布的C編譯程序允許我們在DOS的保護模式中寫入程序,獲得線性的32-bit內(nèi)存。雖然升級源代碼需要幾天時間,但這個方案還是為我們贏得了更多內(nèi)存。

之前,我介紹了《魔獸爭霸》的開端、它如何為暴雪打響品牌,并使其成為全球最著名、最受愛戴的游戲公司之一。

《魔獸爭霸》如何從一個創(chuàng)意發(fā)展為一款完整的游戲?要知道,從構思到發(fā)布的過程可不是一番風順的。其間需要經(jīng)歷多次設計變更和創(chuàng)意討論、檢驗、再討論、修改、又討論、又檢驗……甚至是推倒重建。但不斷的討論并不是一件壞事:雖然有時會傷感情,但只要事后和解,爭論還是能夠保證創(chuàng)意得到不斷完善。

即使意見不同,我們還是在努力創(chuàng)作的過程中培養(yǎng)出同事間的感情。我們一起工作,一起玩,一起狂歡,甚至同居:我和3個暴雪同事就開創(chuàng)了同事合租宿舍的先河。

最初的提案

《魔獸爭霸》是怎樣煉成的

魔獸爭霸1:90年代的作品,略顯老氣

《魔獸爭霸》項目剛開始時,暴雪正同時制作另外4個項目。可全公司只有20個人,所以大家都忙得不可開交。美工、程序員和設計師們往往要同時負責2、3個項目。當然,我們唯一的音樂/音效工程師Glenn Stafford 需要包辦所有項目。即使這樣,我們還是能擠出時間,經(jīng)常開會討論公司的發(fā)展策略。

而暴雪主席兼聯(lián)合創(chuàng)始人Allen Adham 在一次討論會議上的發(fā)言更是促進了《魔獸爭霸》項目的啟動——他想制作一系列包裝一致、副標題不同的戰(zhàn)爭游戲,例如羅馬帝國或者越南戰(zhàn)爭等。這樣,我們不僅能夠在游戲貨架上用少量空間就吸引新玩家們的眼球,也方便老玩家在琳瑯滿目的游戲商店里找到續(xù)作。

不過,公司早期的兩位美工Ron Millar和Sam Didier對此并不感冒。他們喜歡《戰(zhàn)錘》那樣的奇幻游戲。所以,他們在接下來的一次會議中提出:應該將游戲設定為獸人和人族之間的戰(zhàn)爭,避免受到真實歷史的束縛。于是,該系列的第一款游戲被定名為《魔獸爭霸:獸人vs人族》(Warcraft: Orcs and Humans)。

最初的游戲設計

《魔獸爭霸》是怎樣煉成的

魔獸爭霸一惡魔:此圖則是基爾加丹的原型

許多人認為游戲設計師只負責構思創(chuàng)意或者確定游戲設計。而對于有些開發(fā)團隊來說,設計師確實需要擁有高超的創(chuàng)意和獨立實現(xiàn)游戲功能的能力。但更重要的是,他們需要接納別人的創(chuàng)意,不然開發(fā)團隊中的其他成員會缺乏創(chuàng)作熱情。最要命的是,誰都不知道下一個絕妙的設計想法將從何而來,所以設計師需要善于傾聽。

《魔獸爭霸》開發(fā)初期不正規(guī)的設計過程反而相當高效。無數(shù)次走廊、餐廳、吸煙室里或者加班時的討論使公司上下的每個人都得以貢獻出自己的想法。而擺脫了正式審批和呆板的設計文案之后,游戲設計每個月都在進化。

原來擔任美工的Ron那時就是暴雪公司的點子王。雖然正忙于另一款游戲的制作,他還是會擠出時間,為《魔獸爭霸》獻計獻策。

Stu Rose是暴雪初期的另一位美工。他在個性上和Ron截然相反,所以他的想法經(jīng)常和Ron的發(fā)生沖突??墒牵坏┧麄冞_成一致,這個想法就板上釘釘了。最后,他們獨自負責《魔獸爭霸》的文化和背景故事,定義游戲單位,確定游戲機制,設計魔法效果,制作游戲任務以及其他相關細節(jié)。

如今,我們已無法確定究竟是誰提出了哪些想法(那時我們就搞不清楚。所以,《魔獸爭霸:獸人vs人族》包裝盒上的“游戲設計”一欄中印著“暴雪娛樂全體職工”)。

不得不承認,在編程前確定設計文檔會很方便。但在游戲打基礎階段,尚未確定的設計并不是件壞事,特別是在我們的設計大量借鑒了《沙丘2》的時候。

砍掉了什么

《魔獸爭霸》是怎樣煉成的

獸人苦工:那個年月獸人的形象還沒有完全的定性,姑且認為是劣等獸人吧

《魔獸爭霸》是怎樣煉成的

獸人苦工

雖然我們現(xiàn)在還能玩到《魔獸爭霸1》,但它和之后的即時戰(zhàn)略游戲相比并不夠有趣。對老游戲的崇拜所積累起的期待將在320×200的渣畫面之前瞬間崩潰,而粗糙的游戲界面和糟糕的游戲平衡性則會讓玩家徹底絕望。

但是,《魔獸爭霸1》確實是經(jīng)過多重淘汰后的優(yōu)秀創(chuàng)意的總結。在許多方面,后來的續(xù)作都和《魔獸爭霸1》保持高度一致。

今天的玩家們都很熟悉《魔獸爭霸》中的兵營、市政廳、伐木場和金礦等經(jīng)典建筑單位。這些標志性單位都在隨后的眾多續(xù)作中都得以保留,因為它們的名字和功能都能輕易地與現(xiàn)實世界接軌。不過,當初的設計文檔中還有很多創(chuàng)意都沒有被最終實施。有些是因為開發(fā)時間不足(我們必須趕在1994年圣誕節(jié)前發(fā)布游戲,而且差點沒趕上),有些是因為缺乏技術支持,而另一些則是因為其整合過程太過費時、費錢或者太過無趣。

被棄用的創(chuàng)意包括:石匠大廳(用來建造石質建筑)、矮人酒館(提升石頭產(chǎn)量)、精靈箭匠(升級弓箭手)、稅收大廳和啤酒屋等。這些都是二級建筑,有些甚至需要和其他建筑進行組合。后來,我們將它們(例如矮人酒館和精靈箭匠)的功能添加到已有的建筑中,而不是分離出各種功能單一的建筑。

我們認為不應該引入石頭這第三種資源(過于繁瑣),所以砍掉了石匠大廳。在《魔獸爭霸2》的設計過程中,我們重新探討了這個創(chuàng)意。但在反復試驗之后,我們最終還是決定砍掉它。

設計啤酒屋原本是為了提升士兵和金子的生成速度。但是由于個中理由過于牽強,我們最終決定砍掉它(為什么醉了反而會提升生產(chǎn)力?)。

蜥蜴人、小妖和半獸人等NPC種族最終也都被留在了草稿上。原因很簡單,美工忙不過來。

游戲開發(fā)講究平衡,優(yōu)秀的游戲也不需要面面俱到,只需要有幾個過人之處就行。

陣型

《魔獸爭霸》是怎樣煉成的

人類盜賊

《魔獸爭霸》是怎樣煉成的

人類牧師

另一個久經(jīng)考驗但最終被砍掉的創(chuàng)意是“陣型”——讓幾個單位在戰(zhàn)場上團結在一起。由于太難實現(xiàn),我們最終只能砍掉它。原因包括:部分單位過于緩慢,無法和大部隊保持陣型;陣型需要相互轉換,玩家需要改變前軍和后軍位置……這大大增加了界面復雜性;如果時間充足,我們一定能實現(xiàn)這個特性,但是我們那時更需要將時間用于實現(xiàn)更多基本功能。

取而代之的是小隊編號功能:選定幾個單位之后,玩家可以按住Ctrl 加上數(shù)字鍵(1-4),將它們編為一個小隊并附加編號。然后,玩家只要按數(shù)字鍵(1-4)就能快速選擇相應的小隊而小隊中的每個單位還都能獨立活動。

戰(zhàn)場上的玩家角色

還有一個久經(jīng)考驗但最終被砍掉的創(chuàng)意是用一個單位在游戲地圖上代表玩家——一個通過完成任務不斷升級、成長的角色。越常使用,這個角色就越強;而如果不用,它就一直是軟腳蝦。

讓一個單位執(zhí)行一個接一個任務增加了調整游戲任務平衡性的難度:優(yōu)秀的玩家能通過任務讓角色變得非常強大,使之后的任務變得相當簡單,缺乏挑戰(zhàn)性;而技術不好的玩家則無法提升角色的能力,使之后的任務難如登天,令人沮喪。在這兩種情況下,玩家都會選擇放棄游戲,因為只有少數(shù)玩家愿意回到之前的關卡從新修煉人物。

另一家公司在《魔獸爭霸》首發(fā)的幾年之后推出了一款名為“War Wind”的游戲,其中就有類似的單位。他們的設計師允許最多4個單位接連執(zhí)行各個任務,而且調整了游戲平衡性,保證這些單位不會強大到影響游戲進程。但這和英雄角色的特性背道而馳。

《魔獸爭霸》中的英雄

我們還曾打算在《魔獸爭霸1》中增加英雄單位。它們擁有幻影神偷、野蠻人、女獵手、判官等酷炫的名字,而且個個身懷絕技。最后,由于時間不足,我們?nèi)掏纯车袅诉@些單位。

作為一個和《魔獸爭霸3》沒有太多瓜葛的人,我欣喜地看到英雄終于被引入了這個游戲系列,盡管它們的創(chuàng)意并非來自《魔獸爭霸1》的設計文檔。

簡而言之,《魔獸爭霸3》的英雄擺脫了正統(tǒng)的即時戰(zhàn)略游戲,首先出現(xiàn)在“英雄爭霸”模式中,以小隊戰(zhàn)術對決游戲的形式獨立存在于《魔獸爭霸》的世界里。而隨著開發(fā)團隊領導的變更,這個游戲又被整合入傳統(tǒng)的即時戰(zhàn)略游戲中。

《魔獸爭霸》是怎樣煉成的

魔獸爭霸一傷員:暴雪當時并不知道魔獸系列會給他們帶來如此的輝煌

《魔獸爭霸》是怎樣煉成的

幅圖像展示了強大的被稱為“艾澤拉斯之雄獅”的安度因·洛薩爵士,他是在快到魔獸爭霸劇情結局時才被創(chuàng)造出

魔獸爭霸的鮮明色彩

《魔獸爭霸》是怎樣煉成的

魔獸爭霸游戲畫面

研究過《魔獸爭霸》畫風的人都會發(fā)現(xiàn),它的顏色比《暗黑破壞神》要鮮艷得多。明亮的卡通畫風和同時代PC平臺上的其他戰(zhàn)爭游戲所采用的寫實畫風大相徑庭。

這也許是因為我們的美工曾經(jīng)創(chuàng)作過超級任天堂和世嘉Genesis的游戲有關:那時的電視在色彩呈現(xiàn)方面遠不如電腦顯示器,所以游戲需要更動感的色彩。而低解析度和低色域的電視主機游戲也更需要高對比度的畫面。

而Allen也是原因之一。他不僅要求所有美工都使用亮色作畫,而且經(jīng)常打開所有的燈和百葉窗,逼迫他們進行調整。他認為大多數(shù)人都在明亮的房間里玩電子游戲,所以我們的游戲畫風需要適應這種環(huán)境。他覺得在不受外界光線干擾的暗室中能夠識別任何畫面,但電腦美工則需要和亮光環(huán)境對抗。

現(xiàn)在大家都知道為什么《魔獸爭霸》要使用糖果色了吧?

全球首款多人連線游戲《魔獸爭霸》是大勝利、是慘敗也是平局。這怎么可能?說來話長,其中包括游戲AI、經(jīng)濟、黑霧等多方面因素。接下來將逐一分解:

從1993年9月起,經(jīng)歷了6個月的開發(fā)之后,第一款成品《魔獸爭霸:獸族vs人族》終于問世。

幾個月以來,我一直是開發(fā)團隊中唯一的全職雇員,所以這個項目進度緩慢。幸好還有Ron Millar、Stu Rose等其人負責設計,以及幾個美工抽空負責原畫。人手不足主要因為開發(fā)經(jīng)費來自為Interplay和SunSoft做外包的幾家公司的自家腰包。而且,我們那時還同時負責4款16-bit家用主機游戲:《The Lost Vikings 2》、《Blackthorne》、《Justice League Task Force》和《Return of Superman》。我們只能從這些項目中擠出《魔獸爭霸》的項目啟動經(jīng)費。

游戲開發(fā)經(jīng)濟

《魔獸爭霸》是怎樣煉成的

魔獸爭霸3游戲截圖

在游戲業(yè)發(fā)展史中,獨立游戲制作室一般通過和發(fā)行公司簽訂合約來獲得項目資金。游戲發(fā)行商可能會“預付”一定的開發(fā)款,并負責發(fā)行、營銷、制作、運輸和客戶支持等。

90年代初期的游戲發(fā)行商數(shù)量比現(xiàn)在多得多,但不斷高漲的開發(fā)費用導致破產(chǎn)和兼并頻發(fā)。所以,現(xiàn)在的零售游戲發(fā)行商只剩下動視暴雪、EA或者育碧等大廠。

與其它產(chǎn)業(yè)一樣,合同總是對出錢的人有利。在理論上,這些條款保證游戲開發(fā)者在游戲大賣后獲得獎勵。與音樂和電影業(yè)界中大部分利潤歸發(fā)行商所有一樣,游戲開發(fā)者得到的分成只夠撐到下一次簽約。

之前提到的“預付款”其實算是“預付版稅”,也就是游戲的銷售提成。開發(fā)者之后還要還上這筆賬。“開發(fā)游戲,然后每賣出一份就有提成”這聽起來不錯,但大多數(shù)游戲根本無法獲得足夠的版稅,用來還債。于是,開發(fā)小組不得不放棄本作或者續(xù)作的版權。這一點在合同中尤為顯著。

為了獲得更有利的條款,游戲制作室通常選擇自費開發(fā)游戲原型,然后用原型招商引資。而自費開發(fā)時間越長,合同條款越有利于游戲開發(fā)者。

以Valve Software為例,Gabe Newell用自己在微軟累積的財富自費開發(fā)《半條命》并控制了游戲發(fā)布時間(發(fā)布高素質游戲,而不是趕工發(fā)布半成品,以增加游戲發(fā)行商Sierra Entertainment的季度收入)。更重要的是,Gabe的資金使Valve在網(wǎng)絡發(fā)行方興未艾時就獲得了《半條命》的在線發(fā)行權。這確保了該制作室日后的巨大成功。

另一方面,自費開發(fā)就要冒著沒有發(fā)行商愿意簽約的風險。而這經(jīng)常導致游戲制作室的倒閉。

我們公司那時名叫“Silicon and Synapse”。我們自費開發(fā)《魔獸爭霸》和另一款名叫《Games People Play》的拼字游戲。兩款游戲的受眾截然不同,而公司老板這么做是為了擴大盈利面,避免將所有資源壓到核心娛樂市場的高風險。

當然,分開投注也有風險:如果玩家不滿意這些游戲,公司品牌將大為受損。因為之前的暴雪游戲廣受好評,所以現(xiàn)在的玩家們才會毫不猶豫地相信我們,選擇我們的最新游戲。同時發(fā)布低預算休閑游戲和高預算AAA級游戲的公司將很難建立良好的聲譽。掙扎求生卻最終倒閉的Sierra Entertainment 就是最佳例證。

不管怎樣,《Games People Play》都是敗筆。因為它令首席程序員頻頻受挫并最終成為爛尾項目。但這也許并不是一件壞事,因為同時開發(fā)《魔獸爭霸》和《Games People Play》讓當時全球第二大的教育軟件公司Davidson & Associates下定決心收購Silicon & Synapse。

新老板

《魔獸爭霸》是怎樣煉成的

暴雪logo

由Jan Davidson創(chuàng)建的Davidson & Associates憑借《Math Blaster》茁壯成長。寓教于樂確實是一招好棋,而該公司也借此上位。

明智而激進的領導使Davidson & Associates將業(yè)務拓展至游戲制作業(yè)、游戲發(fā)行業(yè)和送貨到校的學習材料發(fā)行業(yè)務。他們看到了進軍娛樂業(yè)的機會,但最初的失敗使他們下決心收購更有經(jīng)驗的游戲制作室,而不是繼續(xù)摸索。

收購使《魔獸爭霸》開發(fā)團隊的資金問題迎刃而解。倚靠Davidson這位大老板之后,Silicon & Synapse(也就是日后的暴雪)得以專心制作自己的游戲,而不是追逐其他游戲發(fā)行商丟出的蠅頭小利。那些利潤真的微不足道。因為即使在1993年推出了兩款頂級大作并被稱為“當年游戲開發(fā)者中的任天堂”,我們公司依然沒能獲得任何版稅。

后來,Silicon & Synapse用收購得來的大筆資金雇傭了新員工并使老員工全身心投入工作。這使《魔獸爭霸》的開發(fā)進度突飛猛進。

設計“過程”

《魔獸爭霸》是怎樣煉成的

魔獸爭霸一人族步兵:和魔獸3中的人類士兵裝備有出入

暴雪早年設計、創(chuàng)作游戲的過程堪稱“井井有條”。正式設計討論會極為混亂,這使得大廳中和會餐時的頻繁討論顯得更為重要。

有些游戲特性來自設計文本,另一些則由程序員們隨意添加;有些游戲畫面早有安排,但另一些則由美工們在深夜即興繪制或者憑借靈光一現(xiàn)來修改;其他元素全靠即興發(fā)揮——《魔獸爭霸》的劇情和背景故事直到游戲首發(fā)前幾個月才倉促整合完畢。

《魔獸爭霸》是怎樣煉成的

魔獸爭霸一亡靈骷髏不是“普通”的人類,而是作為亡靈從地底復活,這部分出自魔獸爭霸。獸人& 人類游戲指

雖然設計過程無法預測,但結果相當不錯。因為我們創(chuàng)作團隊全由電腦游戲狂人組成。我們的游戲在開發(fā)過程中不斷進化并最終成為讓玩家愛不釋手的佳作。我們?yōu)镮BM個人電腦開發(fā)的首款原創(chuàng)游戲《魔獸爭霸》是最佳(有時最差)創(chuàng)作過程的典范,而最終的游戲成品則被(至少是當時的)無數(shù)人效仿。

《魔獸爭霸》的單位生成系統(tǒng)如何成型

《魔獸爭霸》是怎樣煉成的

魔獸爭霸1游戲截圖

進化過程出錯將導致整棵進化樹的毀滅。我們的游戲也是如此。我們沒有前者可以效仿,必須試驗并得出最佳方案。但在很多情況下,成果來自于意外、爭論和個人沖突。

開發(fā)初期,因為其他用戶界面還沒完成,我們需要用“作弊碼”來將戰(zhàn)斗單位投入游戲。于是,我們想出了許多生成戰(zhàn)斗單位的方法。

美工Ron Millar建議游戲應該模仿《Populous》,讓玩家先建設農(nóng)場小屋,然后從中生成工作單位,用來采礦、建設。但是,這些單位并不擅長戰(zhàn)斗。而不忙的工作單位可以在兵營中被訓練為戰(zhàn)士,但是它們會暫時從地圖中消失。其他建筑物則能訓練出更高級的戰(zhàn)斗單位,如投石車或者法師等。

這個設計沒有被完全實施,因為其中缺乏創(chuàng)意。所以游戲設計團隊在編程前又對其進行了多次修改。而在此之前,當Ron和公司主席Allen Adham一起出差的時候,一個事件徹底改變了《魔獸爭霸》系列的設計方向:另一位元老級美工兼程序員Stu Rose認為Ron的單位生成機制過于復雜,而且違反即時戰(zhàn)略游戲的特性。此類游戲需要凸顯玩家的重要性,不應讓玩家長時間分神。因為玩家還需權衡其他各種因素,如:建造、采礦、生成單位、安排建筑物、探索地圖、控制戰(zhàn)斗和微操等。玩家的注意力是最有限的資源,而繁瑣的單位生成將使玩家分心并增加游戲難度。

我同意他的觀點。《魔獸爭霸》的設計原型《沙丘2》就擁有更加簡潔的單位生成機制:建造工廠后單位就會隨后自動生成。雖然不是原創(chuàng),但它確實有效。于是,在隨后的幾天中,我加班趕出了游戲界面和單位生成的代碼,讓這種設計變成既成事實。等Ron他們出差回來,游戲的單人模式已經(jīng)基本完成,只差繁瑣的AI調整。那時,《魔獸爭霸》已經(jīng)是一款簡單可玩而且有趣的游戲,所以我們不再返工。

《魔獸爭霸》的首局連線游戲

《魔獸爭霸》是怎樣煉成的

魔獸爭霸3游戲截圖

1994年6月,經(jīng)過10個月的開發(fā),游戲的多人連線引擎基本完成。當我忙于核心游戲邏輯的編程時,其他程序員則忙于其他相關元素:Jesse McReynolds正根據(jù)《Quake》的開源代碼改編發(fā)送IPX包的低級網(wǎng)絡架構。雖然只有幾百行代碼,但它關系到游戲和網(wǎng)卡驅動聯(lián)系并向其他玩家發(fā)送信息是否順暢;Bob Fitch則負責創(chuàng)建比賽和加入其它玩家的界面。

我和Bob的辦公室僅一墻之隔,這便于將他的邏輯整合入我的游戲事件結構中。當我將最新的客戶端與網(wǎng)絡相連之后,奇跡發(fā)生了:我們可以開始《魔獸爭霸》的第一局連線游戲了!在游戲中,我感到了前所未有的興奮。這不僅因為我參與了代碼的編寫,更重要的是,我創(chuàng)造了兩種非??植赖囊蛩兀汉腿祟愅婕覍挂约半[藏了對方活動的黑霧。

黑霧

黑霧模仿了戰(zhàn)場上的信息不充分性。而17年前的回合制策略游戲《Empire》就采用了這種機制。這迫使玩家在游戲早期就需要探明地圖。

敵人動向的不明確性創(chuàng)造了心理上的恐懼。這使即時戰(zhàn)略游戲的樂趣倍增。

電腦AI

《魔獸爭霸》是怎樣煉成的

魔獸爭霸一蜘蛛:魔獸爭霸的成功之處在于在即時戰(zhàn)略游戲中加入了野怪設定

玩家們都知道,策略游戲的AI都很弱。因為玩家能輕易找出程序中的薄弱環(huán)節(jié),所以AI通常具備兵力、地形優(yōu)勢?!赌ЙF爭霸》也是如此,我們甚至降低的AI的金礦衰減率,讓金礦“更耐用”。

這種不平等令游戲變得更有趣:首先,它能避免玩家采用龜縮戰(zhàn)術,堅守不出。其次,這能鼓勵玩家去占領AI尚未采完的金礦,加快游戲進程。

更不公平的是,AI能夠無視黑霧,對玩家的動態(tài)了如指掌。但在實際操作中,這只能避免AI過多地做蠢事而已。

有趣的是,長壽的《星際爭霸》的AI并不作弊。程序員們通過一種名為“BWAPI ”的代碼,將指令直接輸入游戲引擎中。他們讓各種AI互相比拼。這樣,人類玩家很難戰(zhàn)勝其中最優(yōu)秀的AI。

和人類玩家對抗

開發(fā)《魔獸爭霸》之前,我玩過很多策略游戲。我非常清楚AI的局限性。雖然和AI對戰(zhàn)很有趣、令人激動也富有挑戰(zhàn)性,但其過程從不可怕。和人類玩家對抗則不然。在首局《魔獸爭霸》聯(lián)網(wǎng)對戰(zhàn)中,我的對手具有高超的技戰(zhàn)術素養(yǎng),而且輸入指令的速度又快。黑霧創(chuàng)造的未知感更讓人感到不安和激動。所以,我必須提高采礦和建造的速度,探索地圖并試圖盡快擊潰對手。這不僅是一場測試,更是爭奪首勝的比賽。當我們短兵相接時,戰(zhàn)況更加激烈。最后,程序崩潰了……

程序員們都知道,新代碼一次成功的幾率幾乎為零,所以我并不在意。我沖到Bob那邊,和他爭論到底誰快贏了。后來,我們發(fā)現(xiàn)程序不僅存在Bug,而且游戲過程不同步。

《象棋》等游戲的信息通訊量不大,而在《魔獸爭霸》中,多達600個單位可能同時活動。而在那時的網(wǎng)絡中傳送如此大量的信息是不可能的。所以,我只讓客戶端交換玩家們的指令并在各自的機器上同時執(zhí)行這些命令。不幸的是,程序員無法對電腦下達正確的指令,所以產(chǎn)生了Bug。如果兩臺電腦對相同的問題得出了不同的答案就會產(chǎn)生同步問題。小問題的不斷累積就會使游戲脫節(jié)。我在電腦上對敵人發(fā)動攻擊,而對方可能無視攻擊并且前往別處。如果不能及時發(fā)現(xiàn)并糾正這種錯誤,兩臺電腦上的游戲過程將大相徑庭。

所以,第一場《魔獸爭霸》對抗賽以平局告終。但雙方都贏得了很多(樂趣)。一旦嘗試過聯(lián)機對抗,其他游戲都是浮云。雖然游戲經(jīng)常崩潰,我們知道自己已經(jīng)走上正軌。

我們只需完成游戲

悲劇的是,我們后來發(fā)現(xiàn)導致不同步的Bug有很多。所以我們需要逐一研究并在游戲發(fā)售前創(chuàng)建出能夠發(fā)現(xiàn)并糾正不同步的系統(tǒng)。任重(微博)而道遠?。?/p>