Re: [請益] 關於一些遊戲的AI

看板GameDesign作者 (無想流流星拳)時間11年前 (2012/12/02 12:10), 編輯推噓8(8014)
留言22則, 8人參與, 最新討論串9/22 (看更多)
※ 引述《Eric0605 (米青金兌口觜石包)》之銘言: : http://www.gnu.org/software/gnugo/gnugo.html : 另外還有一個對岸的圍棋AI論壇,裡面也有一些有價值的程式資訊可以參考 : http://www.computergo.net/forum/index.php 關於人工智能方面, 一般來說, 邏輯思考只有這種結論: 1. 是 2. 非 3. 未知 其中「未知」往往是源自資訊的不足, 面對資訊不足的事情時, 理 性和邏輯思考能得出最正確的結論, 往往是未知, 在一定要得出是 或非的問題上, 資訊量有量的理性思考是有瓶頸的. 過去人工智能的結構, 基本上就是由這兩者組成: 1. 得到盡可能多的資訊 2. 從資訊中進行理性推論 3. 找出最優解, 或者多個選擇其中之一當中, 最優解沒有被排除 窮舉法的本質, 和後來, 「模仿人類的經驗主義」, 也是脫不開這 兩者, 後者比較有可能得出較好的結果, 舉一個例子, 我要認真做 民國無雙的人工智慧的話, 我應該將所有民國無雙的 client , 連 上中央的服務器, 然後將所有玩者的玩法(行動次序)都紀錄下來, 用統計的方式去決定哪種方式面對甚麼情況, 有較好的效果, 最後 用從線上下載譜的方式去做. 套用蒙地卡羅算法的話, 就是給電腦 用隨機亂下, 記譜, 再自己去模仿自己. ... 看起來很合理, 但以上基本上是一個大誤區. 所以這一個討論很早就開始偏離了遊戲設計的精神. 誤區的原因是, 那是用「技術」的角度去思考問題, 而不是用「遊 戲」的角度去思考問題. 當我們談及圍棋或者象棋的時候, 其實已 經慢慢脫離「遊戲」的本質了, 因為圍棋和象棋雖然是遊戲, 但本 質上和我們現在的遊戲有分別. 1. 它有永恆的思考性 -- 這些遊戲都被證明有足夠的複雜程度, 使他們到今天都未能有 最優解, 因此才生存到今天成為世界文化. 假設象棋出現了最 優解, 這個遊戲的價值也會立即向下跌, 所以有世界象棋比賽 不會有世界過三關比賽, 他的價值本身就是「沒有最優解」, 而且生存夠久變成文化. 換句話說, 這和追求最優解的 AI 是完全對立的, 玩這種遊戲 最大的樂趣在於無限思考------幾乎都集中在這點. 但我們今 天玩的電腦遊戲, 本身追求的有更多的東西, 例如劇情, 爽度 , 情感投射, 沒甚麼人玩圍棋會像佐為一樣想到玄天宇宙神之 一手, 沒甚麼人玩象棋真的會想像自己統率百萬大軍. 所以「AI 會增加遊戲性」是因為這種遊戲的本質就是無限思 考, 但是我們現在做的電腦遊戲, 並不是做這樣的東西. 我們 的賣點並非是無限思考. 所以做 AI 「未必會增加遊戲性」, 甚至可能「對遊戲性有害」. 2. 玩者覺得 AI 不足的想法 -- 玩者說遊戲的人工智能太弱, 是否代表他說的是事實? 是否代 表他不滿意遊戲的人工智能, 所以遊戲的人工智能須改進? 玩者是消費者, 他們並不是經過邏輯判斷或者嚴謹的推論, 去 得出「遊戲的人工智能太低」這樣的推論. 他們只是「感覺」 人工智能很弱, 同時「感覺」不夠好玩. 而得出因為人工智能 太弱而不好玩的理論. 如果從技術的角度看這件事, 使用者抱怨XX, 就該改進XX , 但那是十分工程師的想法. 作為遊戲人, 我們應該想的是, 使用者是基於甚麼理由抱怨XX? 而這個理由很可能, 甚至大 部份時候, 都不是玩者所想的那個理由. 3. 不是人工智能問題 -- 回歸「遊戲設計」的原點, 其實所謂 AI 問題, 往往不是人工 智能的問題, 而是難度和逃戰性的問題. 逃戰性和玩者是一個 平衡, 大概可以這樣看: 玩者的遊戲經驗 < 遊戲難度 -- 挫敗感 / 挑戰欲 玩者的遊戲經驗 = 遊戲難度 -- 成功感 玩者的遊戲經驗 > 遊戲難度 -- 覺得意猶未盡, 或者磨劍而 無用 比方說我已經弄出了攻擊力 9000 的武器, 怪物最多都只有 5000 HP , 玩者就會覺得是沒有挑戰性. 那九千的武器和五千 的武器都是一擊斃命, 為何要有九千的武器? 假設是 RPG, 你 真的只設一隻十萬點體力的血牛給他打就可以了. 但是競技遊 戲的話, 玩者要求你設的是人工智能, 在玩者的角度, 他所得 到的其實無異那隻血牛, 但用開發者的角度, 那是一個極深奧 的數學和工程問題. 玩者批評 AI 蠢, 當然 AI 是應該蠢的, 但那不等於蠢是一個問題. 實際上, 你只需要讓玩者多出來的「遊戲經驗」變得有用, 才 是解決問題的方法, 把人工智能再上去, 也不會解決問題, 甚 至使問題惡化. 因為有一點非常重要的是: 「你怎樣判斷玩者的遊戲經驗呢? 」 也許你可以讓玩者設難度或者甚麼的, 但其實玩者自己也不很 清楚自己的遊戲經驗, 而且你一旦有設難度甚麼的, 玩者都傾 向追求最強. 然後大家都齊到那水準, 設弱的部份, 在競爭類 的遊戲會慢慢形同虛設, 比方說 KOF 你要設底板也可以設到 超弱的, 可是變成大家會避開那種智障機臺. 實際上, 這種遊 戲最後的難度, 都只是殊途同歸的. 4. 改進人工智能的負面作用 -- 如果你把 AI 不斷改下去, 結果就只是會使遊戲產生新手不可 及的門檻, 差不多就是把所有新玩者打在外面, 就像格鬥遊戲 這十年, 已經去到新手莫問的境界一樣. 老手的經驗既不會消失, 也難以接受把他們經驗全部瓦解的新 系統, 所以像格鬥遊戲人工智能這種事情, 發展下去基本上屬 於一個大陷阱. 就是既不能滿足老手也趕跑了新手. 發展下去 甚至是對遊戲的未來有害而不是有益的. 「玩者經驗和技術的差別」才是要解的問題, 人工智能則是一 個誤區, 我們作為遊戲設計, 是要讓遊戲變得好玩, 至於玩者 對遊戲的想法, 要知道他是玩者而不是遊戲設計師, 他只是依 自己的想法去看那遊戲的設計, 而不是依「所有玩者」的角度 去思考這件事, 所以他個人覺得人工智能不足, 不等於其他人 也同時認為如此, 為了一個人的想法去改動整個遊戲, 很容易 得出其他所有人都不滿的結果: 改進人工智能這件事, 也很可 能是「只是一個人的想法」. 也就是說, 當我們想要改動人工智能時, 我們要考慮的是怎樣 服務大多數人, 令人工智能「變強」則是一種單向的想法. 5. 「得物為所用」 -- 人工智能是一個偽命題, 「得物為所用」才是真正的命題, 重 點是怎樣令玩者增加了的操作能力, 經驗, 可以有應用的地方 而不在於增強人工智能. 人工智能只是遊戲設計時會用到的一 種手段, 而不是全部. 基本上要不斷增強人工智能的想法, 無 異於「我要長達 100 小時的超優質 3D 動畫, 再加全世界最 紅的一千名聲優, 遊戲就會變好玩」的理論. 舉一個例子, 在格鬥遊戲當中推出殘廢型角色, 使高階玩者使 用這種角色, 幾乎讓賽而勝利就是一個常見的方法. 這種角色 通常在攻擊技能上特別薄弱, 而保留足夠的回避和防守技能, 使他們既不致於被強勢角色用最優解壓倒, 同時又無法輕易對 敵人構成威脅. 這就是「運用玩者已成熟的操作能力」. 又或者, 提供某些挑戰的特殊獎勵, 例如全血過關, 十秒內擊 倒, 這些都是十分可行的. 這些都是從廣義「遊戲設計」上的 角度去看事情, 若能解決得物為所用的問題就可以, 人工智能 可以是一種解決方式. 6. 所以人工智能沒有用? -- 不是. 如果你來問我, 甚麼才是最好的遊戲人工智能, 我認為根本就 不應該是「最會勝利的智能」, 而是「最有娛樂性的智能」, 人類跟人類奕棋的樂趣在哪裡? 並不是人類有超乎常人的棋力 , 而是人類本身有感情. 比方說, 會下指導棋, 會故意讓賽來鼓勵新手, 會留意到對方 想做的事, 順水推舟讓對方理解到遊戲的樂趣. 又或者刻意表 現出挫敗去讓對方感到高興. 如果我們做的是「遊戲」, 而不 是「精密計算」, 我們的目標就是提供娛樂性, 那人工智能的 目標也應該是提供娛樂性, 所以人工智應該要能要懂得去判斷 玩者的棋力和情緒, 而不是單純把棋下至勝利. 那我認為對於 遊戲而言, 這種人工智能真的是「遊戲的智能」. 從玩者的操 作, 打鍵盤的速度, 分析出玩者的情緒, 再予以回應, 這種智 能也許比把遊戲弄得更困難來得有用. 並不提升娛樂性的人工智能, 某程度上就是把事情本末倒置了 , 可是一談及智能, 我們都只是在談怎樣增加難度, 花了大量 的成本去增加難度, 除非遊戲的本質就是難度, 否則那大部份 時候都是壞的發展. 人工智能並不是無用, 但「打贏玩者」並不是遊戲人工智能的 目的, 增加難度也只是為了讓玩者打贏而已. 到頭來我們是否 追求勝利? 似乎人工智能追求的其實是「更精彩更富娛樂性的 失敗」, 我們並不是想電腦永遠能打贏人類, 而是想人類打贏 電腦時更有成功感而已. 如果一心求勝, 那就是忘卻初衷了. -- 戰略遊戲版 SLG (C)lass > 8 戰略高手 > 11 GameTopics > 28 SLG 絕望人民共和國官方網站... http://chinesepeking.wordpress.com/ -- ※ 編輯: chenglap 來自: 61.18.51.146 (12/02 12:40)

