作者hyentai (智慧财产权规划师)
看板GameDesign
标题[请益] 回合制的游戏AI设计概念
时间Fri Sep 23 17:36:53 2011
目前在处理电脑角色的AI中,原本是采用有限状态机的方式去进行
用这样的方式列出资料,光是判别一个角色在不同的状态下
就可以产生将近三万笔的资料。
有没有可能是用公式的方式导入AI呢?
为了庞大的资料而烦恼中 @_@a
--
Bonjour Taiwan - H.Tabrio
http://tabrio.blogspot.com/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.175.96.77
1F:推 kuso0516:作弊 09/23 19:25
2F:推 LaPass:翻了wiki之後,看不懂有限状态机是什麽东西 = = 09/23 19:41
3F:推 LaPass:我不是资讯相关科系的,请问这方面的东西要找哪些书?还有 09/23 19:50
4F:→ LaPass:请问资讯工程都在这种东西吗? 09/23 19:51
5F:推 ericinttu:finite state machine, FSM. 09/23 20:02
6F:推 ericinttu:可能有些状态可以合并, 但也要分析过才能说有或没有. 09/23 20:09
7F:→ ericinttu:FSM比较像是例举画出所有可能走的路线. 09/23 20:10
8F:→ ericinttu:假如从某个状态转移到它所有可能的下一个状态是用机率的 09/23 20:11
9F:→ ericinttu:话, 按照FSM会是合理的方式. 09/23 20:11
10F:推 ericinttu:要用公式的话, 设计者就要看出 怎麽走下一步 会比较有利 09/23 20:14
11F:→ ericinttu:不知道原PO的回合制是类似哪一种游戏的回合制? 09/23 20:15
12F:推 ericinttu:爬文找"AI" 2008年 mudgame那串也有讨论到FSM. 09/23 20:21
13F:→ hyentai:我有爬文过了,我也有看欧莱礼的游戏人工智慧 09/23 20:58
14F:推 gpmm:状态机展开就已经是穷举了啊,只能用公式演算吧 XD 09/23 20:59
15F:→ hyentai:我本身也非资工科系,但沟通上还是要懂程式的部份 09/23 20:59
16F:→ hyentai:在思考,该如何用公式演算。 09/23 21:00
17F:→ hyentai:目前游戏的回合方式,比较像是格斗的形态,电脑需要判定 09/23 21:01
18F:推 Hevak:回合制的什麽游戏也要大概讲一下比较好讨论吧@_@ 09/23 21:29
19F:→ Hevak:比方说RPG的话,比起穷举机率,用公式判断情况或许比较好 09/23 21:30
20F:→ hyentai:嗯嗯,它比较像是对打格斗游戏,都需要从地图中找到彼此 09/23 21:37
21F:→ hyentai:然後想办法KO对方。 09/23 21:37
22F:推 ericinttu:招式与反击技之攻防的格斗游戏吗? 09/23 21:43
23F:→ ericinttu:不知道你要赋予AI多少的公平性(或者说多少cheat能力)? 09/23 21:45
24F:→ hyentai:嗯,没错。所以需要判别的地方就会有游戏剩余时间、 09/23 21:45
25F:→ hyentai:两者的距离跟是否有没有道具,再决定进行要攻击的方式。 09/23 21:46
26F:→ ericinttu:设计AI还牵涉到 要练多少功与player level-up的速度. 09/23 21:47
27F:→ ericinttu:PS. 我上面三行是连起来一起讲的 09/23 21:48
28F:→ hyentai:有将关卡分等级,最难部份以干掉玩家10场有5场的机率 09/23 21:49
29F:推 ericinttu:先订出难度,再来决定 AI with cheat能力,会比较容易订下 09/23 21:50
30F:→ ericinttu:来. (我是这麽觉得啦) 09/23 21:51
31F:→ hyentai:电脑AI cheat能力,我是觉得还ok,因为可以调。比较烦恼的 09/23 21:52
32F:→ hyentai:不想用穷举的方式,再想该怎麽用成公式的方法来演算。 09/23 21:53
33F:推 ericinttu:没看到东西也很难想下去 (爆) 这部份也没办法公开出来XD 09/23 21:58
34F:→ ericinttu:订太细的东西,一定有办法合并成一项的. 影响游戏胜负的 09/23 21:59
35F:→ ericinttu:关键因素, 不可能太多的. 09/23 22:00
36F:→ ericinttu:这是指一般游戏. 假如是西洋棋/围棋/象棋之类的又另当别 09/23 22:01
37F:→ ericinttu:论 ORZ 09/23 22:01
38F:→ hyentai:嗯,确实还没办法放出来,因此只能请教大家的经验法则了。 09/23 22:02
39F:→ ericinttu:你的FSM, 跑到下一个state, 是靠机率还是什麽? 09/23 22:05
40F:→ hyentai:机率,所以需要判别的状态越多,我就得努力的复制贴上XD 09/23 22:06
41F:推 ericinttu:假如 完善的行为模式 与 精简後的行为模式, 并不会影响 09/23 22:09
42F:→ ericinttu:到 player 对抗 AI 的困难度, 应该没理由不用後者. 09/23 22:10
43F:→ ericinttu:我一直以为你的FSM是可以精简化的 XD (也只是以为啦) 09/23 22:11
44F:→ ericinttu:假如有时间也有测试人员的话, 可以试试这种双试验路线. 09/23 22:12
45F:推 LaPass:在复制贴上程式码的时候,请记得,这不是好程式码该会有的 09/23 22:50
46F:→ LaPass:状况..... 09/23 22:50
47F:推 Hevak:需要复制贴上的部分应该要用sub去做 09/23 22:51
48F:→ LaPass:程式不应该有一大堆「看起来差不多但只差一点点」的程式码 09/23 22:51
49F:→ LaPass:通常,会有方法解决那些东西.... 例如泛型等等 09/23 22:52
50F:→ LaPass:请问sub是什麽? 09/23 22:52
51F:推 Hevak:啊,少打字,我是要说子程序.. 09/23 22:56
52F:→ hyentai:阿,楼上与楼楼上误会了,我指的复制贴上是在excel穷举时 09/23 23:08
53F:→ hyentai:并非程式码,我本身不会写程式。 09/23 23:09
54F:→ hyentai:但还是谢谢你们的提醒!!^.<* 09/23 23:10
55F:→ hyentai:我想改用类神经网路的方式来处理 09/23 23:10
56F:推 ericinttu:想问问"想用ANN"的理由? 09/23 23:17
57F:→ ericinttu:我也想知道是不是有许多游戏都依赖着ANN XD 09/23 23:21
58F:→ hyentai:这可能得问版上有在游戏产业的人了,我并非游戏产业。 09/23 23:50
59F:推 KanoLoa:FSM改成ANN... 游戏产业应该都用捷径 AI真的太强也没人爱 09/24 00:40
60F:推 LaPass:棋类的AI算是例外吧? 09/24 10:15
61F:推 chenglap:我一向对於 AI 的态度都是吃力不讨好, 可免则免... 09/24 10:25
62F:→ hyentai:认同AI真的很吃力不讨好O________Q 09/24 11:24