有哪些遊戲運用了人工智慧、機器學習等智能演算法?效果如何?為何智能演算法還沒有大規模地在遊戲中運用?

我玩過一款叫2006年的遊戲叫facade的遊戲,遊戲中使用了自然語言處理和人工智慧的演算法,在遊戲中我可以打任何語句跟主人公(主角是個女的,所以你懂的)對話,可以調情、開玩笑,當然做得過火了會被她趕出去,當時就覺得這遊戲太吊了,如果NLP和DP Learning以後大規模的在遊戲界運用,應該會誕生出很多自由度更高、更真實的產品。但是直到現在也沒有聽說哪款遊戲運用了智能演算法做核心機制。

本題已加入圓桌 ? 人機對弈終章,更多「AlphaGo(阿爾法圍棋)」相關的話題歡迎關注討論


既然你提到了Fa?ade,那可以進一步了解一下用到了增強學習,曾斬獲不少學院派遊戲大獎的《黑與白》(Black and White)。

《黑與白》圍繞增強學習的特點打造核心玩法,讓玩家扮演反饋提供者的角色,通過上帝視角的扇巴掌和戳怪物等反饋,來影響遊戲中各個生物的表現,從而培養出有複雜行為能力的智能生物。遊戲中的生物使用一種圍繞信念-慾望-意圖設計的行為框架,把遊戲物件、生物要達成的目標、以及達成目標所需的行為樹聯繫起來,產生出複雜的生物表現。

總的來說,一般遊戲使用機器學習技術的思路有兩種,一種是利用「學習」能力,即讓AI適應玩家或者模仿玩家,也是這裡《黑與白》所使用的,但玩家能給出的學習樣本是非常有限的,很難保證效果到位;另一種是利用學習後得出的「成果」,即得到能解決某一特定問題的強力AI,但未必能給遊戲本身的娛樂性帶來太大的提升。

單純使用機器學習的「成果」部分來提升遊戲AI水平的學術研究已經有很多了,但一般而言一個模型只能用來解決複雜遊戲中的一個子問題,比如《文明》中的城市選址,《Quake》中特定模式的最佳團隊策略等。各方面都採用機器學習技術來打造AI也不是不可能,但是相比傳統的狀態機行為樹等做法,提升的只是AI的實力,服務的只是少部分核心玩家,付出的開發成本(時間、技術人才、試錯)卻一定不少。

傳統遊戲AI的一個特點是強調可預測性(predictable),一方面是讓玩家能夠通過AI的表現很容易地倒推出AI的行為準則,然後在了解其規律的基礎上找尋更好的解法,從而提升自己的遊戲水平;另一方面具備強可預測性的AI能保證在動輒以十萬為基數的玩家群體中,不會出現難以預料的極端情況破壞體驗,比如無限關卡馬里奧就需要保證不會因為隨機組合而出現玩家理論上不可能通過的障礙。遊戲希望的是,玩家敗給AI是因為沒找到它的弱點,而不是單純因為AI不可戰勝,這點與提升AI實力的做法是背道而馳的。

機器學習做遊戲AI也不是唯一出路,有在遊戲的迭代檢驗部分運用相關技術的可行性。比如我做一款類似星際爭霸的遊戲,裡面存在遊戲策略的相互克制關係,那我可以通過多個機器學習模型之間的競爭去提前演算出「天梯環境」的變化,對遊戲平衡有一個直觀的感受;比如上面提到的無限關卡馬里奧等用到過程內容生成技術的時候,結合機器學習技術來進行動態難度調整(DDA),而非設計師的腦補。在這些方向上,機器學習更像是設計師的一種工具,運用在生產過程中,而不是遊戲本體中,用來減少設計偏差,從而控制遊戲質量。

既然用機器學習提升AI的實力沒有多少實際運用的意義,真正能讓機器學習技術在遊戲中作為核心地位來使用的,還是要靠遊戲玩法上的突破性不可替代性來支持。利用機器學習本身的「學習」能力而不是學習成果,去徹底改變玩家與遊戲的互動方式。

《黑與白》已經是一個很具開創性的方向了,但現在遊戲圈大環境浮躁保守,外加本身的技術門檻,這部作品後數十年都沒有值得一提的後來者出現了。等傳統玩法消磨殆盡,機器學習的技術進一步普及以後,或許遊戲行業會往這上面去做突破吧。

不算參考資料的參考資料:

(機器學習給PCG做DDA)Jennings-Teats, M., Smith, G., Wardrip-Fruin, N. (2010, October). Polymorph: A model for dynamic level generation. In Proceedings of the Sixth AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment (pp. 138-143). AAAI Press.

(增強學習-文明4城市選址)Wender, S., Watson, I. (2008). Using reinforcement learning for city site selection in the turn-based strategy game Civilization IV. 2008 IEEE Symposium On Computational Intelligence and Games. doi:10.1109/cig.2008.5035664

