遊戲的AI設計?

作者: exeex (執行檔EX)   2018-11-09 16:16:37
各位大大好
我是研究深度學習的研究生
不過研究領域跟遊戲AI沒啥關
但我滿喜歡打電腦遊戲的,打FPS,Dota類的,或如文明帝國,三國志這種戰棋類的。桌遊方面也打過不少,也自己設計過桌遊。
我打遊戲都是M屬性的,會跑去挑戰高難度AI
但通常電腦遊戲的高難度AI就是把AI的資源量調更高,但還是一樣笨。這種AI實在無法滿足我。
我最近看到Unity有出Unity Machine Learning Agents,想要空閒的時候玩看看
不知道板上有沒有人用過?
作者: wix3000 (癢,好吃)   2018-11-09 16:55:00
一般來說,普通遊戲的AI跟目前正熱門的AI是不同概念
作者: cjcat2266 (CJ Cat)   2018-11-09 17:04:00
我主要做的是遊戲AI,其實大部分時候比較偏設計,要跟設計師密切合作,做出不是最聰明、但是會讓人覺得好玩的掰咖NPC,跟學術AI和”現在最熱門的AI技術”不一定路線重合Machine learning agent的話,我還沒碰到會需要它的usecase,所以實作上還沒沾上邊。Machine learning不只可用在高階NPC行為,像是locomotion這種跟動畫比較相關的技術,最近也常被討論,可以找找看phase-functionedmotion matching,蠻有趣的!Ubisoft算是第一間把motion matching用在商用遊戲工作室(For Honor),不過不是machine leaning的版本。Bungie更早雇用了motion matching原始paper作者要實作到HaloReach中,不過因為當時硬體跑不起來作罷
作者: dklassic (DK)   2018-11-09 18:03:00
老實說畢竟遊戲 AI 就是要讓玩家打爆的,花很多時間訓練出一個近似真人的 AI 可能比起用幾個 State 寫出來的 AI玩起來不會比較有趣,開發速度也不會比較快 XD
作者: exeex (執行檔EX)   2018-11-09 18:05:00
樓上說的這個我知道,強的AI其實很吃計算資源,開發起來吃力不討好,又不一定比較好玩。我是想說現在技術也不斷推陳出新,會不會有比較厲害的東西出現XD
作者: Anodare (那個誰)   2018-11-09 18:49:00
只有稍微玩過,可以快速解決一些簡單不複雜的狀況,github上的頁面有教學~
作者: cjcat2266 (CJ Cat)   2018-11-09 19:12:00
有新的技術不一定會被用,還是以設計為優先,有時候很厲害又好玩的遊戲AI其實是很基本的技術,加上很厲害的設計混出來的
作者: ddavid (謊言接線生)   2018-11-09 19:12:00
遊戲相關的AI研究其實還是蠻不少的,但可能不是你想的樣子有些遊戲使用的AI技術是在尋路、編隊、NPC或開放世界行為,真正用在敵人對抗行動計算的反而未必很多,因為做太聰明未必會好玩XD
作者: jugu (硬碟一定是故意的)   2018-11-10 01:03:00
反過來「為ml而ml」去設計配套的遊戲系統或許是有趣的方向?
作者: newyellow (newyellow)   2018-11-10 04:34:00
哇賽 cjcat 太專業了吧!!
作者: rhox (天生反骨)   2018-11-10 09:11:00
要做出很強的AI很簡單,要做出很好玩的AI很難
作者: madturtle (旅者‧愚人‧夢想家 )   2018-11-10 10:22:00
之前有想過用ml模擬玩家行為來分擔部分QA
作者: leofalcon (LEO)   2018-11-11 01:34:00
ML日後在遊戲的應用應該不會是NPC AI,而是偏工具比方說花草樹木產生器之類的NPC AI上,設計師無法微調的系統實務上沒有用處啊
作者: cjcat2266 (CJ Cat)   2018-11-11 07:33:00
的確,所以motion marxhing除錯上往往蠻憑直覺的,要從角色動作問題視覺上,判斷需要補足什麼部分的動作資料到動作庫中*matching還好沒到看到錯誤要除錯卻一頭霧水的狀況
作者: dklassic (DK)   2018-11-11 11:58:00
其實我現在在研究能不能用ML來學玩家行為邏輯,希望有辦法幫助目前只能用統計手段或系統監控抓作弊的問題在這種簡單邏輯準度不高的判定ML或許可能有很大的效用
作者: Feis (永遠睡不著 @@)   2018-11-11 13:01:00
今年碰巧有去 TGDF 分享了一些工作,我倒覺得讓設計師可微調反而是比較簡單的。現在的主要瓶頸還是訓練時間跟金錢的成本微調的迭代速度拉不快的話,實務上很難進入製程尤其是要讓非 ML 專頁的遊戲設計師使用還需要提供適當的工具
作者: Pony5566 (Luna Akbar)   2018-11-11 15:55:00
dk說得很像vacnet
作者: dklassic (DK)   2018-11-11 21:42:00
嗯,今年 GDC 才發現原來 Valve 從 2016 就在做了
作者: poshboy (遊戲設計人,人設計遊戲)   2018-11-12 16:43:00
推留言的討論
作者: minimaker (MiniMaker)   2018-11-13 15:17:00
今年雷亞分享的做很久然後看起來要放棄的那款(也沒人記得叫什麼)就說用ml做ai,但成果應該超差所以做到皇室戰爭沒什麼人了還在train
作者: LayerZ (無法如願)   2018-11-14 15:13:00
"遊戲AI"是用來給玩家虐的,就像設計者出題給玩家破解其實單純想回外掛部份,之前看過的高等外掛有"掩飾"功能不會直接把準心甩到頭上,打完頭也會有準心晃動..ML能作到抓外掛就太好了(但是成本/收益是完全不相符的,估計沒人會去作隨機地圖生成應該也用得上如果真的要有效益的,大概是AI假玩家吧...目前的對戰類遊戲當紅,AI假玩家能補上很多的缺陷舉例第五人格好了,玩家連敗的時候就會遇到AI假玩家彌補玩家的自信而之前負責過的戰場,當玩家人數減少後,就會有排隊時間的問題,要拉大排隊區間就變成有遊戲體驗的問題,假AI能學習到有實戰能力大概就能解決吧,不過這塊是我比較不能想象的最後是大逃殺類,一次50人100人才能開一場,排隊時間還不能太久,認真,雖然50人裡面可能有25人會是上一場在10分鐘內淘汰下來的人,但還是可能會有排隊太長的問題(看COD BlackOut常常在準備房排很久),丟假AI進去給玩家虐玩家也不會發現是AI吧XD靠北,又回太長了...AI不一定能學到跟真玩家一樣強,可能還很蠢,但是不要當隊友當敵人就會很爽,真的要高成本當隊友的...就再說吧XDML最大的功用,就是讓假玩家看起來不要那麼假?
作者: Pony5566 (Luna Akbar)   2018-11-15 08:34:00
作者: Feis (永遠睡不著 @@)   2018-11-15 23:08:00
要過遊戲版的圖靈測試也沒那麼簡單xD不過你怎麼知道你的對手/隊友不是 AI?亦或者,知道他們是 AI 為什麼就不好玩了?
作者: goury   2018-11-16 09:48:00
推AI假玩家,這是目前想的到AI對商業模式上幫助最大的地方為什麼知道對手是AI就不好玩?不是說不好玩,例如對殺類遊戲,殺真人玩家跟殺電腦,對不少人而言,心理感受就有差
作者: LayerZ (無法如願)   2018-11-16 14:56:00
知道他們是AI就不好玩了 <= 沒錯 但是假玩家跟AI是兩回事AI假玩家能解決很多問題,而ML能補足假玩家的缺點問題有兩個:其1,你的AI需要強到什麼地步? 假如AI假玩家當隊友,當然太強太弱都會有問題,應該說我想不到沒問題的狀況..阿,我有點語無倫次了其2,在玩家心中期待的目標是什麼樣子,AI能不能滿足在大逃殺中,看到人就宰了拿裝,AI就是當人數不足時充當雜魚的功能,甚至還要加上假裝射不中不動目標,或是狙擊到第幾發才准擦到人的限制吧這時候玩家才不在意其他人是什麼樣子只要不要太過機械化就好回goury,所以沒辦法用在6v6這種平衡式對戰的狀況上,不管強或弱,敵人或隊友,都會不好玩但是像非平衡式對戰,或是大逃殺這種,由於本身就不是平衡對戰,玩家就不會期待這目標應該要有的樣子,而AI假玩家充數的反感就不會那麼大,能用ML讓AI假玩家多靈活點,甚至不會有人發現是AI假玩家吧XDD玩家只會覺得,幹這人超蠢超爛
作者: Feis (永遠睡不著 @@)   2018-11-17 19:51:00
https://www.youtube.com/watch?v=2EN7LvhJQ7s&t=2982s我們這邊嘗試的一些經驗結論給大家參考
作者: leofalcon (LEO)   2018-11-18 15:27:00
ML沒辦法作AI假玩家 實務上目前主流是BTGame AI領域不存在撒尿牛丸 根據需求選擇最適當的系統才是正解後來想到 要說絕對不能做有點武斷 應該說能用的遊戲類型非常有限 目前爲止有實作的都是tabletop類型遊戲移植到電子版
作者: trylovetom (閒閒的猛男)   2018-11-27 23:40:00
遊戲是為了好玩,你想想李世石跟阿法狗對戰就知道,一點都不好玩。
作者: ManInBlack (阿闕)   2018-12-04 15:08:00
我想想我跟李世石對戰好像也不太好玩(?)

Links booklink

Contact Us: admin [ a t ] ucptt.com