吃豆人誕生40周年,英偉達用AI編寫同名款遊戲致敬紀念

社會欣欣 發佈 2020-05-25T23:44:07+00:00

可能有人已經注意到了,文章開頭這個《吃豆人》動圖有些地方感覺怪怪的。因為這個動圖上的畫面不是真正的《吃豆人》,而是英偉達一個新的遊戲 AI 算法「 GameGAN 」,復刻編寫的一款「致敬吃豆人」遊戲。

新時代的驚鴻一瞥。

可能有人已經注意到了,文章開頭這個《吃豆人》動圖有些地方感覺怪怪的。因為這個動圖上的畫面不是真正的《吃豆人》,而是英偉達一個新的遊戲 AI 算法" GameGAN ",復刻編寫的一款"致敬吃豆人"遊戲。

沒有使用任何遊戲引擎,也沒有人為編程干預,這個"致敬版吃豆人"從玩法、畫面元素再到敵人的行動方式,全部都是 AI 自己學習素材以後自動生成的。

這是一個真的可以交互的遊戲,還原了原版《吃豆人》里絕大部分遊戲規則。玩家需要操縱遊戲里的吃豆人在迷宮裡一邊躲避小鬼一邊吃掉豆子,但是吃掉大豆子以後就會得到短暫的無敵時間,小鬼也會躲著玩家走。角色從地圖一邊走出去以後,還會傳送到另外一邊走回來。

5 月 22 日是街機版《吃豆人》誕生 40 周年的日子。這款風靡世界的元祖街機遊戲給了無數玩家美好的回憶。當年想要設計這樣一款遊戲,不但需要知道如何編寫讓人頭疼的彙編語言,還需要有相當紮實的電路和硬體知識,因為遊戲的許多功能都是在專門的硬體晶片上實現的,調試起來十分麻煩。

40 年後的今天,這一切都讓 AI 代勞了。除了"復刻吃豆人",其他類似畫面和操作體驗的 2D 遊戲,比如《大金剛》或者《超級馬力歐》這種的,GameGAN 也能夠輕鬆複製。

我們和英偉達的研究人員聊了聊這個 AI 的幕後情況。他們告訴我們,這項關於遊戲開發 AI 的研究開始於 8 個月前,基於 PyTorch,現在已經取得了很不錯的成果。以《吃豆人》為例,從機器學習開始到開發出"致敬版"遊戲,只用了短短 4 天時間。通過調整一些設定,這個 AI 甚至還能在學習原版吃豆人的素材以後,開發出視角固定在主角身上的新玩法。

在這裡要特別說明兩件事情。第一,這個 AI "製作遊戲"的方式是完全不同以往的。它不是一個"自動編程機"。在傳統遊戲裡面,"按左鍵角色回往左走"這個動作,其實需要好幾部分代碼:用操作代碼把玩家的按鍵輸入和角色的運動方向對應起來,用物理代碼確認角色的位置變化和與周圍環境的互動,用渲染代碼把角色的美術素材投射到螢幕上。此外可能還需要一套 API 便於調動硬體資源。

但是 GameGAN 一行代碼也不會寫,它輸出的結果只有畫面。當玩家按下左鍵的時候,這個 AI 會猜測畫面的變化,並且生成一個"看起來是角色在往左走"的圖像。中間發生的事情,全部都在 AI 的黑盒中。沒人知道 AI 是怎麼理解玩家操作的,得到的只有最終的輸出結果。

深度學習網絡取代了所有的遊戲代碼

第二,這個" AI "和之前引發廣泛討論的谷歌 DeepMind 還有 Open AI 也不是一回事。DeepMind 和 Open AI,是在現有的遊戲框架裡面,學習如何與人類博弈並且獲勝。

而英偉達的 GameGAN,重點則是在如何生成一套遊戲運行機制與畫面上。它不會讓遊戲里的敵人變得更強大或者更智能,但是會從其他方面幫助優化我們的遊戲體驗。比如說,AI 可以幫助開發者快速創造大量的關卡和素材原型,便於他們尋找靈感,加速遊戲開發過程。

和之前的 DLSS 類似,AI 也可以起到輔助畫面渲染的作用,幫助顯卡運算抗鋸齒、光線追蹤和物理模擬,提高遊戲的運行效率。英偉達還專門搭建了一個叫《Marble RTX》的測試遊戲,幫助 AI 能夠得到足夠的學習數據。

通過《Marble RTX》這樣的環境,AI 也能學到關於光線追蹤和物理互動的法則

GameGAN 最大的意義還是驗證了一個概念:AI 復刻遊戲,其實是在自己的"腦海"里創造一個虛擬世界,通過學習其他"世界"的素材,也可以把別的"世界"的運行規則套用到自己的世界裡。

也就是說,有一天可能 AI 可能光靠看交通事故的小視頻,就能製作一個分析車輛碰撞之後的損傷和變形的模擬軟體。在搭建出足夠複雜真實的"虛擬世界"以後,這些"虛擬世界"甚至還能用來訓練其他的 AI。再想下去,可就有點天網那味了。

目前這個"致敬版吃豆人"還沒有發布,不過據英偉達說稍後會放出一個玩家可以上手體驗的版本。想要體驗未來科技的小夥伴可以持續關注一下。

聲明:如有侵權請聯繫刪除,謝謝

關鍵字: