看板 GameDesign 關於我們 聯絡資訊
本魯最近要跟別人合作寫一個 棋盤類、回合制的遊戲 棋盤大小在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
azureblaze: 對AI而言回合和即時是一樣的東西吧 07/01 14:55
azureblaze: 會說回合難應該是因為棋類的發展很久了 07/01 14:56
azureblaze: 要做出跟其他比有競爭力的不容易 07/01 14:56
cowbaying: 我認為沒有什麼必讀的 重點是你想要怎樣讓你的程式能 07/01 15:18
cowbaying: 夠思考 07/01 15:18
cowbaying: AI其實就是一堆if 組成的 07/01 15:19
cowbaying: 可以先參考版上#1Jx_qm_f 有原始碼 07/01 15:21
cooper6334: A*,Alpha-Beta,蒙地卡羅 可以google看看這些演算法 07/01 15:56
hodsala: 跟著感覺走 07/01 16:01
titan1127: 你怎麼想就讓程式怎麼想 07/01 17:11
LayerZ: 走出一步,算出一步,算出N步,邊算邊計分 07/01 17:23
oikl1268: 看到遊戲介紹和我先前設計的桌遊竟然有9成像 ̄▽ ̄ 07/01 18:04
oikl1268: 不過後來發現深廣度很難設計,就轉設計別的遊戲了 07/01 18:05
zxcmoney: 將情境轉換成數字加以決策 就是運籌學與博弈論吧? 07/01 19:06
ctrlbreak: finite-state machine 有限狀態機 07/01 21:01
laymu: 讓AI每次都丟骰子決定要幹麼就好了 07/01 21:02
holymars: 即時制的AI通常基於狀態機(FSM)或行為樹(Behavior tree) 07/01 22:33
holymars: 回合制戰棋的AI會基於search algorithm像上面提的A*之類 07/01 22:33
holymars: 要基於search algorithm就得有一種計算方法來評估每一種 07/01 22:34
holymars: 盤面的「分數」再基於回合的盤面變化來進行search 07/01 22:34
holymars: 要說哪個比較難寫..總之就是各有各的用途吧 07/01 22:35
viceversa56: 有空去看一下A*吧,很多尋路都會用到,當然不用也可以 07/01 23:54
viceversa56: 製作出來 07/01 23:54
viceversa56: 我覺得你這個遊戲沒有到這麼難,你的AI不是設計和電腦 07/02 00:01
viceversa56: 對戰,如果是設計成線上遊戲,就要用client server架構 07/02 00:03
viceversa56: 眼殘..把即時戰略看成要做線上即時遊戲.. 07/02 00:06
cybaw: 離散數學? 07/02 12:49
eucylin: 謝謝各位的建議!! 目前正在嘗試用Alpha-beta剪枝設計中 07/03 14:26
ddavid: @laymu 每次都丟骰子不行喔,這樣你會發現AI的行為完全沒 07/04 01:22
ddavid: 有一致性,可能會發生前一刻往前走,下一刻又沒理由地往後 07/04 01:23
ddavid: 走,連基本if-then AI的行動感都不如 07/04 01:24
ddavid: 大概就像RPG遊戲中常見路人NPC在路上沒目標亂走一通的感覺 07/04 01:25
ddavid: 回合制AI比即時制AI難寫的誤解,主因應是出在玩家對AI的期 07/04 01:29
ddavid: 待差別。事實上舉出Starcraft跟LoL的AI來看,至今仍是遠遠 07/04 01:30
ddavid: 落後玩家。Starcraft只要技術戰術運用得宜,從一挑二到一 07/04 01:31
ddavid: 挑七家電腦都是沒問題的事情。LoL也是一個會玩的玩家就足 07/04 01:31
ddavid: 以一個人殺爆五個電腦,這還是在電腦英雄的經濟是作弊處理 07/04 01:32
ddavid: 的條件下。但玩家因為有操作感又殺得很爽,所以不覺得電腦 07/04 01:32
ddavid: 爛到這個地步不好玩,真的想要強力對戰感的都去打玩家了。 07/04 01:33
ddavid: 相較之下回合制的AI會比較被要求對應強度,特別是常見棋類 07/04 01:34
ddavid: 遊戲的目標更都擺在直接正面跟人類對抗。一開始評估標準落 07/04 01:35
ddavid: 差就很大了。 07/04 01:35
os653: Starcraft跟LoL的AI目的本來就不是要多強,會放水很正常 07/04 03:11
os653: 以前War3有些特別強調AI的地圖就不是那麼好打了 07/04 03:13
viceversa56: 身為一個玩家對ai期待至少不要走廢步 XD 07/05 00:33
viceversa56: 突然想到,以前做回合制遊戲,當ai難度提高 07/05 00:33
viceversa56: Alpha-beta搜尋計算時間會變長,回合制遊戲電腦想個3~ 07/05 00:34
viceversa56: 5秒沒關係,但線上即時遊戲的ai,沒辦法讓BOSS思考 07/05 00:34
viceversa56: 太久,這也許也是BOSS不強原因之一 07/05 00:34
cjcat2266: 是因為boss太強就不好玩了吧,強的即時遊戲boss不難寫 07/05 05:57
cjcat2266: 難寫的是好玩的boss 07/05 05:57
cjcat2266: 及時遊戲boss行為應由遊戲設計師和AI程式設計師合作 07/05 05:59
cjcat2266: 像薩爾達傳說的boss就是這樣,不強,但是設計得很好玩 07/05 06:00
ddavid: 即時戰略遊戲AI讓你覺得強的,一方面是地圖設計配合,另外 07/07 01:38
ddavid: 就是加上一些作弊(地圖全開、收入調整) 07/07 01:39
ddavid: Starcraft跟LoL與其說AI本來就不是要多強,不如說要做得強 07/07 01:40
ddavid: Cost太高了沒意義。要是Cost不高的話當然是不做白不做,還 07/07 01:40
ddavid: 可以加入看起來很公平的難度調整讓玩家看起來很高級XD 07/07 01:41
ddavid: 另外對戰的即時戰略遊戲沒辦法用強大Boss處理難度,基本條 07/07 01:42
ddavid: 件是公平的,在運算要快的前提下想跟戰術可以不斷進化學習 07/07 01:44
ddavid: 的人類玩家一樣強實在挺難的。 07/07 01:44
ddavid: 但事實上話說回來,即便是非即時的SLG,認真做AI的遊戲也 07/07 01:45
ddavid: 是少中之少......XD 07/07 01:45
cowbaying: 太強的AI = hardcore 07/07 08:15
LayerZ: mmo boss強不強其實跟AI沒有多大關係喔,最近剛好接觸到一 07/07 11:45
LayerZ: 款遊戲 "史丹利的預言" 可以參考看看 07/07 11:46
LayerZ: 需要的不是AI而是心理學XD 不過跟棋盤AI完全是兩個方向了 07/07 11:49