現在,你可以親手調教一個AI,帶它攻陷《星際爭霸2》了!

2021-01-14 果殼

1. AlphaGo的親爹deepmind和暴雪聯手開發了個新的接口,可以訓練AI打《星際爭霸2》了。


2. AlphaGo能來得了這個麼?不能,打遊戲比下棋複雜多多多了。


3. 這接口分兩個部分,一個是暴雪給AI定做的訓練場,可以讓AI以人類視角進入遊戲;另一個是deepmind打造的「通關攻略」,可以調教AI逐漸變強。


4. 普通玩家感興趣的話也可以按照這個教程免費下載試試,不會寫AI的話也有別家的AI打遊戲的視頻可看~


5. 在這個系統的調教下,有人的AI已經可以打過電腦了!


6. 順便一說:隔壁OpenAI做的dota2 AI已經打敗了世界頂級職業選手喲~


作者:歐剃 

編輯:Lyroat


最近,Google旗下的人工智慧團隊,AlphaGo的親生父親Deepmind宣布和暴雪娛樂合作,並放出了《星際爭霸2》的應用程式接口(API),讓AI能夠在即時戰略遊戲環境下進行機器學習。

那麼,AI這就要進軍電子競技了嗎?還有,這個API到底是什麼?我們能玩嗎?好玩嗎?該怎麼玩?

近年來,遊戲開發巨頭暴雪娛樂一直和開源社區有著不解之緣,除了為一些開源軟體貢獻了代碼之外,暴雪的開發團隊先後公開了《魔獸世界》、《暗黑破壞神3》的遊戲數據查詢API,還開源了《風暴英雄》和《星際爭霸2》的遊戲回放處理編輯代碼庫。

2016年,暴雪在嘉年華上承諾放出《星際爭霸2》的遊戲API,而在第二年8月9日暴雪就實現了自己的諾言[1]。

圖片來源:暴雪娛樂

另一方面,人工智慧團隊Deepmind從深度學習等人工智慧研究的前沿領域著手,在訓練AI玩Atari遊戲機、走迷宮等項目之後,通過卓越的圍棋AI「AlphaGo」連續擊敗多名世界圍棋頂級高手,一鳴驚人。此後,DeepMind官方就表示將研究方向轉向即時戰略遊戲,而首選的就是《星際爭霸2》[2]。

不,並不能。

按圍棋規則訓練出來的AlphaGo很難應對《星際爭霸2》這類即時戰略遊戲

首先,在《星際爭霸2》中,玩家既要擁有快速的戰術微操能力,還要有足夠高的戰略規划水平。如果說圍棋每步的可能性有19✕19=361種,那在即時戰略遊戲中玩家用滑鼠點擊下達命令的每步可能性則將超過100000000種,還不包括不同的建築順序、放置布局、兵種搭配和科技樹順序等等。

而且,對於圍棋來說,全盤的信息是完整的,所有的推測可以根據盤面的情況來進行。但在即時戰略遊戲中,由於有「戰爭迷霧」這種設定,玩家只能看到自己的部隊探索或佔據的區域,AI所能獲取到的信息是不完整的

所以對於未知領域的計算就更加困難了,於是Deepmind決定開發新的應用程式接口來進行AI在即時戰略遊戲上的應用。

可以看到,這兩種遊戲在玩家獲得的信息方面的不同。圖片來源:維基百科、《星際爭霸2》遊戲截圖

這次的放出的接口,全稱叫「星際爭霸2機器學習環境」(StarCraft II Learning Environment,以下簡稱SC2LE),它並不是一個玩家直接打開就能玩的Bot(遊戲AI),而是一個讓程式設計師能用來「訓練」人工智慧的基礎環境。和非人工智慧的程序不同,人工智慧程序並沒有硬編碼了「要怎麼做」的代碼,必須通過機器學習的「訓練」過程來找到最優的解決方案。

作為一個更新穎也更具挑戰性的機器學習環境,SC2LE由兩個部分組成:

SC2LE結構圖:星際2客戶端本身(左側黑色)是核心,通過API和PySC2進行溝通,聯合成一個整體,玩家的AI(右側Agent)通過PySC2得到各種觀察結果和反饋,然後做出具體的行動命令,以模擬人類操作的方式,輸入進PySC2裡,形成一個具體的遊戲操作。圖片來源:Deepmind SC2LE介紹 

