[程式] 請教棋盤類遊戲AI學習建議

看板GameDesign (遊戲設計)作者 (Cloud)時間10年前 (2015/07/01 14:28), 編輯推噓16(16051)
留言67則, 17人參與, 最新討論串1/1
本魯最近要跟別人合作寫一個 棋盤類、回合制的遊戲 棋盤大小在6x6 ~ 8x8 之間 規則類似象棋 + 遊戲王 透過移動棋子來攻擊對手的棋子,只是一回合可移動的棋子不只一個 最近在思考AI的部分怎麼寫 由於本魯以前沒接觸過什麼AI設計,對審局什麼的這方面較不理解 查找資料後又聽聞回合制的AI會比即時戰略的AI更難寫,甚感惶恐 所以來請教版上的神人大大: 有沒有什麼適合的AI入門書籍?(中文佳、回合制AI佳) 或是遊戲AI的教學或學習網站、經典必讀這類的 謝謝各位了! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.125.121.89 ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1435732118.A.9B8.html

07/01 14:55, , 1F
對AI而言回合和即時是一樣的東西吧
07/01 14:55, 1F

07/01 14:56, , 2F
會說回合難應該是因為棋類的發展很久了
07/01 14:56, 2F

07/01 14:56, , 3F
要做出跟其他比有競爭力的不容易
07/01 14:56, 3F

07/01 15:18, , 4F
我認為沒有什麼必讀的 重點是你想要怎樣讓你的程式能
07/01 15:18, 4F

07/01 15:18, , 5F
夠思考
07/01 15:18, 5F

07/01 15:19, , 6F
AI其實就是一堆if 組成的
07/01 15:19, 6F

07/01 15:21, , 7F
可以先參考版上#1Jx_qm_f 有原始碼
07/01 15:21, 7F

07/01 15:56, , 8F
A*,Alpha-Beta,蒙地卡羅 可以google看看這些演算法
07/01 15:56, 8F

07/01 16:01, , 9F
跟著感覺走
07/01 16:01, 9F

07/01 17:11, , 10F
你怎麼想就讓程式怎麼想
07/01 17:11, 10F

07/01 17:23, , 11F
走出一步,算出一步,算出N步,邊算邊計分
07/01 17:23, 11F

07/01 18:04, , 12F
看到遊戲介紹和我先前設計的桌遊竟然有9成像 ̄▽ ̄
07/01 18:04, 12F

07/01 18:05, , 13F
不過後來發現深廣度很難設計,就轉設計別的遊戲了
07/01 18:05, 13F

07/01 19:06, , 14F
將情境轉換成數字加以決策 就是運籌學與博弈論吧?
07/01 19:06, 14F

07/01 21:01, , 15F
finite-state machine 有限狀態機
07/01 21:01, 15F

07/01 21:02, , 16F
讓AI每次都丟骰子決定要幹麼就好了
07/01 21:02, 16F

07/01 22:33, , 17F
即時制的AI通常基於狀態機(FSM)或行為樹(Behavior tree)
07/01 22:33, 17F

07/01 22:33, , 18F
回合制戰棋的AI會基於search algorithm像上面提的A*之類
07/01 22:33, 18F

07/01 22:34, , 19F
要基於search algorithm就得有一種計算方法來評估每一種
07/01 22:34, 19F

07/01 22:34, , 20F
盤面的「分數」再基於回合的盤面變化來進行search
07/01 22:34, 20F

07/01 22:35, , 21F
要說哪個比較難寫..總之就是各有各的用途吧
07/01 22:35, 21F

07/01 23:54, , 22F
有空去看一下A*吧,很多尋路都會用到,當然不用也可以
07/01 23:54, 22F

07/01 23:54, , 23F
製作出來
07/01 23:54, 23F

07/02 00:01, , 24F
我覺得你這個遊戲沒有到這麼難,你的AI不是設計和電腦
07/02 00:01, 24F

07/02 00:03, , 25F
對戰,如果是設計成線上遊戲,就要用client server架構
07/02 00:03, 25F

07/02 00:06, , 26F
眼殘..把即時戰略看成要做線上即時遊戲..
07/02 00:06, 26F

07/02 12:49, , 27F
離散數學?
07/02 12:49, 27F

07/03 14:26, , 28F
謝謝各位的建議!! 目前正在嘗試用Alpha-beta剪枝設計中
07/03 14:26, 28F

07/04 01:22, , 29F
@laymu 每次都丟骰子不行喔,這樣你會發現AI的行為完全沒
07/04 01:22, 29F

07/04 01:23, , 30F
有一致性,可能會發生前一刻往前走,下一刻又沒理由地往後
07/04 01:23, 30F

07/04 01:24, , 31F
走,連基本if-then AI的行動感都不如
07/04 01:24, 31F

07/04 01:25, , 32F
大概就像RPG遊戲中常見路人NPC在路上沒目標亂走一通的感覺
07/04 01:25, 32F

