當前位置:
首頁 > 最新 > 如何設計RTS遊戲的AI?從《全面戰爭》系列說起

如何設計RTS遊戲的AI?從《全面戰爭》系列說起

AI始終是遊戲設計中一個繞不開的話題,它們的問世往往是為了充當一把鑰匙,以便讓遊戲系統解決短期或者長期的決策問題。說道遊戲AI,許多玩家首先想到的莫過於FPS,其中,AI可以憑藉精確的槍法和靈活的判斷,為遊戲增加不少的樂趣。

但在一些領域,FPS的AI又很難和RTS(即時戰略類遊戲)的AI相提並論。具體而言,RTS中AI需要兼顧的元素更多,而且某些方面產生的影響更是牽一髮而動全身,舉個例子,在作戰中,哪怕是一個微小的、即時的、被動的決策,都完全有可能影響未來幾個小時的戰場態勢,而在這些即時戰略遊戲中,無論是玩家、開發人員和遊戲研究者,只要談到AI面臨的挑戰和創新,就不會忽視一個系列,它就是Creative Assembly(後文簡稱為「CA社」)的《全面戰爭》。

▲如今,《全戰》系列的陣容已經極為龐大

自2000年問世以來,《全戰》陣容在不斷壯大,同時,隨著每部遊戲推出,開發者的野心也在膨脹,這讓AI的處理數據量和複雜程度也在不斷增加。正是因此,開發團隊在遊戲AI的研發上持續傾注了巨大的精力,它讓遊戲史上堪稱罕見。不過另一方面,在最近的一些作品,如《阿提拉:全面戰爭》和《戰錘:全面戰爭》中,遊戲AI的問題也非常明顯。在文中,我們不僅將介紹《全面戰爭》AI的設計思路,還會介紹它們在每代作品中如何得到了強化、調整甚至是完全重組。另外,尤其需要指出的是,熱心玩家在其中發揮了重要作用,他們推出了許多精良的mod,幫助調整了許多重要的參數——不僅如此,相關的mod開發者社區也蓬勃發展,並給了廠方不少啟示。

RTS和AI

首先,我們要簡要介紹的是即時戰略類遊戲發展的歷程,也只有通過這些,我們才能了解《全戰》在其中的地位。所有即時戰略遊戲中,都存在一個焦點,這就是對領土和資源的控制。具體來說,在遊戲中,會有兩個或兩個以上的敵對勢力出現在同一張地圖上,他們會通過爭奪特定區域內的資源和位置,來讓自己佔據支配地位。具體而言,為實現這一目標,每個勢力將按照特定的架構組建一支軍隊,以前往特定地區收集資源,並保衛現有的地盤,同時,他們還要對敵人勢力範圍進行偵察,進而佔領整個區域。

在這個過程中,這些部隊還需要摧毀敵人的部隊,期間,玩家需要探索未知的區域,穿過所謂的「戰爭迷霧」以確定敵人和資源的位置。此外,隨著時間的推移,每個陣營都將在之前組織和單位的基礎上,增強現有的軍事水平和資源開採能力。

▲《沙丘2》在RTS的發展史上起到了開創性的作用

儘管算不上人類歷史上第一款RTS,但Westwood於1992年推出的《沙丘2》仍然起到了開創性的作用,它影響的遊戲可以列出一長串:比如《命令與征服》《帝國時代》《家園》,還有暴雪的《魔獸》和《星際》系列等。而在1990年代後期,《戰爭黎明》和《星球大戰:戰爭帝國》等遊戲則採用了不同的思路——它們更強調戰術的價值,而將資源管理放在了一個次要的位置。

▲在《沙丘2》的啟示下,暴雪用一系列大作做到了青出於藍,它們至今仍是RTS的標杆

與此同時,1994年出品的《UFO:未知敵人》則致力於在即時和回合制之間取得平衡,其上市後的人氣始終很高——2012年,該系列更是隨著《幽浮:未知敵人(XCOM: Enemy Unknown)》的發售而被正式重啟。

另外,儘管在是否屬於RTS上存在爭議,MOBA類遊戲事實上也在其中佔據了一席之地,它們源自《魔獸爭霸3》的DOTA模組,後來則誕生了《Dota 2》和《英雄聯盟》等獨立作品,其中,玩家操控的單位是各種英雄,而他們的行動也將決定或影響宏觀層面的戰局。

▲不管該歸入RTS這一大類,還是自成一系,無可否認的是,MOBA源於RTS,而且兩者間存在許多割不斷的聯繫