這裡的「強化學習」,是一種基於決策和交互的機器學習方式。在「訓練」過程中,程序針對當前需要解決的問題,建立一個模型,然後基於當前環境給定的各種規則和條件作出決策,並且通過探索各種可能性,根據獲得的反饋(可能是「獎勵」或「懲罰」,比如成功開了分礦,或者在戰鬥中損失了一支部隊等等情況)來調整下一步決策,通過不斷的試錯和修正,來尋求最優的對策。

通過這樣的方法,訓練出來的AI能夠以模擬人類觀察和操作的方式來進行遊戲,而不是靠直接讀取遊戲數據和APM碾壓的作弊辦法。是不是很有挑戰性?

這種高端的項目,是不是只有程式設計師才能使用?

不,即使你不是程式設計師,也能玩這個東西!而且我可以負責任的告訴你,這並不難!

首先當然是通過暴雪遊戲平臺,下載星際爭霸2的客戶端。如果你已經有了能進遊戲的客戶端,那就不需要額外下載了。另外,免費版也可以運行AI程序。

其次是要準備好代碼運行所需的軟體環境,也就是 Python 語言的解釋器。這可以在 Python 開源項目的官方網站上下載: www.python.org

接下來,我們先看暴雪放出的代碼[4]:

在下載區,前三個是API的編程說明書、C++的代碼庫和Linux版的《星際爭霸2》AI用客戶端——不是程式設計師的你可以安全的忽略它們。第四個是地圖包,第五個是65000個遊戲回放數據。如果只是想看看AI怎麼玩,並不打算實際調教一個AI的話,你只需要下載幾個地圖包即可。下載後解壓壓縮包裡的東西到星際爭霸2的 StarCraft II/Maps 文件夾裡,解壓密碼是 iagreetotheeula 。

解壓完之後,你的 StarCraft II 文件夾裡應該有這些子文件夾:

然後,你需要從 Deepmind 的開源頁面上安裝PySC2模塊[5]。

如果你已經裝好了 Python 環境,只需要在系統的「命令提示符」裡輸入以下命令就可以在聯網狀態下一鍵自動完成安裝了:

pip install pysc2

最後, PySC2 還提供了一套測試基本AI學習功能的「迷你遊戲」的地圖包,在Deepmind的github頁面上可以下載到 ,將其放進 Maps 文件夾裡即可。

安裝好了最基本的SC2LE運行環境後,你就可以通過 python 命令激活一個新的AI開始遊戲了!

在命令提示符輸入以下命令,就可以打開一場新遊戲,看AI的行動了:

python -m pysc2.bin.agent --map Simple64

上面的命令是在一張簡單的1v1地圖上,用一個隨機AI進行遊戲。如果你裝了上面的「迷你遊戲」地圖包,還可以調用 Deepmind 已經調教好的範例AI玩收集資源的小遊戲:

python -m pysc2.bin.agent --map CollectMineralShards --agent pysc2.agents.scripted_agent.CollectMineralShards

遊戲效果如下:

背景是遊戲畫面,而中間我切出來的那個窗口則是PySC2本身的AI工作窗口,裡面顯示了從AI的角度所看到的遊戲數據是什麼樣的。

動圖閃太快看不清?讓我們開一局新的完整遊戲看看:

上圖左邊是經過簡化的遊戲圖像,可以看到中間(大綠圓)是星靈的樞紐(Nexus),帶著一群探機(小綠圓)在採礦(藍圓)。右側則是各個分層數據,包括地形高度、當前視野、小地圖數據,當前窗口上的各個單位類型、血量,已選中的單位數據等等。圖片來源:SC2LE程序界面

過了一會,顯然目前的實驗AI基本就是亂來:

建造順序和建築擺放的方式可以說是十分混亂了。 圖片來源:SC2LE程序界面

根據deepmind的資料顯示,目前各家訓練開發出來的AI(PySC2中附帶了好幾個不同的範例)在完成採礦、控制單位移動、造兵等基礎操作方面沒有太大的問題,但在整個遊戲上還很難和暴雪內置的簡單敵人抗衡。大部分的AI能做到的都只是機械的隨機重複已有的行為而已。看來要玩的好,這門檻也還不低啊,想要「做一個AI打敗電競高手賺錢」還是挺任重道遠的。