07/04 01:29, , 33F
回合制AI比即時制AI難寫的誤解,主因應是出在玩家對AI的期
07/04 01:29, 33F

07/04 01:30, , 34F
待差別。事實上舉出Starcraft跟LoL的AI來看,至今仍是遠遠
07/04 01:30, 34F

07/04 01:31, , 35F
落後玩家。Starcraft只要技術戰術運用得宜,從一挑二到一
07/04 01:31, 35F

07/04 01:31, , 36F
挑七家電腦都是沒問題的事情。LoL也是一個會玩的玩家就足
07/04 01:31, 36F

07/04 01:32, , 37F
以一個人殺爆五個電腦,這還是在電腦英雄的經濟是作弊處理
07/04 01:32, 37F

07/04 01:32, , 38F
的條件下。但玩家因為有操作感又殺得很爽,所以不覺得電腦
07/04 01:32, 38F

07/04 01:33, , 39F
爛到這個地步不好玩,真的想要強力對戰感的都去打玩家了。
07/04 01:33, 39F

07/04 01:34, , 40F
相較之下回合制的AI會比較被要求對應強度,特別是常見棋類
07/04 01:34, 40F

07/04 01:35, , 41F
遊戲的目標更都擺在直接正面跟人類對抗。一開始評估標準落
07/04 01:35, 41F

07/04 01:35, , 42F
差就很大了。
07/04 01:35, 42F

07/04 03:11, , 43F
Starcraft跟LoL的AI目的本來就不是要多強,會放水很正常
07/04 03:11, 43F

07/04 03:13, , 44F
以前War3有些特別強調AI的地圖就不是那麼好打了
07/04 03:13, 44F

07/05 00:33, , 45F
身為一個玩家對ai期待至少不要走廢步 XD
07/05 00:33, 45F

07/05 00:33, , 46F
突然想到,以前做回合制遊戲,當ai難度提高
07/05 00:33, 46F

07/05 00:34, , 47F
Alpha-beta搜尋計算時間會變長,回合制遊戲電腦想個3~
07/05 00:34, 47F

07/05 00:34, , 48F
5秒沒關係,但線上即時遊戲的ai,沒辦法讓BOSS思考
07/05 00:34, 48F

07/05 00:34, , 49F
太久,這也許也是BOSS不強原因之一
07/05 00:34, 49F

07/05 05:57, , 50F
是因為boss太強就不好玩了吧,強的即時遊戲boss不難寫
07/05 05:57, 50F

07/05 05:57, , 51F
難寫的是好玩的boss
07/05 05:57, 51F

07/05 05:59, , 52F
及時遊戲boss行為應由遊戲設計師和AI程式設計師合作
07/05 05:59, 52F

07/05 06:00, , 53F
像薩爾達傳說的boss就是這樣,不強,但是設計得很好玩
07/05 06:00, 53F

07/07 01:38, , 54F
即時戰略遊戲AI讓你覺得強的,一方面是地圖設計配合,另外
07/07 01:38, 54F

07/07 01:39, , 55F
就是加上一些作弊(地圖全開、收入調整)
07/07 01:39, 55F

07/07 01:40, , 56F
Starcraft跟LoL與其說AI本來就不是要多強,不如說要做得強
07/07 01:40, 56F

07/07 01:40, , 57F
Cost太高了沒意義。要是Cost不高的話當然是不做白不做,還
07/07 01:40, 57F

07/07 01:41, , 58F
可以加入看起來很公平的難度調整讓玩家看起來很高級XD
07/07 01:41, 58F

07/07 01:42, , 59F
另外對戰的即時戰略遊戲沒辦法用強大Boss處理難度,基本條
07/07 01:42, 59F

07/07 01:44, , 60F
件是公平的,在運算要快的前提下想跟戰術可以不斷進化學習
07/07 01:44, 60F

07/07 01:44, , 61F
的人類玩家一樣強實在挺難的。
07/07 01:44, 61F

07/07 01:45, , 62F
但事實上話說回來,即便是非即時的SLG,認真做AI的遊戲也
07/07 01:45, 62F

07/07 01:45, , 63F
是少中之少......XD
07/07 01:45, 63F

07/07 08:15, , 64F
太強的AI = hardcore
07/07 08:15, 64F

07/07 11:45, , 65F
mmo boss強不強其實跟AI沒有多大關係喔,最近剛好接觸到一
07/07 11:45, 65F

07/07 11:46, , 66F
款遊戲 "史丹利的預言" 可以參考看看
07/07 11:46, 66F

07/07 11:49, , 67F
需要的不是AI而是心理學XD 不過跟棋盤AI完全是兩個方向了
07/07 11:49, 67F
文章代碼(AID): #1LauYMcu (GameDesign)
文章代碼(AID): #1LauYMcu (GameDesign)