(遺傳演算法迭代FPS團隊策略)Liaw, C., Wang, W. H., Tsai, C. T., Ko, C. H., Hao, G. (2013). Evolving a team in a first-person shooter game by using a genetic algorithm. Applied Artificial Intelligence, 27(3), 199-212.


如果是說AI方面的話,那其實沒有必要,我只想說——遊戲AI和傳統AI是兩個領域。

遊戲AI主要有兩方面,一方面是關卡設計方面(包括怪物AI之類的),可以稱之為「對手型AI」;一方面是題主你說的NPC的人工智慧問題,可以稱之為「交互型AI」。

2013年的時候,我們做手游做了一個火紋Like的手游(結果沒上就掛了),在那個遊戲中,我研究了很多AI的演算法,還有戰棋類SLG的玩法、經典戰術等(包括火紋、曹操傳、夢幻模擬戰等遊戲,我研究了很多玩家的玩法),我最初的目的是製作出一個非常牛逼的AI,讓玩家難以戰勝,並且我做到了,AI的一些走法讓人感覺妙不可言,但是後來我還是否定了這樣一個AI,因為遊戲AI並不是要聰明到讓玩家驚訝甚至無法戰勝的,遊戲AI終究是陪玩家玩的,好的遊戲AI是讓玩家能夠摸出規律的。從理論到現實中,我們也看到了,一般的神作AI都是有規律可循的,其實這個規律讓玩家能夠摸透,就是一種玩法,玩家利用對於AI的理解,安排打法戰術,通過訓練最後戰勝AI甚至可以完勝,這時候才是玩家玩遊戲最佳體驗的時候。所以玩家真正想要的對手型AI並不是那種「特別聰明」的,於是我帶著這個思路重新審視了這些遊戲的AI,發現他們的確也是故意做的有規律可循的,我想這就是「對手型AI」應有的調性(Motif)。

而交互型AI,我們也曾努力嘗試去研究,期望讓遊戲能營造出一個更真實世界的體驗,我們相信未來有一天AR的時代到來的時候(但我卻從不看好VR,[深入思考]現代VR遊戲的致命傷在於應用情景 - GameRes遊資網),我們會需要這樣的AI去做遊戲(或者是遊戲化)。但是這個想法就今天而言,距離「合適」還有很長的時間要等待,於是我們姑且說今天的交互型AI,為什麼我們沒有去用Deep learning來做呢?我們拋開實現難度等問題,只能說——這樣的AI是有趣的(fun),但是它並不能讓用戶對遊戲產生依賴性(hooked),也並不能很好的幫助遊戲培養用戶習慣(遊戲最終粘稠住玩家的手段和賭博是一樣的——培養習慣)。我們曾經思考過遊戲化培養習慣的方案,其中有多人交互的方式(類似匿名戒酒社、傳教等模式),也思考過是否AI終究能在某些環節代替人,但是我們發現這種就是一個偽命題,因為人真正想要的社交是人與人之間(比如陌生人的陌陌、熟人的微信)的。

所以這個問題的答案,我只能總結為——遊戲AI和傳統AI並不是一個領域的。


使用機器學習並不意味著必須做一個端到端的東西

另外,能成熟用起來的傳統演算法通常會被大眾開除出人工智慧的行列


我不完全贊成其它答案里說遊戲不需要AI太聰明的說法,我認為現在沒聽說哪個遊戲用上智能演算法的原因是開發一個遊戲AI的成本太高,而成本太高的原因是遊戲上的人工智慧技術還不成熟。

我在為一款MOBA遊戲做遊戲AI,已經做了一年半了,可能是國內花時間在這方面最多的人之一。在玩家測試的過程中,我發現玩家其實是對高質量的機器人對手有需求的。因為MOBA遊戲的平均勝率永遠只能是50%,一定會有許多玩家因為贏少輸多而流失。另外很多玩家是很難接受80%以下的勝率的,玩家匹配沒法滿足他們的這個需求。所以無論是Dota2還是LOL,都有一批忠實於人機對戰的玩家。

而且如果你玩過王者榮耀,可能發現AI還有另一個用處,在這裡就不細說了。

另外對於策略類遊戲,現有的遊戲的AI明顯是過於弱了。例如文明系列、鋼鐵雄心系列、三國志系列,甚至已經弱到了影響後期遊戲體驗的地步,你把城市託管給電腦,它能給你管成一坨屎。雖然這些遊戲可能確實不需要有多強的AI,但也不意味著它們現在的水平滿足玩家的需求。

AI強和AI是陪玩家玩的並不矛盾,強大的AI可以陪更多水平層次的玩家玩,對於水平比較菜的玩家,只需要把難度調低就行了。

但是開發一個好的遊戲AI成本不低。

