建立海盜的天堂:盜賊之海的AI(一)
關於《盜賊之海》
Rare公司是英國遊戲產業的元老之一,30年來他們通過不斷革新、適應市場的變化得以生存下來。1990年代,為了和任天堂建立緊密的合作關係,他們為ZX Spectrum電腦開發產品。現在的他們是微軟旗下的內部工作室之一,為Xbox提供支援。2015年,在發行了三款Kinect Sports產品以及Rare Replay週年紀念合集後,這家工作室將全部注意力轉移到一個與之前大不相同的專案上,顛覆他們以往的遊戲型別和開發方式。
Rare開發《盜賊之海》的初衷是想做一個獨特的產品。實時服務遊戲是他們之前從未嘗試過的,但他們的設計意圖是以玩家為中心。玩家可以從不同的人物那裡領取任務,你可以優先玩自己喜歡的內容,按照自己的節奏進行,這樣可以最大程度確保遊戲的易上手性。作為回報,玩家不僅可以提高他們在不同幫派中的聲望,還可以賺取貨幣來購買各種各樣的新裝扮:一頂很酷的新帽子或假腿、一張漂亮的船帆,或者一個鑲金邊的水桶。玩家可以通過完成任務、擊敗骷髏堡壘、克服極為糟糕的航行天氣、跟陌生人一起演奏漁村民謠再喝上幾杯而獲得滿足感。
隨著時間的推移,《盜賊之海》已經形成了一個忠實的粉絲群體,他們持續在海上航行冒險,甚至可以挑戰最狂熱的傳奇海盜。這主要是歸功於Rare公司對遊戲的不斷擴充,遊戲發行後的8個月內就有四次大更新。2019年4月,遊戲週年慶的到來也揭開了今年的更新序幕:PvP模式、新的劇情以及新的遊戲玩法的引入。Rare試圖將這些新遊戲特色結合不斷優化的已有內容,從而增加核心遊戲玩法複雜程度。
《盜賊之海》內建有靈活多變的AI系統,並且會隨著每次更新而不斷豐富。雖然遊戲中所包含的還是較為傳統的類人敵對角色(如骷髏),島嶼上也是蛇、豬這樣較為普通的AI生物,但開發團隊的重點關注是不斷增加海洋環境中的威脅,它們可能會你和你的船造成嚴重傷害。他們不滿足於發行初期的鯊魚,2018年增加了海怪,巨齒鯊和幽靈船,它們的設定會隨著每次更新而優化調整。所有的這些內容都需要搭配能夠發揮平衡作用的系統,確保這個內建上百個AI角色的網路世界能夠保持穩定、處於掌控範圍之內,因為每臺伺服器上都有各種各樣的惡作劇在發生。此外,由於它是一個實時服務遊戲,專案需要保持能夠快速迭代的狀態,頻繁地釋出新內容,並確保遊戲對玩家來說是穩定的。所有的這些都是在開發團隊沒有過度加班的情況下實現的——AI甚至也在其中發揮了作用。現在,我們來從頭開始思考:在它們發展成可玩內容之前,《盜賊之海》是如何開端的。
建設AI系統
受到Rare工作室的邀請之後,我迫切地想要了解更多關於《盜賊之海》AI系統的資訊:不僅僅其本身,還有它是如何成為遊戲的最關鍵元素。遊戲採用的是Epic的虛幻引擎4,它不僅是電子商業遊戲最常用的引擎之一,而且在3A領域也享有盛名。
眾所周知,虛幻引擎在多人聯網玩法和跨平臺開發方面非常可靠——尤其是考慮到開發商打算在Xbox One和PC兩個平臺上發行這款遊戲並連線到Xbox Live,這一點至關重要。此外,虛幻4的AI工具合集可以說是所有可供開發人員使用的商業引擎中最強大的。它不僅提供了一套導航網格編輯工具——確保角色能夠在移動的過程中識別地形的變化——它還有行為樹系統,用於建立對遊戲中事件反應的通用表現行為。當《盜賊之海》開始製作時,環境查詢系統(EQS)還處於實驗階段——它用於檢視角色是否能被近距離看到或聽到,可以模擬感官輸入,並將效能開銷降至最低。然而,這一切對Rare的構想來說還是有所欠缺。只有骷髏和其它陸地上的AI角色(如豬、雞)是完全由原有的AI框架操刀的,當然Rare還進行了一點特殊加工。
這其中的一個重要的原因是遊戲的大部分場景都是在水裡,無論是四處游泳還是在船上,導航網格都無法提供支援——我後續會細講這點。幸運的是,人們可以接觸到虛幻4引擎的原始碼。這能讓開發者根據自己的需求定製水上導航系統,然後再套入引擎現有的導航框架,這一點我會在系列的第二部分展開。除此之外,我會在文章的第三部分講到海怪、幽靈船這樣的敵人也需要定製工具,這將使AI能夠以一種特別的方式執行——這在虛幻4預設條件下是不可能實現的。所以總結來說,Rare公司能創造出獨特的系統並契合現有的虛幻引擎AI工作流,同時確保工具鏈不會變得太難以管理。
讓AI適應任務設計
在我寫這篇文章的時候,《盜賊之海》已經發行一週年了。在這一年期間,遊戲中的主要活動有三個,它也們在遊戲玩法、任務構建和AI行為方面都有不同的需求和側重。NPC能夠讓玩家從三大貿易公司中獲取任務:
1.淘金者:你出航到島上挖寶箱,回來時要把寶箱交給淘金者,寶箱只有他們才能開啟。
2.商人聯盟:他們會要求玩家帶回指定的物品——有可能是豬、雞等動物,也有可能是朗姆酒、植物等貨品。
3.靈魂祕社:你需要去一個或多個熱帶地區,找到不死骷髏戰士,再次殺死他們,然後把他們頭骨賣掉。
這些任務都需要遊戲系統在執行時生成AI角色,以滿足任務需求。舉個例子,靈魂祕社任務需要骷髏出現在指定的島嶼中供玩家對戰,同時還需要設定一些高價值的打擊目標。淘金者和商人聯盟任務,骷髏戰士仍然會在特定的時間出現在島嶼上,成為你與戰利品之間的阻礙。另外,商人聯盟任務有的需要捕捉動物,遊戲就必須確保某些特定島嶼會出現動物,供玩家捕捉。隨著近期週年慶的更新,遊戲引入了第四家貿易公司“獵人召喚”,增加了捕魚機制以及伴隨而來的魚類AI。
在進行任務時,遊戲不僅需要確保這些角色在指定區域大量出現,還要根據玩家團隊的規模、任務地點、任務領取人的排名以及任務型別把握好目標數量和難度之間的平衡曲線。這就是程式生成發揮小作用的地方。
賞金獵人的數量——也就是有多少敵人和隊長——被限制在一組引數之內。任務會在購買後生成。所以當你使用金幣時,系統會決定你要去往遊戲世界的哪個地方以及你需要完成多少目標。賞金多少是根據島嶼特定區域內的特定目標所決定的。 如果你有多個懸賞目標,它們會給你帶來不同的戰術作戰經驗。比如說,你可能要在海岸邊打一場,而另一場是在洞穴深處,由此來達到一種平衡效果。
隨著時間的推移,每一種任務型別都在以自己獨有的方式擴充,這不僅為玩家,也為設計師製造了越來越多的挑戰。 這些任務鏈彼此獨立,允許玩家優先選擇他們喜歡的任務線,遊戲也不會因為他們從其它貿易公司獲取任務而給予懲罰或令他們犯難。因此,你可以在玩了幾個小時的靈魂祕社任務後為商人聯盟快速跑個腿,而且後續任務的規模和難度不會受到前幾個小時遊戲的影響。
但是從AI效能和多人聯網方面考慮,有個關鍵問題需要思考:這個伺服器上並不只有你一個團隊。這與我之前在研究《全境封鎖》AI時發現的挑戰類似,即遊戲必須平衡活動世界中的所有AI行為。在所有這些AI角色都在執行的情況下,你如何保持遊戲世界的良好效能表現?我們就這個重要話題在工作室討論了很久,儘管其中涉及的具體計算問題仍需保密,但我瞭解到了每個任務所需的AI角色僅在必要時大量產生,並且讓它們出現在離當下最近玩家千里之外的島上,或者讓玩家去往幾乎沒人會注意到它們的海域,從而避免浪費CPU和記憶體資源。這樣當一個船員正忙於獵捕巨齒鯊時,它不會影響到另一個在島上進行靈魂祕社任務的船員。像豬和雞等AI角色只會在船員足夠靠近、大概能看到時才會出現。除此之外,與玩家同處一島的豬、蛇和骷髏,在非戰鬥狀態下或者人類玩家視線之外往往會進入休眠狀態。這是一種安全的策略,可以最大程度減少伺服器端不必要的計算(因為大概也沒有人會去注意這些角色的情況),從而釋放資源,留給其它更值得用的地方。
我們將在接下來的系列文章中看到,這種設計理念同樣適用於骷髏船、巨齒鯊和海怪。然而,這些系統的規則都具有唯一性,且基於完全獨立的服務和行為系統之上。
總結
將這種恃強凌弱的冒險帶給玩家聽起來像是一項艱鉅的任務,但這僅僅是個開始,我仍有許多令人興奮的話題要討論。
- 骷髏AI的行為樹結構,以及它們是如何設計成與玩家一樣的行動模式。
- 鯊魚的導航系統有哪些獨特之處?
- 海洋深處最致命的威脅:巨齒鯊、海怪和骷髏。
- 好了,我們終於要開始分析自動化測試框架了——它能夠讓Rare在開發過程中對遊戲進行廣泛測試,將bug大幅減少,在遊戲發行前後更快更流暢地部署遊戲。
作者:Tommy Thompson
譯者:Willow Wu
來源:遊戲邦編譯
原譯文:https://www.gamasutra.com/blogs/TommyThompson/20190604/343937/Building_a_Pirates_Paradise_The_AI_of_Sea_of_Thieves_Part_1.php
相關文章
- 建立海盜的天堂:盜賊之海的AI設定(二):骷髏和鯊魚AI的祕密AI
- 建立海盜的天堂:盜賊之海的AI設定(三):巨齒鯊、海怪和骷髏船的AI執行AI
- 《盜賊之海》的「鹹魚」翻身記
- win10系統盜賊之海如何設定中文_win10盜賊之海調整中文語言的步驟Win10
- win10玩盜賊之海卡頓怎麼辦_win10玩盜賊之海卡頓如何解決Win10
- win10玩盜賊之海閃退如何解決_win10中盜賊之海總是閃退解決教程Win10
- win10系統盜賊之海無法開啟怎麼辦_win10打不開盜賊之海遊戲如何解決Win10遊戲
- win10商店找不到盜賊之海怎麼辦_win10系統商店搜尋不到盜賊之海遊戲如何解決Win10遊戲
- 《盜賊之海》Steam銷量超100萬 總玩家超1500萬
- 盜賊之海為什麼連不上伺服器?win10登入盜賊之海出現連線不上伺服器怎麼解決伺服器Win10
- 我與海盜派
- Steam一週銷量排行榜:《盜賊之海》登頂 《命令與征服》重製版第二
- 《盜賊之海》上線兩年來全球玩家使用者數量已經突破1000萬
- Win10系統玩盜賊之海遊戲出現語音失效不能用如何解決Win10遊戲
- 萬億候蘋果,1000000000000 美元的海盜公司 | 摸魚系列蘋果
- 成為海賊王的男人
- 海盜旗的高逼格,知乎的星辰大海,2.7億美元算什麼?
- 我的第一張AI海報AI
- 《影子詭局:被詛咒的海盜》:如何鼓勵玩家勤用S/L大法?
- IGN給4分的《魂鬥羅:盜賊軍團》,是系列最糟糕的一作
- PostgreSQL技術週刊第2期:用PostgreSQL解海盜分金問題SQL
- 百練4124:海賊王之偉大航路(狀壓DP)
- 《海盜法則》揚帆海外市場 這款TapTap期待值9.1分的海戰輕競技手遊如何做創新?APT
- MySQL - [06] 海賊王測試資料MySql
- [經典演算法]海盜分金問題sql求解(貪心演算法)演算法SQL
- 3步get加勒比海盜同款身份證 元宇宙如何玩轉世界公民元宇宙
- 《海盜來了》瘋狂遊戲,如何用資料搶佔小遊戲市場遊戲
- 美團服務體驗平臺對接業務資料的最佳實踐-海盜中介軟體
- TP5開發海賊王版2048遊戲遊戲
- 【Laravel-海賊王系列】第十六章,Builder 解析LaravelUI
- 盜版軟體的危害
- GraphQL-Go-onepieceAPI:用Go語言和GraphQL開發的海賊王APIGoAPI
- 非凡效能 統治全場:海盜船 DOMINATOR TITANIUM統治者泰坦DDR5記憶體記憶體
- 華為的浮槎:用雲與AI渡過時代之海AI
- 海賊女帝3D列印模型免費分享3D模型
- 《海賊王》全球人氣角色投票100~21名揭曉
- MyAnimeList:日本漫畫排行榜 《海賊王》排第3
- 【Laravel-海賊王系列】第一章,從index.php開始LaravelIndexPHP