作者exeex (人非腎鹹)
看板GameDesign
標題遊戲的AI設計?
時間Fri Nov 9 16:16:37 2018
各位大大好
我是研究深度學習的研究生
不過研究領域跟遊戲AI沒啥關
但我滿喜歡打電腦遊戲的,打FPS,Dota類的,或如文明帝國,三國志這種戰棋類的。桌遊方面也打過不少,也自己設計過桌遊。
我打遊戲都是M屬性的,會跑去挑戰高難度AI
但通常電腦遊戲的高難度AI就是把AI的資源量調更高,但還是一樣笨。這種AI實在無法滿足我。
我最近看到Unity有出Unity Machine Learning Agents,想要空閒的時候玩看看
不知道板上有沒有人用過?
-----
Sent from JPTT on my Xiaomi Redmi Note 4.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.64.17
※ 文章網址: https://webptt.com/m.aspx?n=bbs/GameDesign/M.1541751399.A.D2D.html
1F:推 wix3000: 一般來說,普通遊戲的AI跟目前正熱門的AI是不同概念 11/09 16:55
2F:推 cjcat2266: 我主要做的是遊戲AI,其實大部分時候比較偏設計,要跟 11/09 17:04
3F:→ cjcat2266: 設計師密切合作,做出不是最聰明、但是會讓人覺得好玩 11/09 17:04
4F:→ cjcat2266: 的掰咖NPC,跟學術AI和”現在最熱門的AI技術”不一定 11/09 17:04
5F:→ cjcat2266: 路線重合 11/09 17:04
6F:推 cjcat2266: Machine learning agent的話,我還沒碰到會需要它的use 11/09 17:09
7F:→ cjcat2266: case,所以實作上還沒沾上邊。Machine learning不只可 11/09 17:09
8F:→ cjcat2266: 用在高階NPC行為,像是locomotion這種跟動畫比較相關 11/09 17:09
9F:→ cjcat2266: 的技術,最近也常被討論,可以找找看phase-functioned 11/09 17:09
10F:→ cjcat2266: motion matching,蠻有趣的! 11/09 17:09
11F:推 cjcat2266: Ubisoft算是第一間把motion matching用在商用遊戲工作 11/09 17:12
12F:→ cjcat2266: 室(For Honor),不過不是machine leaning的版本。Bungi 11/09 17:12
13F:→ cjcat2266: e更早雇用了motion matching原始paper作者要實作到Halo 11/09 17:12
14F:→ cjcat2266: Reach中,不過因為當時硬體跑不起來作罷 11/09 17:12
15F:推 dklassic: 老實說畢竟遊戲 AI 就是要讓玩家打爆的,花很多時間訓練 11/09 18:03
16F:→ dklassic: 出一個近似真人的 AI 可能比起用幾個 State 寫出來的 AI 11/09 18:03
17F:→ dklassic: 玩起來不會比較有趣,開發速度也不會比較快 XD 11/09 18:03
18F:→ exeex: 樓上說的這個我知道,強的AI其實很吃計算資源,開發起來吃 11/09 18:05
19F:→ exeex: 力不討好,又不一定比較好玩。 11/09 18:05
20F:→ exeex: 我是想說現在技術也不斷推陳出新,會不會有比較厲害的東西 11/09 18:06
21F:→ exeex: 出現XD 11/09 18:06
22F:推 Anodare: 只有稍微玩過,可以快速解決一些簡單不複雜的狀況,githu 11/09 18:49
23F:→ Anodare: b上的頁面有教學~ 11/09 18:49
24F:推 cjcat2266: 有新的技術不一定會被用,還是以設計為優先,有時候很 11/09 19:12
25F:→ cjcat2266: 厲害又好玩的遊戲AI其實是很基本的技術,加上很厲害的 11/09 19:12
26F:→ cjcat2266: 設計混出來的 11/09 19:12
27F:推 ddavid: 遊戲相關的AI研究其實還是蠻不少的,但可能不是你想的樣子 11/09 19:12
28F:→ ddavid: 有些遊戲使用的AI技術是在尋路、編隊、NPC或開放世界行為 11/09 19:13
29F:→ ddavid: ,真正用在敵人對抗行動計算的反而未必很多,因為做太聰明 11/09 19:14
30F:→ ddavid: 未必會好玩XD 11/09 19:14
31F:推 jugu: 反過來「為ml而ml」去設計配套的遊戲系統或許是有趣的方向? 11/10 01:03
32F:推 newyellow: 哇賽 cjcat 太專業了吧!! 11/10 04:34
33F:推 rhox: 要做出很強的AI很簡單,要做出很好玩的AI很難 11/10 09:11
34F:推 madturtle: 之前有想過用ml模擬玩家行為來分擔部分QA 11/10 10:22
35F:推 leofalcon: ML日後在遊戲的應用應該不會是NPC AI,而是偏工具 11/11 01:34
36F:→ leofalcon: 比方說花草樹木產生器之類的 11/11 01:34
37F:→ leofalcon: NPC AI上,設計師無法微調的系統實務上沒有用處啊 11/11 01:35
38F:推 cjcat2266: 的確,所以motion marxhing除錯上往往蠻憑直覺的,要從 11/11 07:33
39F:→ cjcat2266: 角色動作問題視覺上,判斷需要補足什麼部分的動作資料 11/11 07:33
40F:→ cjcat2266: 到動作庫中 11/11 07:33
41F:→ cjcat2266: *matching 11/11 07:33
42F:→ cjcat2266: 還好沒到看到錯誤要除錯卻一頭霧水的狀況 11/11 07:34
43F:推 dklassic: 其實我現在在研究能不能用ML來學玩家行為邏輯,希望有 11/11 11:58
44F:→ dklassic: 辦法幫助目前只能用統計手段或系統監控抓作弊的問題 11/11 11:58
45F:→ dklassic: 在這種簡單邏輯準度不高的判定ML或許可能有很大的效用 11/11 11:59
46F:→ Feis: 今年碰巧有去 TGDF 分享了一些工作,我倒覺得讓設計師可微調 11/11 13:01
47F:→ Feis: 反而是比較簡單的。現在的主要瓶頸還是訓練時間跟金錢的成本 11/11 13:01
48F:→ Feis: 微調的迭代速度拉不快的話,實務上很難進入製程 11/11 13:02
49F:→ Feis: 尤其是要讓非 ML 專頁的遊戲設計師使用 11/11 13:02
50F:→ Feis: 還需要提供適當的工具 11/11 13:05
51F:推 Pony5566: dk說得很像vacnet 11/11 15:55
52F:→ dklassic: 嗯,今年 GDC 才發現原來 Valve 從 2016 就在做了 11/11 21:42
53F:推 poshboy: 推留言的討論 11/12 16:43
54F:推 minimaker: 今年雷亞分享的做很久然後看起來要放棄的那款(也沒人 11/13 15:17
55F:→ minimaker: 記得叫什麼)就說用ml做ai,但成果應該超差所以做到皇 11/13 15:17
56F:→ minimaker: 室戰爭沒什麼人了還在train 11/13 15:17
57F:推 LayerZ: "遊戲AI"是用來給玩家虐的,就像設計者出題給玩家破解 11/14 15:13
58F:→ LayerZ: 其實單純想回外掛部份,之前看過的高等外掛有"掩飾"功能 11/14 15:14
59F:→ LayerZ: 不會直接把準心甩到頭上,打完頭也會有準心晃動..ML能作到 11/14 15:15
60F:→ LayerZ: 抓外掛就太好了(但是成本/收益是完全不相符的,估計沒人會 11/14 15:16
61F:→ LayerZ: 去作 11/14 15:16
62F:→ LayerZ: 隨機地圖生成應該也用得上 11/14 15:18
63F:→ LayerZ: 如果真的要有效益的,大概是AI假玩家吧... 11/14 15:19
64F:推 LayerZ: 目前的對戰類遊戲當紅,AI假玩家能補上很多的缺陷 11/14 15:42
65F:→ LayerZ: 舉例第五人格好了,玩家連敗的時候就會遇到AI假玩家彌補玩 11/14 15:43
66F:→ LayerZ: 家的自信 11/14 15:43
67F:→ LayerZ: 而之前負責過的戰場,當玩家人數減少後,就會有排隊時間的 11/14 15:44
68F:→ LayerZ: 問題,要拉大排隊區間就變成有遊戲體驗的問題,假AI能學 11/14 15:45
69F:→ LayerZ: 習到有實戰能力大概就能解決吧,不過這塊是我比較不能想 11/14 15:45
70F:→ LayerZ: 象的 11/14 15:45
71F:→ LayerZ: 最後是大逃殺類,一次50人100人才能開一場,排隊時間還不 11/14 15:46
72F:→ LayerZ: 能太久,認真,雖然50人裡面可能有25人會是上一場在10分 11/14 15:47
73F:→ LayerZ: 鐘內淘汰下來的人,但還是可能會有排隊太長的問題 11/14 15:47
74F:→ LayerZ: (看COD BlackOut常常在準備房排很久),丟假AI進去給玩家虐 11/14 15:48
75F:→ LayerZ: 玩家也不會發現是AI吧XD 11/14 15:48
76F:→ LayerZ: 靠北,又回太長了... 11/14 15:49
77F:→ LayerZ: AI不一定能學到跟真玩家一樣強,可能還很蠢,但是不要當 11/14 15:50
78F:→ LayerZ: 隊友當敵人就會很爽,真的要高成本當隊友的...就再說吧XD 11/14 15:51
79F:→ LayerZ: ML最大的功用,就是讓假玩家看起來不要那麼假? 11/14 15:57
81F:推 Feis: 要過遊戲版的圖靈測試也沒那麼簡單xD 11/15 23:08
82F:→ Feis: 不過你怎麼知道你的對手/隊友不是 AI? 11/15 23:09
83F:→ Feis: 亦或者,知道他們是 AI 為什麼就不好玩了? 11/15 23:10
84F:推 goury: 推AI假玩家,這是目前想的到AI對商業模式上幫助最大的地方 11/16 09:48
85F:→ goury: 為什麼知道對手是AI就不好玩?不是說不好玩,例如對殺類遊 11/16 09:51
86F:→ goury: 戲,殺真人玩家跟殺電腦,對不少人而言,心理感受就有差 11/16 09:51
87F:推 LayerZ: 知道他們是AI就不好玩了 <= 沒錯 但是假玩家跟AI是兩回事 11/16 14:56
88F:→ LayerZ: AI假玩家能解決很多問題,而ML能補足假玩家的缺點 11/16 14:56
89F:→ LayerZ: 問題有兩個: 11/16 14:57
90F:→ LayerZ: 其1,你的AI需要強到什麼地步? 假如AI假玩家當隊友,當然 11/16 14:58
91F:→ LayerZ: 太強太弱都會有問題,應該說我想不到沒問題的狀況.. 11/16 14:58
92F:→ LayerZ: 阿,我有點語無倫次了 11/16 14:58
93F:→ LayerZ: 其2,在玩家心中期待的目標是什麼樣子,AI能不能滿足 11/16 14:59
94F:→ LayerZ: 在大逃殺中,看到人就宰了拿裝,AI就是當人數不足時充當雜 11/16 15:00
95F:→ LayerZ: 魚的功能,甚至還要加上假裝射不中不動目標,或是狙擊到第 11/16 15:01
96F:→ LayerZ: 幾發才准擦到人的限制吧 11/16 15:01
97F:→ LayerZ: 這時候玩家才不在意其他人是什麼樣子 11/16 15:01
98F:→ LayerZ: 只要不要太過機械化就好 11/16 15:02
99F:→ LayerZ: 回goury,所以沒辦法用在6v6這種平衡式對戰的狀況上,不管 11/16 15:05
100F:→ LayerZ: 強或弱,敵人或隊友,都會不好玩 11/16 15:06
101F:→ LayerZ: 但是像非平衡式對戰,或是大逃殺這種,由於本身就不是平衡 11/16 15:06
102F:→ LayerZ: 對戰,玩家就不會期待這目標應該要有的樣子,而AI假玩家充 11/16 15:07
103F:→ LayerZ: 數的反感就不會那麼大,能用ML讓AI假玩家多靈活點,甚至 11/16 15:08
104F:→ LayerZ: 不會有人發現是AI假玩家吧XDD 11/16 15:08
105F:→ LayerZ: 玩家只會覺得,幹這人超蠢超爛 11/16 15:08
107F:→ Feis: 我們這邊嘗試的一些經驗結論給大家參考 11/17 19:52
108F:推 leofalcon: ML沒辦法作AI假玩家 實務上目前主流是BT 11/18 15:27
109F:推 leofalcon: Game AI領域不存在撒尿牛丸 根據需求選擇最適當的系統 11/18 15:28
110F:→ leofalcon: 才是正解 11/18 15:28
111F:推 leofalcon: 後來想到 要說絕對不能做有點武斷 應該說能用的遊戲類 11/18 15:31
112F:→ leofalcon: 型非常有限 目前爲止有實作的都是tabletop類型遊戲移 11/18 15:31
113F:→ leofalcon: 植到電子版 11/18 15:31
114F:噓 trylovetom: 遊戲是為了好玩,你想想李世石跟阿法狗對戰就知道,一 11/27 23:40
115F:→ trylovetom: 點都不好玩。 11/27 23:40
116F:推 ManInBlack: 我想想我跟李世石對戰好像也不太好玩(?) 12/04 15:08