之所以提及RTS的演變史,是因為AI在其誕生之初便是重要一環。在這類遊戲中,玩家需要管理陣營內各個單位的部署——你可以命令它們去往某個地方,但又不能直接進行操縱。為取得理想的結果,玩家就得與系統進行互動。另外,AI也對單人遊戲部分也至關重要,因為其任務不僅是依據玩家的命令做出反應,同時,它們還扮演著敵軍指揮官的角色——和玩家一樣,AI也需要管理自己的單位、同時針對敵人行動制定各種反制策略。也正是因為任務極為重要,因此,AI設計一直被公認是一項挑戰。

全面戰爭

有人也許會問,為什麼本文會關注《全戰》系列呢?答案是它很有特點。作為CA社的代表作,它將不同種類的戰略遊戲模式都融入了同一部作品裡面:其中既有回合制的資源管理和戰略規劃,同時還有大部隊的實時戰鬥——更令人稱奇的是,在戰鬥中,還同時包含了微觀和宏觀層面的指揮:這裡既有AI對小單位的控制,還允許玩家對大部隊進行整體的指揮,同時對戰場陣型和部署進行管理——這在戰略遊戲中可謂相當罕見。

▲《幕府將軍》是《全戰》系列的第一作

作為系列的第一作,《幕府將軍:全面戰爭》樹立了一種風格:它既平衡了擬真性和原創性,還加入了政治和戰略因素。至於它為何將背景設定在16世紀的日本戰國時期——則受了電影導演黑澤明的影響——尤其是他導演的《影子武士》《七武士》和《亂》,為了致敬這些經典,開發者甚至將一部分畫面移植到了遊戲的過場動畫中。

▲黑澤明電影《亂》的劇照,這些作品充當了《幕府將軍:全面戰爭》等遊戲的靈感之源

在遊戲中,玩家和敵方的AI都扮演著當時的「大名」:他們控制著日本境內的不同地區,可以在大地圖上採取各種軍事和外交行動。而在戰鬥模式下,玩家又將成為「將軍」,並調遣成百上千的部隊。另外,就戰國時代本身而言,它也非常適合遊戲的開發,因為當時的政治和經濟都大名們的軍事行動關係密切。

另外,《全戰》還有許多不同於傳統RTS之處,它在微觀戰鬥中取消了諸如「戰爭迷霧」之類的機制,在資源管理上也被簡化到了極點。而在AI方面,由於遊戲的性質使然,它們也分成了三個不同的系統:

第一種AI是「戰役和外交AI」,它負責處理每個回合的戰略決策,比如在地圖上調遣軍隊、從事外交活動(派遣特使或刺客、結盟或緩解對立)、在各地發展農業和建造基礎設施等。

另一種AI則是「戰術AI」,它決定了戰鬥單位的編組、行動策略和攻擊模式。它們操縱的領域和人類玩家差不多,但它們只會從更宏觀層面上對部隊的行動進行管理。

最後一種則是每個小型單位自己的AI,它們決定了面對千變萬化的戰場局勢,各個小單位會自己做出怎樣的反應。

▲《幕府將軍》的戰略地圖和戰術地圖

要全面理解《全戰》系列的AI,必須從最底層開始,自下而上對整個系統進行探索——具體而言,就是從單個部隊的控制入手,逐漸延伸到能讓構成日本地圖的戰略系統方面。

AI控制下的單位行動

從某種意義上說,軍事單位也是《全戰》系列的核心:從近戰兵,到弓箭手,再到騎兵,根據兵種的不同,它們可以各自編組在一起。遊戲中,這些作戰單位不僅要保持陣型,而且要到處移動,並作為一個整體單位投入戰鬥。而對設計者來說,保證這些部隊能順利調動是一項有挑戰的任務,特別是它們穿越山脈和森林等各種複雜地形時。

▲人工神經網路的運作原理

為此,《全面戰爭》採用了人工神經網路(Artificial Neural Network)來管理遊戲中的單位。在AI設計中,為讓操控對象迅速做出期望的反應,人工神經網路是一種相當有效的手段。具體來說,在這種系統中,處理數據的是一個個「神經元」——即簡單的處理單元,它一方面從外界的來源接收數據,另一方面,這些來源又有著不同的權重。根據數據和權重的不同,它會自動得出最有利的結果,並以此來指引單位的行動。另外,在遊戲設計中,開發者可以通過一些手段,讓機器自己「學習」,並對相關數據的權重進行調整。一旦人工神經網路掌握了合適的行動方法,他們可以在瞬間做出反應。另外,「訓練有素」的神經網路還能學會類比:這意味著,它能根據之前的經驗,識別類似的情況,並做出在類似情況下最優的決策。