如果用傳統的行為樹和狀態機,那麼一個複雜的遊戲AI對程序的要求是很高的,需要有很強的調試能力。遊戲AI開發不同於其它類型的開發,遊戲AI是很難測試的。程序里的分支實在是太多了,依靠遊戲行業的QA來幫助測試起到的作用很有限。所以很大程度上只能靠程序員的自律,很多時候只有開發AI的那個人才知道這些分支之間的轉換關係。

如果靠新技術,問題來了,互聯網上的人工智慧技術並不能直接拿到遊戲開發上,需要重新進行研究,重新研究不僅需要大量成本,而且會有失敗的可能性。讓一個遊戲失敗的可能已經夠多了,遊戲行業的投資人和製作人們是不願意花這麼多錢在一個不一定能成功的方向上的。

他們不願意花錢的原因,其中一個恰恰是不懂技術的人總是會認為做一個優秀的AI很簡單,知乎上的另一個關於遊戲AI的問題,500多個回答,裡面90%的回答都是認為遊戲公司可以做出吊打人類的AI,只是遊戲公司不願意而已,裡面甚至還有很多程序員。

他們犯的錯在於,看到了AI的一點亮眼的表現,例如補刀准,躲技能靈敏,就覺得AI只要照這樣做下去就無敵了,但實際上隨著AI的越來越複雜,開發難度增長之快讓人難以想像。

LOL有個模式是噩夢人機,裡面的人機對手技能傷害和範圍都被大幅增強,但在剛出來的時候還是經常被玩家偷塔獲勝。後來他們在下一次出噩夢人機的時候,將它完全修改成另一種遊戲模式,不允許玩家偷塔了,可以看出這是一次對AI開發的難度的妥協。

綜上,遊戲AI看上去的難度和遊戲AI實際上的難度之間的差異,加上遊戲行業巨大的盈利壓力,加上基礎研究的不成熟,導致了目前還沒有可能做出一個擁有非常智能的AI的遊戲。隨著人工智慧研究深度和廣度的擴展,這一天應該就在不久的將來。


1.精通這些技術的人員不屑於或者沒興趣做遊戲。

2.做遊戲的技術人員每天疲於應付需求沒有精力去研究這些。

3.能投入成本做這些的遊戲公司沒必要冒這些風險,目前的主流市場需求要求沒有這麼高。


從需求上來說,太強的AI主流玩家不樂意,玩家更樂於接受的是一個皮厚血長打起來很刺激但是有不用太累的AI。如果AI敵人可以針對玩家的套路發展戰術這破遊戲基本上是賣不出去的。

從技術上說,機器學習演算法對RTS遊戲也很無奈,因為根本就算不過來。先說特別火的AlphaGo, 19x19的圍棋的搜索樹有10^170這個級別的Game Position。

對於純粹的索搜演算法來說這個數量級的搜索樹 == 有生之年系列,其實國際象棋的搜素樹到現在也是有生之年系列。到目前未知人類只能知道一個給定的棋盤(Game Position)最終結果是什麼然而並不能給出最優解(知道結果但是不知道怎麼下棋)。

In a weaker sense, solving chess may refer to proving which one of the three possible outcomes (White wins; Black wins; draw) is the result of two perfect players, without necessarily revealing the optimal strategy itself

No complete solution for chess in either of the two senses is known, nor is it expected that chess will be solved in the near future. There is disagreement on whether the current exponential growth of computing power will continue long enough to someday allow for solving it by "brute force", i.e. by checking all possibilities.

圍棋只有1個棋子,一個19*19的棋盤兩腳星人到現在也只能做到戰勝最強兩腳星選手而已。假設Starcraft的256*256的地圖,有100個各種單位,不管是暴力搜索還是MCTS在realtime里都覺得自己很方,哪怕不是Realtime,現有演算法也覺得自己很方(20個單位做排列組會已經可以算到宇宙末日了,100個單位???演算法也覺得自己很尷尬啊)。

你說深度強化學習?Deepmind的A3C在Atari上的確很厲害啊,然而Atari這種只能上下左右的平台遊戲複雜度能比得上《下一回合5》嗎。RL/ML/Deep RL光state representation上就能坑死一堆人。