目前,表現優秀的是加拿大紐芬蘭紀念大學計算機科學系助理教授大衛·邱吉爾(David Churchill)開發的AI:CommandCenter,它雖然只會一種固定套路,但已經幾乎能打敗暴雪內置的簡單電腦敵人了[6]。

你現在下載這個軟體,也可以在你電腦上模擬一場:


這盤,被CommandCenter殺光農民的電腦敵人打出了gg。 圖片來源:星際爭霸2AI運行截圖

大衛·邱吉爾表示,接下來他將讓這個AI學會建造附屬建築、適時升級相應的科技,未來還會嘗試讓AI能對戰鬥情況進行預判,以及在主動進攻、積極防禦、遊擊騷擾等策略中靈活選擇。

最後,Deepmind和暴雪在SC2LE的發布說明中表示,希望通過這次開源的代碼和範例,能給廣大星際玩家和自製AI愛好者提供更多的便利,更好地發揮出創造力,也希望能給人工智慧領域的研究者一個更強有力的研究工具,以便推進未來人工智慧技術的發展和進步。或許在不久以後,我們就能看到星際爭霸AI版的《機器人大戰》節目了吧?

在《機器人大戰》這個暴露年齡的節目中,參賽者用自己製造的機器人下場決鬥,把對方摧毀的一方獲勝。圖片來源: Battlebots.com

無獨有偶,8月12日早上,特斯拉老闆伊隆·馬斯克(Elon Musk)旗下的人工智慧OpenAI在Dota2的1v1比賽中,以三戰兩勝的成績首次擊敗了人類職業選手Dendi。

被AI單殺的Dendi小哥。圖片來源:Dota2比賽視頻

據OpenAI團隊介紹,他們的AI並不是靠微操數量取勝,他們的AI通過自己和自己比賽的機器學習方式,花了兩周時間達到了目前的水平。

不過,雖然這個AI看起來比星際2的AI厲害了許多,但這種控制單一英雄、中路對單的Dota 2裡,AI需要處理的信息和進行的操作都比完整的星際2對戰簡單很多,表現良好也算是情理之中。

在此之前,這個AI也打敗過SumaiL、Arteezy等職業選手。不過OpenAI CTO Greg Brockman表示,1V1的勝利並不是他們的最終目的,OpenAI希望能在2018年的國際邀請賽上與職業選手進行5V5的比賽。說不定到時候的全明星賽將會是一場新紀元的人機大戰!

不知道OpenAI會不會開源相關代碼,讓我們一飽眼福呢?對於電競玩家來說,能夠和人工智慧對戰還是非常令人期待的!

參考資料:

http://us.battle.net/sc2/en/blog/20944009

https://deepmind.com/blog/deepmind-and-blizzard-open-starcraft-ii-ai-research-environment/

https://deepmind.com/documents/110/sc2le.pdf

https://github.com/Blizzard/s2client-proto

https://github.com/deepmind/pysc2

https://github.com/davechurchill/CommandCenter

https://blog.openai.com/dota-2/



想了解更多遊戲裡的小知識嗎?

快來關注↓↓↓

ID:geekgaming

有哪些你不知道的奇葩小遊戲?

遊戲會讓你變得更聰明嗎?

《王者榮耀》的英雄蘊含著哪些現代科技?

遊戲,一部時代的科學史

更多文章,掃碼既看

如有投稿或合作意向可發至geekgaming@163.com郵箱