但另一方面,假如神經網路需要同時完成多個目標,其決策的效果卻常常不甚理想,當這些目標存在對立時更是如此。具體到遊戲中,其每支部隊都有不同的神經網路,不管控制這些單位的是玩家還是更高層級的AI,它們都會根據不同的命令採取不同的行動:如移動、躲避火力,堅守陣地等,但另一方面,在早期的幾部作品中,這些網路中的參數都是預先設定好的,並不會隨著遊戲過程自動調整或優化,所以,指望它隨著遊戲的進行變得精明,實際上也是不可能的。

戰術AI

如前所述,戰術AI控制的,實際是每場戰鬥中與玩家對戰的那些敵人。它們需要決定各個單位的陣型和行動。同時,他們還需要把不同的單位組織在一起,以實現特定的戰術目標,或是根據現有的地形和天氣對其進行調遣。

在戰術AI領域,《幕府將軍》採用的是一種邏輯系統。具體而言,在戰鬥中,AI會根據戰場系統提供的數據,做出各種相應決策。而其依據來自中國古代的兵書《孫子兵法》。

▲《幕府將軍》系列的戰術地圖

這就產生了一個問題,為什麼開發者會用中國上古兵書中的原則,來指導《幕府將軍》中的AI設計?一方面,這是出於真實性的考慮——在日本戰國時代,許多武將在指揮戰爭時確實會參考這本書;另外,對於遊戲本身來說,《孫子兵法》的內容確實有許多具體的指導意義,比如,其中便詳細闡釋了冷兵器時代、在不同戰場條件下、面對各種類型和規模的敵軍時,指揮官的應對策略,以及地形、天氣和士氣對作戰的影響等。

下面就是《孫子兵法》中的一些簡單例子:

「圍師必闕,窮寇勿迫」

「十則圍之,五則攻之,倍則分之」

根據《孫子兵法》中的原則,開發者最終設計了三種風格的戰術AI,以對應不同性格特點的武將,同時,在這些AI中,他們還嵌入了總共220條規則,它們綜合在一起,會導致各種各樣的戰術決策。在當時的即時戰略/戰術類遊戲中,它可以說是一個創舉。

▲誰能想到,《孫子兵法》充當了《全戰》誕生之初的AI行動指導原則呢?

CA社的開發總監麥克·辛普森(Mike Simpson)對此評論說:

「在當時,大多數遊戲使用的都是簡單的封裝行為腳本:舉個例子,當你的部隊沖向它們時,它們就會自動開火;同時,它們的進攻也缺乏章法,基本上就是一擁而上。這些AI的能力非常有限,更談不上模擬了真實的戰場環境。在這些遊戲中,你甚至不用反覆戰鬥,就能掌握擊敗敵人的辦法,這並不是我們想要的,我們理想的遊戲必須包含許多真實世界的戰術元素,其中敵人會非常狡猾,會隨機應變——雖然這讓製作變得異常複雜,但無論對我們還是玩家,它都有很大的意義。」

戰役AI

作為《幕府將軍》中的最高一層AI,戰役AI掌管的是戰略和外交系統:具體來說,其負責的主要是軍隊在戰略地圖上的調動,與其他勢力的外交活動,以及境內各種設施的建設等。

為讓每個不同的大名進行各種決策,開發者採用了兩種AI模式:其中之一被稱為「狀態機」,另一種被稱為「遺傳演算法」。所謂「狀態機」,簡單地來說,一旦某些條件滿足後,AI便會做出相應的反應,其中既不存在複雜的決策過程,也不會參照之前的決策及其後果,只是對周圍發生的事件作出反應。至於「遺傳演算法」則會對各個AI的行動進行一些因地制宜的調整。

▲《幕府將軍》中的戰略地圖

所謂「遺傳演算法」,實際是機器學習的一種形式,對於給定的問題,開發者會設置大量的候選答案,隨後,在處理問題的過程中,系統會通過嘗試,讓這些答案「相互繁殖」——或者說取長補短——最終得出最優的解答結果。在「繁殖」的過程中,由於環境不同、每個AI的具體設置不同,對同一個問題,系統可能會產生截然不同的解答。這導致在遊戲中,不同的大名對相同的處境,可能會做出不同的反應,這就賦予了它們截然不同的個性:這也是為什麼,在遊戲中,有的大名更願意和其它勢力進行和平交涉,而另一些則會傾向於動武。

中世紀:全面戰爭

在上述三個系統的相互作用下,AI在《全戰》中可以同時處理各種複雜的內容:比如讓玩家在控制各個小單位的同時,又能讓它們合在一起作為整體行動,並順利穿越各種複雜的地形。而這些在2000年、初代中便已確立的特點,也在系列的後續作品中得到了延續。不過,隨著時間流逝,玩家和開發者也發現了許多缺陷,正是因此,在《全面戰爭》的每部續作中,都會對其進行優化和改良,以求讓AI變得更加智慧。

