很多人在玩遊戲的時候,都會感覺到遊戲中的 NPC 非常「腦殘」。但這一情況將會發生改變了。前不久,Unity 推出了一個強大的開源工具 Unity Machine Learning Agents,通過這個工具,能夠將其遊戲引擎與機器學習程式連接起來。通過深度學習演算法,非玩家角色(NPC)可以不斷地進行嘗試和犯錯,變得更有創造性和策略性,從而增加遊戲的對抗性和可玩性。也就是說,遊戲中的 NPC 將會變得越來越聰明。
這些年,遊戲開發者已經在使用人工智慧來優化玩家能夠操縱的遊戲角色了。但遊戲中還有很多玩家不能操縱的角色---也就是遊戲中所謂的「NPC」(非玩家角色),這些角色講的話以及動作,都是基於人類與先編寫好的規則,玩家試一下就很容易掌握其中的規律,從而會感覺到「一眼看穿」。
不過,這一切都將會發生改變。
利用人工智慧,遊戲中的 NPC 將會根據遊戲中遇到的情況,對自己的遊戲規則進行重新設定。也就是說,他們在遊戲中的時間越長,就會越聰明。
前不久,Unity 推出了一個強大的開源工具Unity Machine Learning Agents,通過這個工具,能夠將其遊戲引擎與機器學習程式(比如Google的TensorFlow)連接起來。Unity 負責人工智慧和機器學習的副總裁 Danny Lange 表示,通過深度學習演算法,非玩家角色(NPC)可以不斷地進行嘗試和犯錯,變得更有創造性和策略性,從而增加遊戲的對抗性和可玩性。
不過,Unity 的新 AI-linking 工具的使用,可不侷限於遊戲中的虛擬角色。Lange 說,這種工具還可以加速機器人的發展,比如自動駕駛汽車,可以讓它們在「雜亂無章的、軟體生成的」的場地中不間斷的訓練,使其變得更加智慧。
上圖就是Unity 利用機器學習技術,通過從多個角度評估——鳥-眼(左)和第一人稱視角(右)——在這個尚未發佈的坦克戰鬥遊戲中設計出了一個策略。
Unity 也坦然表示,這些技術並非他們發明的,新的工具的推出,只是讓這些技術變得更容易使用。比如說,谷歌旗下的 DeepMind 利用深度學習演算法,教 AI 玩1980年代的打磚塊遊戲。
在遊戲式的環境中,訓練自動駕駛系統也有很多的例子。像 The Open Racing Car Simulator 和 Euro Truck Simulator 2這樣的遊戲也被用於自動駕駛汽車的虛擬訓練。而 Nvidia 的New Lsaac Lab則使用競爭對手 Epic Games 的「虛擬引擎」來產生逼真的虛擬環境,用於訓練那些控制真實機器人的演算法。
Lange 表示,現在可以在 GitHub 上使用測試版的新 ML-Agents 工具,可以讓遊戲引擎和 AI 之間的連接不再需要消耗數天甚至數週的時間。他說:「我們想做的是在一小時內達到這一目標。」很顯然,這會讓更多的人更容易嘗試開發出更好的遊戲角色,或者把訓練機器人這一枯燥的事情變得更容易。
用人工智慧破關已經很容易
之前,Unity 就展示過深度學習的潛力,它在一個基於 Unity 的行動版遊戲 Crossy Road上做了實驗。在遊戲中,一隻雞必須穿過一條無窮無盡的道路,每次它撞到一個禮盒,就能獲得一分,但每次它撞上一輛卡車,就會失去一分。在讓分數最大化的任務的下,就開始了學習的過程。
起初,這隻雞像一隻喝醉了一樣四處亂飛,前後移動,不斷與禮物和卡車相撞。
但是,經過幾個小時的反覆試驗,再加上機器學習找到了最佳戰術,這隻鳥以「神一般的力量」在遊戲中穿行。
連一隻雞都如此,你不難想像將這個技能用在其它類型的遊戲上會發生什麼事。你可以讓人工智慧訓練出來一個如真人般的NPC,你可以與他並肩作戰或是與他為敵。
Lange 說:「它可能會發展出一些策略,以令人驚訝的方式展示結果。比如說,它會引誘你去追逐它,但你不會抓住它,它也不會馬上殺死你。利用這樣的方式來提高你在遊戲中所花費的時間。以傳統的程式碼寫作方式來說,讓 NPC 能執行這樣的策略,不見得不行,但對遊戲設計師來說會非常非常費力。」
不過,也不要別指望這種能夠自學成才的虛擬對手很快就會出現。建立具有深度學習能力的 NPC 仍然是一項科學實驗。但如果 Unity 的 ML-Agents 能讓數百萬註冊開發者(即使是沒有很多資金的用戶)更方便地進行試驗,那麼這個過程可能會加快。
from T客邦 http://ift.tt/2yVwqFF
沒有留言:
張貼留言