[程式] 请教棋盘类游戏AI学习建议

楼主: eucylin (Cloud)   2015-07-01 14:28:36
本鲁最近要跟别人合作写一个 棋盘类、回合制的游戏
棋盘大小在6x6 ~ 8x8 之间
规则类似象棋 + 游戏王
透过移动棋子来攻击对手的棋子,只是一回合可移动的棋子不只一个
最近在思考AI的部分怎么写
由于本鲁以前没接触过什么AI设计,对审局什么的这方面较不理解
查找资料后又听闻回合制的AI会比即时战略的AI更难写,甚感惶恐
所以来请教版上的神人大大:
有没有什么适合的AI入门书籍?(中文佳、回合制AI佳)
或是游戏AI的教学或学习网站、经典必读这类的
谢谢各位了!
作者: azureblaze (AzureBlaze)   2015-07-01 14:55:00
对AI而言回合和即时是一样的东西吧会说回合难应该是因为棋类的发展很久了要做出跟其他比有竞争力的不容易
作者: cowbaying (是在靠北喔)   2015-07-01 15:18:00
我认为没有什么必读的 重点是你想要怎样让你的程式能够思考AI其实就是一堆if 组成的可以先参考版上#1Jx_qm_f 有原始码
作者: cooper6334 (库波)   2015-07-01 15:56:00
A*,Alpha-Beta,蒙地卡罗 可以google看看这些算法
作者: hodsala (猴的沙拉)   2015-07-01 16:01:00
跟着感觉走
作者: titan1127 (泰坦子)   2015-07-01 17:11:00
你怎么想就让程式怎么想
作者: LayerZ (無法如願)   2015-07-01 17:23:00
走出一步,算出一步,算出N步,边算边计分
作者: oikl1268 (迷路)   2015-07-01 18:04:00
看到游戏介绍和我先前设计的桌游竟然有9成像 ̄▽ ̄不过后来发现深广度很难设计,就转设计别的游戏了
作者: zxcmoney (修司)   2015-07-01 19:06:00
将情境转换成数字加以决策 就是运筹学与博弈论吧?
作者: ctrlbreak   2015-07-01 21:01:00
finite-state machine 有限状态机
作者: laymu (炎罗)   2015-07-01 21:02:00
让AI每次都丢骰子决定要干么就好了
作者: holymars   2015-07-01 22:33:00
即时制的AI通常基于状态机(FSM)或行为树(Behavior tree)回合制战棋的AI会基于search algorithm像上面提的A*之类要基于search algorithm就得有一种计算方法来评估每一种盘面的“分数”再基于回合的盘面变化来进行search要说哪个比较难写..总之就是各有各的用途吧
作者: viceversa56 (姊超猛)   2015-07-01 23:54:00
有空去看一下A*吧,很多寻路都会用到,当然不用也可以制作出来我觉得你这个游戏没有到这么难,你的AI不是设计和电脑对战,如果是设计成线上游戏,就要用client server架构眼残..把即时战略看成要做线上即时游戏..
作者: cybaw (y=sinx+cosx)   2015-07-02 12:49:00
离散数学?
楼主: eucylin (Cloud)   2015-07-03 14:26:00
谢谢各位的建议!! 目前正在尝试用Alpha-beta剪枝设计中
作者: ddavid (谎言接线生)   2015-07-04 01:22:00
@laymu 每次都丢骰子不行喔,这样你会发现AI的行为完全没有一致性,可能会发生前一刻往前走,下一刻又没理由地往后走,连基本if-then AI的行动感都不如大概就像RPG游戏中常见路人NPC在路上没目标乱走一通的感觉回合制AI比即时制AI难写的误解,主因应是出在玩家对AI的期待差别。事实上举出Starcraft跟LoL的AI来看,至今仍是远远落后玩家。Starcraft只要技术战术运用得宜,从一挑二到一挑七家电脑都是没问题的事情。LoL也是一个会玩的玩家就足以一个人杀爆五个电脑,这还是在电脑英雄的经济是作弊处理的条件下。但玩家因为有操作感又杀得很爽,所以不觉得电脑烂到这个地步不好玩,真的想要强力对战感的都去打玩家了。相较之下回合制的AI会比较被要求对应强度,特别是常见棋类游戏的目标更都摆在直接正面跟人类对抗。一开始评估标准落差就很大了。
作者: os653   2015-07-04 03:11:00
Starcraft跟LoL的AI目的本来就不是要多强,会放水很正常以前War3有些特别强调AI的地图就不是那么好打了
作者: viceversa56 (姊超猛)   2015-07-05 00:33:00
身为一个玩家对ai期待至少不要走废步 XD突然想到,以前做回合制游戏,当ai难度提高Alpha-beta搜寻计算时间会变长,回合制游戏电脑想个3~5秒没关系,但线上即时游戏的ai,没办法让BOSS思考太久,这也许也是BOSS不强原因之一
作者: cjcat2266 (CJ Cat)   2015-07-05 05:57:00
是因为boss太强就不好玩了吧,强的即时游戏boss不难写难写的是好玩的boss及时游戏boss行为应由游戏设计师和AI程式设计师合作像萨尔达传说的boss就是这样,不强,但是设计得很好玩
作者: ddavid (谎言接线生)   2015-07-07 01:38:00
即时战略游戏AI让你觉得强的,一方面是地图设计配合,另外就是加上一些作弊(地图全开、收入调整)Starcraft跟LoL与其说AI本来就不是要多强,不如说要做得强Cost太高了没意义。要是Cost不高的话当然是不做白不做,还可以加入看起来很公平的难度调整让玩家看起来很高级XD另外对战的即时战略游戏没办法用强大Boss处理难度,基本条件是公平的,在运算要快的前提下想跟战术可以不断进化学习的人类玩家一样强实在挺难的。但事实上话说回来,即便是非即时的SLG,认真做AI的游戏也是少中之少......XD
作者: cowbaying (是在靠北喔)   2015-07-07 08:15:00
太强的AI = hardcore
作者: LayerZ (無法如願)   2015-07-07 11:45:00
mmo boss强不强其实跟AI没有多大关系喔,最近刚好接触到一款游戏 "史丹利的预言" 可以参考看看需要的不是AI而是心理学XD 不过跟棋盘AI完全是两个方向了

Links booklink

Contact Us: admin [ a t ] ucptt.com