至於現在做的最好的SC AI?兩腳星人教會了AI怎麼用最快的速度造5個坦克(https://skatgame.net/mburo/ps/aiide11-bo.pdf),知道怎麼1 v 1(然而並不能微操,剩下的?剩下的就很尷尬了。對於超過1v1的博弈兩腳星人基本沒有太好的理論基礎,如果加上合作這個概念兩腳星人基本很方。

最後,阿爾法狗需要下面這堆可怕的硬體,地球上最好的計算機學家和最有錢的公司外加N年時間。那個遊戲公司有這種級別的資源。

利益相關--做過AAA遊戲,也認識M.Muller。


20世紀的所有即時戰略遊戲(包括紅警1,魔獸1)里就有的A star算不算人工智慧?

難道人工智慧已經跟deep learning劃等號了?


遊戲AI使用FSM或者行為樹實現 已經足夠了,因為玩家不需要聰明的AI。 機器學習?要是遊戲里的怪都跟alphago一樣聰明,誰還玩遊戲啊。當然 這是針對於rpg或者moba這類的遊戲來說的。


想把智能演算法放在遊戲里做核心機制,太難了,遊戲不大型不負責人不愛玩,沒有挑戰性,太複雜智能的遊戲,用到的智能演算法運行時間太長或者要求太高,所以我個人覺得實現遊戲的智能化嵌入是有難度的


提問者的意思大概是在於用人工智慧、機器學習等智能演算法去提升玩家的遊戲體驗。

傳統機器學習方法(非深度學習)這一點當然是可以的,舉個例子,比如在遊戲裡面給你推薦購買一些東西,智能匹配,據我所知已經在大規模使用了。

最近在做的是遊戲AI方面,用的技術也無非是PolicyGradient和DQN及其變形,如duelingDQN和TRPO,實際情況是

並不好用

論文裡面確實吹得天花亂墜,在gym裡面的效果的確是很好。

但是實際情況就是不好,當你搬到遊戲裡面,會遇到各種各樣的問題。

對於一個公司來說,開發這樣一個智能的AI,大概需要1年(胡謅的)周期,目前看來,同時擁有這麼長遊戲生命周期和公司實力的,國內可能也就只有騰訊了吧。


可以這麼理解遊戲中的AI。

那就是一群嚴格按照劇本演出的演員。

流程以及對話動作都按照設定好的程序。配合遊戲玩家來體驗這個遊戲。

至於人工智慧那最好的例子就是SIRI,這個東西雖然是官方的閹割民用版本。但意義上體檢了智能這個標籤。

能與人類互動,理解人類的意向,並做出選擇性的判斷。這可能就是未來能用於遊戲中。

智能與否,關鍵在於決定權在哪一方。

說個例子:

遊戲中你與NPC對話,會跳出來對話框,讓你選擇你要說的話,來推進劇情的發展,選擇不同的選項那劇情的發展就有所不用

如果沒有將這個對話框的使用去除。

玩家和NPC說完話之後,NPC自己做出了判斷,決定了劇情的走向,並向玩家說明了自己的想法和理由,這可能會被當作一種智能,但這樣的智能可以通過隨機抽取劇本來做出智能的假象。如果玩家多次來進行遊戲,體驗這個劇情,那這個所謂的智能就會被識破。

至於機器學習,那就更難了,學習的過程包括了認知,理解,分析,結論等一些列的繁瑣的過程,並且這些過程中還有千差萬別的因素導致不同的結果。可能機器學習到最後所得出的結果和我們想讓他得出的結果千差萬別。

並且,機器的生存的物理環境和人類是完全不一樣的。學習一般都是從個體需求開始的。如果按照人類的認知方式來設計演算法,那是相當困難的。在哲學方面沒有對這樣的理解進行突破,那所謂的學習型機器更本就談不上。而且,人類本身也不允許這樣的東西存在。


騰訊的AI lab就在給王者榮耀做AI


單機deep leanring算量太大跑不動,網路遊戲玩家量巨大,用複雜的深度學習演算法成本太高且設計太複雜


王者榮耀吧,自動匹配、掉線的時候會自動開戰,並不會一直停在某個地方掛機。。。

就目前來說沒有得到大規模應用,技術上的困難主要來源於兩個方面:一是遊戲中的非確定狀態實在太多;二是現有的硬體和計算機網路對於高級人工智慧還說,速度還達不到要求。

目前要解決這些困難,在技術上來說還是不成熟的。對於數量極多的非確定狀態來說,儘可能地提高硬體和計算機網路的速度,可能是一個解決方法。但是要提高硬體和計算機網路的速度也並非易事。這可能要等到全息光學計算機和光互聯網誕生之後才能徹底解決。但目前有效的辦法是提高軟體的執行速度。比如使用更有效的演算法或神經網路等新技術。


爐石傳說吖,腳本Ai經常把我的頭都捶爆了!

在狂野模式更多。會發你好,算解場,算傷害。傳說都有了∠( ? 」∠)_


推薦閱讀:

為什麼有些遊戲好玩,而有些遊戲不好玩?
優秀的(電子)遊戲應該更接近藝術品還是消費類的商品?
如何駕馭「龍與地下城」複雜的規則,做好一名地下城主「DM」?
《最終幻想15》為什麼要設計為「回到營地結算經驗值」?

TAG:遊戲 | 人工智慧 | 遊戲設計 | 機器學習 | 演算法設計 |