相關焦點

  • Deepmind AI在《星際爭霸2》血虐99.8%人類,登頂宗師段位
    在遊戲早期採取的行動可能在很長一段時間內都不會有回報,所以它會鍛鍊AI的長線思考能力。 「對人類來說,星際爭霸是最難玩的遊戲。就像是一個人下象棋的同時還要踢足球。你需要高度集中的注意力、超人般的手指和胳膊、以及超出常人的戰略頭腦。」
  • > 星際爭霸2
    TAG標籤:星際爭霸2發布時間:10-16 作者:liyunfei 但是在地球上,10年意味著一個的時代。玩家們痴迷於這款有史以來最受歡迎的遊戲之一,它也在... TAG標籤:星際爭霸2發布時間:07-28 作者:官方
  • 現在,你可以在《星際爭霸2》裡體驗高清版《暗黑破壞神2》了
    雖然在2000年的時候,暗黑2的畫質足夠出色,但以現在的眼光來看,這樣的畫質也已經落伍了——不過,在一群巧手玩家的努力之下,這條時代的鴻溝正在被漸漸填平:一款名為「崔斯特瑞姆的詛咒:毀滅終結」(The Curse of Tristram: Destruction’s End)的Mod,正致力於在《星際爭霸2》中重製暗黑2。
  • 星際爭霸2人類1:10輸給AI!DeepMind 「AlphaStar」進化神速
    為什麼是"星際爭霸 2"?比賽前期,DeepMind 與暴雪就聯合發布了關於此次比賽的重磅預告:將在北京時間周五凌晨 2 點展示 Deepmind 研發的 AI 在即時戰略遊戲星際爭霸 2 上的最新進展。如今,這個進展終於揭開神秘面紗。而 DeepMind 開發星際爭霸 2 AI,最早可以追溯到 2016 年。
  • 《星際爭霸2·虛空之遺》通關劇情疑洩露
    一位來自Reddit的網友爆料(查看來源),在暴雪即將上線的新遊戲《風暴英雄》數據中,一段關於《星際爭霸2·虛空之遺》劇情等相關描述的數據潛藏其中。其中提及了《虛空之遺》戰役最終關劇情以及神族英雄阿塔尼斯的介紹和描述。
  • 早年的星際爭霸AI有多暴力,15000APM直接把職業選手打傻了
    可能有玩家不太好想像10000APM是什麼樣的水平,這麼來說吧,在《星際爭霸2》當中,新手玩家的APM大概在30-40之間,對於遊戲快捷鍵基本已經熟悉的大概能到達60左右,而如果你的APM能到90,那麼就可以用神族暢遊國服鑽石組問題不大,當然如果你玩的是蟲族或人族的話可能就得120的APM。
  • 星際爭霸1的平衡性真的做得比星際爭霸2好麼?
    反觀現在,《星際爭霸2》從誕生開始,平衡性就一直飽受爭議,所以在不少玩家心中就產生了一種《星際爭霸1》的平衡性要比《星際爭霸2》好得多的感覺。那麼20年前的《星際爭霸1》平衡性真的要比10年前的《星際爭霸2》要好麼?今天大麥就來說說這個問題。
  • 2020年,你為什麼還在玩《星際爭霸2》?
    2007年,暴雪在韓國首爾舉辦的WWI(暴雪全球邀請賽)上正式公布了《星際爭霸2》,堪稱萬眾期待。 本周,《星際爭霸2》迎來了自己的十周年,暴雪官方也為玩家帶來了眾多十周年福利,Bright菌就給大家隨便看看侃侃這次十周年有什麼新玩意。
  • 星際爭霸2戰役中出現過的有趣的彩蛋,有些會讓你大吃一驚!
    星際爭霸2目前已經出了三個資料片了 每個資料片其實都隱藏了很多彩蛋,可以說大多數的地圖中都可以看到這類的彩蛋。暴雪的員工一方面希望彩蛋不被人發現,另一方面也希望在發現時給大家一個驚喜,可以說暴雪的彩蛋基本上每一關都會有大家只要留心尋找查看地圖上的細節都可以找到,目前戰役裡大多數的彩蛋都已經被大家挖掘出來,那麼這次就帶大家看幾個比較好玩的彩蛋以及他們和彩蛋相關的背景故事,就權當一個小科普讓大家不會再看到這些信息的時候卻因為不知道是什麼意思而錯過。
  • 網易星際2調研:星際爭霸vs光暈 異曲同工的經典
    都是星際系列的遊戲,也都在2010年下半年推出全新的作品,星際爭霸與光暈有著怎麼樣的聯繫呢?那就讓網易帶您走進本期的星際2調研,一起去探究下這2個遊戲的對比。《Starcraft2:Wings of Liberty》:無獨有偶,在PC平臺上,也有一款以宇宙戰爭為題材的遊戲作品風靡全球,並且和光暈一同被評為「史上最優秀的12款經典遊戲」。它就是星際爭霸,一款RTS遊戲領域的神作,不僅在上市12年之後依然在全世界擁有廣泛的流行度,甚至還開創了遊戲作為競技類體育項目的先河。
  • 星際爭霸2人族單位介紹,這波你收好了嗎?
    最近小編在空閒之餘,拉著自己的好朋友徵戰星際爭霸2的戰場。奈何小編的朋友們也只是瞻仰著星際的榮光,卻沒有正式的玩過。被小編慘虐了幾局便不肯繼續玩。我相信各位和小編一樣也是深有感觸,不妨讓你的朋友們看看小編的這篇攻略。沒準你的朋友就突飛猛進了呢。
  • 星際爭霸2停止付費內容更新,老遊戲的宿命只能是停服嗎?
    星際爭霸2停止付費內容更新,老遊戲的宿命只能是停服嗎? 最近暴雪宣布將停止對《星際爭霸2》的付費內容更新,用更形象的話來說,《星際爭霸2》正式宣告死亡,暴雪沒必要對一款不賺錢的遊戲付出大量人力更新,之後僅做維護!當然也沒必要為一款低人氣的遊戲舉辦賽事。
  • 原來感染者可以這麼用 星際爭霸2蟲族冷知識
    人族、神族、蟲族,在《星際爭霸2》三大種族中,你最喜歡哪個?眾觀如今的賽場,蟲族當道的節奏頗為的壯觀。忽略蟲族的體型和外觀,光是它的單位生產能力,就足矣讓有密集恐懼症的人望而生畏了。今日的主角就是蟲族中的感染者,它在戰役中的作用,你都懂了嗎?
  • 星際爭霸2:人族笑傲三族的資本,淺談星際爭霸2中人族的3M戰術
    前幾天囧王者寫到《星際爭霸2》中,人族在對陣蟲族和神族時候的各種開局和戰術套路。其中我經常提及到的幾個戰術,一個是兩船兵戰術,一個是MMM戰術,還有一個是MMMG戰術。有許多剛接觸這個遊戲的小夥伴在問,什麼是人族的MMM戰術,我手比較殘APM只有100左右,能用這個戰術嗎?
  • 《星際爭霸2》指揮官等付費內容不再製作
    《星際爭霸2》官方網站發布公告宣布,不再為《星際爭霸2》製作指揮官、戰爭寶箱等額外付費內容,但會繼續為遊戲提供賽季更新和平衡性調整。
  • 星際爭霸2:英雄聯盟和絕地求生玩膩了?來玩玩更硬核的星際2吧
    其他遊戲無論是MOBA還是吃雞,都只要操控一個角色,並注意補刀,搜刮物資,做出合理的出裝應對,注意釋放技能和CD即可。而星際爭霸就複雜太多了,在這款遊戲中,你不再是操控一個角色,而是操控高達200個人口的作戰單位;各個單位還有相應的前置條件和升級步驟;大多數單位還有各自的技能和克制關係;單位與單位之間,還分地面,地下,空中和隱形單位之分。因此從操控上來說,星際爭霸要遠比MOBA和吃雞遊戲複雜得多。
  • 《星際爭霸2》星靈舌戰視頻:論是否該為艾爾而戰
    《星際爭霸2》星靈舌戰視頻:論是否該為艾爾而戰 時間:2015-09-26 06:22:35 來源:3DM新聞組-Cassander
  • 魔獸爭霸3有驅散,為什麼星際爭霸2沒有?人口數量是關鍵因素
    相信有很多玩魔獸爭霸3和星際爭霸2這兩款遊戲的玩家,這兩款遊戲一對比的話,玩家們很容易發現在魔獸爭霸3裡面有驅散這個技能,但是在星際爭霸2沒有驅散的機制,這是為什麼呢?接下來我們一起分析一下。
  • 星際爭霸1比星際爭霸2更加容易翻盤,這是為什麼呢?
    玩過星際爭霸1和星際爭霸2這兩個版本的老玩家,通常會發現,星際爭霸1比星際爭霸2更有可能翻盤。這究竟是為什麼呢? 首先是內置時間,在星際2當中,內置了時間系統,選手們可以在遊戲界面更好的判斷適當的timing。
  • 星際爭霸:就腦力和體力而言,圍棋與星際爭霸誰的要求更高?
    但是我對星際爭霸非常熟悉,最好的成績是曾經CPGL的全國第八(小小的自我吹噓一下),雖然現在已經不怎麼打天梯和排位了,但空下來的時候還是會玩玩The BigGame Hunter和Lost Temple的。儘管我是一個星際爭霸玩家,儘管星際爭霸已經是站在了電子競技遊戲鄙視鏈的頂端了,但我依然認為就腦力和體力而言,星際爭霸對於玩家的要求要遠低於圍棋。