12/02 12:51, , 1F
有看有推
12/02 12:51, 1F

12/02 12:54, , 2F
有看過 Programming Game AI 的話應該有聽過一個小故事
12/02 12:54, 2F

12/02 12:54, , 3F
開發Halo的時候發現,讓玩家感覺電腦「變聰明」最簡單的
12/02 12:54, 3F

12/02 12:55, , 4F
方式就是...把電腦角色血量調多...
12/02 12:55, 4F

12/02 12:55, , 5F
所以玩家可能真的感覺電腦不夠聰明,但解法未必是開發
12/02 12:55, 5F

12/02 12:55, , 6F
更好的人工智能
12/02 12:55, 6F

12/02 13:33, , 7F
娛樂性真的是最重要的....
12/02 13:33, 7F

12/02 16:25, , 8F
好文要推!!
12/02 16:25, 8F

12/02 17:31, , 9F
切中要點
12/02 17:31, 9F

12/02 18:56, , 10F
不過有一小點想補充的是,你做得出更好的AI,你就有辦法把
12/02 18:56, 10F

12/02 18:57, , 11F
AI降下來滿足遊戲技巧比較差的玩家,既能讓深度玩家感到公
12/02 18:57, 11F

12/02 18:57, , 12F
平競爭的快感,也能讓休閒玩家得到輕鬆屠殺的快感。而在AI
12/02 18:57, 12F