其中的一個代表就是2002年的《中世紀:全面戰爭》,該作品將目光投向了從8世紀末一直到14世紀的歐洲,玩家可以操縱不同歷史時期的各種政治勢力。

總的來說,在《中世紀》較《幕府將軍》並沒有什麼重大的創新,其中只有一些優化和改進:其採用了改進的《幕府將軍》引擎,並允許玩家進行更大規模的戰鬥,而在AI方面,情況也是如此。比如,在微觀單位領域,經過本作的優化,它們再也不會在狹窄的區域(如橋樑)出現擁堵。另外,戰術AI的行動風格從三種增加到了九種,從而極大增加了戰鬥體驗的多樣性。按照一些評論家的說法,經過上述改良之後,《中世紀》已「近乎完美」。Rock Paper Shotgun的評論員羅博·扎科尼(Rob Zacny)就曾在2016年寫道:

「雖然我不確定,後來是否還有比它更為平衡的《全戰》系列遊戲。《戰國風雲(Risk)》式的地圖讓AI可以輕鬆地對領土進行管理,同時,每個國家不同的起始狀態可以讓一些AI在後期建立真正意義上的霸權,並給玩家帶來巨大的挑戰……總的來說,《中世紀》是一部簡潔但無比出色的作品,直到差不多10年後,才有能與之匹敵的《全戰》系列遊戲出現。」

▲前文提到的《戰國風雲(Risk)》是當年一款頗為風靡的老式桌游,它把世界劃成了若干地區,每個勢力控制並代表一個,其充當了後來許多策略遊戲宏觀戰略地圖的雛形

但另一方面,《幕府將軍》和《中世紀》只是一個開始,隨後《全戰》系列的發展之路並不太順利:後續幾部作品中,隨著遊戲體量擴大,開發者遭遇的挑戰也愈發嚴峻。在隨後幾年裡,CA社對《全面戰爭》的AI進行了一次重大的重組,至於其靈感來自玩家——確切地說,是各種民間的Mod製作組。

為其充當契機的,則是2004年上市的《羅馬:全面戰爭》,作為系列的第三部,這部作品中採用了3D化的戰略地圖,上面的兵模也實現了完全3D,至於歷史舞台則放在了公元前270年的義大利,當時,羅馬正從一個城邦成長為帝國。另外,在《全戰》系列的歷史上,《羅馬》也是一部分水嶺式的作品:它讓本作從一個相對小眾的策略模擬系列,正式變成了一部有驚人影響力的大IP。然而,在遊戲中也出現了不少瑕疵——其中最顯著的是戰役層面,隨著外交機制的內容變得更為豐富,挑戰也應運而生。具體來說,為了構建帝國,AI更多需要採取深思熟慮的長遠行動。但正如面前提到的那樣,在《全戰》系列中,戰役AI實際採用了一種名為「狀態機」的決策模式,其著眼點卻是當前的環境,而不是長遠的利益。這導致了許多或匪夷所思和背離歷史的決定。

儘管問題眾多,但瑕不掩瑜,《羅馬》仍然擁有大量粉絲群體。同時,這個系列對Mod的設計也非常友好:在早期版本中,遊戲的架構和數據都是開源的,因此,玩家很容易藉助工具進行修改,以滿足自己的需要。在眾多Mod中,許多不僅改善了圖像和操縱,還增加了許多新內容,甚至是構建了一個全新的世界:「羅馬崛起(Roman Surrectum)」和「羅馬:全面真實(Rome:Total Realism)」等就是其中的代表。

▲《羅馬:全面戰爭》採用了3D化的宏觀戰略地圖

另外,還有一些mod引入了其他題材,比如說戰錘系列和托爾金神話。不過,其中令人印象最深刻的當屬尼克·托馬迪斯(Nick Thomadis)開發的DarthMod,這一模組中不僅豐富了遊戲的內容和玩法,還調整了影響戰術和戰役AI的各種參數——對資深玩家來說,這可謂是一種福音:這些導致了許多新的戰鬥陣型和編組,同時AI的表現也更為積極和靈活。

▲作為《羅馬:全戰》做好的mod,DarthMod對原作的機制和內容進行了極大豐富

在《羅馬:全戰》發布後,CA社又趁熱打鐵推出了《中世紀2:全面戰爭》,從本質上說,它是利用《羅馬》的引擎對《中世紀:全戰》進行了一次復刻和改造。毫不奇怪,AI在其中問題依舊,雖然各種mod彌補了其中的一些缺陷,但它仍然提醒了CA社:《全戰》系列的AI需要重建。責編:容承糾錯

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT之家 的精彩文章:

阿里巴巴:80、90後已成制售假主力軍
黑莓掉頭:表示要專攻高端安卓市場

TAG:IT之家 |