12/02 18:58, , 13F
不夠強時,我們只能做到後者。雖然就商業利益來說,後者人
12/02 18:58, 13F

12/02 18:58, , 14F
數往往大於前者這也是事實啦。
12/02 18:58, 14F

12/02 19:00, , 15F
另外AI的研究並不只有解題,如何做到本篇提到的一些人性化
12/02 19:00, 15F

12/02 19:01, , 16F
思考也是議題。當圍棋AI能夠衝擊高段棋手,又能具有一定的
12/02 19:01, 16F

12/02 19:01, , 17F
人性化去下指導棋,那每個弱棋都能便宜擁有一個高段圍棋家
12/02 19:01, 17F

12/02 19:02, , 18F
教。
12/02 19:02, 18F

12/02 19:03, , 19F
遊戲AI只是偏重應用比例不同,但其實是不會偏低學術上的AI
12/02 19:03, 19F

12/02 19:04, , 20F
研究的。
12/02 19:04, 20F

12/02 19:44, , 21F
比較推ddavid
12/02 19:44, 21F

12/06 00:24, , 22F
寫的真好~~~最有娛樂性的AI才是好AI
12/06 00:24, 22F
文章代碼(AID): #1GkjIuUX (GameDesign)
討論串 (同標題文章)
文章代碼(AID): #1GkjIuUX (GameDesign)