欢迎光临散文网 会员登陆 & 注册

War Chest AI编写日记1(序章)

2021-06-24 23:53 作者:何好的小粉丝  | 我要投稿

这个系列因为我会出视频,所以专栏部分我可能不会追求逻辑通畅,随便乱写的笔记。不过我做的东西本身也没什么人关注,鸽了也无所谓。

上周末,mumu2333给我推荐了这个游戏。

我看了各种评测,这个游戏可能算是2020年最佳的几款桌游了。

这个游戏我看了几个攻略,开了一盘,现在处于对规则六分懂的状态,但是我大概知道怎么玩了,因为是战棋,而且并不特别复杂(每一步可采用的行动是很有限的),我觉得这个游戏很适合作为我写游戏AI的第一个项目。

我有一些编程的功底,当年的毕业论文也是神经网络相关的,不知道能不能用上,我打算边学边写。

这是个2人战棋游戏(可3-4人)。

棋盘

这个游戏的规则大致是一个蜂窝状六边形棋盘,从左到右有7路,然后上面有10个格子是locations,每个人开局有2个locations,然后谁先到6个谁赢。

每个人起手有四个兵种硬币各两张,另外皇家硬币一个,共九个,手牌区抽三张牌,剩下六个放洗牌袋里。然后开始回合,一个人打出手里三个币才该另外一个人,行动就是打出手里一个币到棋盘上或弃牌区:

到棋盘上的行动包括两个,兵种从自家locations上出生或重生,和堆叠撑血;

到弃牌堆(也就是待洗牌区)的行动包括明牌行动和扣着打出的暗牌行动,明牌行动四个:让兵种移动、攻击、使用兵种技能、控制脚下的location;

暗牌行动包括三个:抢下一回合的先手、从供应堆(带招募区)招募一个硬币到弃牌区、空过。

皇家硬币只能用于暗牌行动。

然后手里的硬币打完就该另外一个人,然后自己从洗牌袋里抽三张牌,洗牌袋的牌没有了,就把所有待洗牌区的牌放进洗牌袋洗牌再抽。所以招募的作用是调整手牌中兵种出现的频率,四个兵种硬币个数招募4次变成3333和原本2222的频率是相同的,等于浪费了4次行动。

我虽然只玩了一局,但我大概能揣摩到这个游戏的策略,我理解是这样的,我拿CS战队比赛举例:两个CS战队每个队四个兵,兵死了就会回出生点,地图上有10个点需要两个战队去插旗,出生和插旗本身需要时间,开局布局——地图上有些地方易守难攻或者战略要地就需要抢点,所以开局就需要比对方快,中盘战斗——然后两个队抢,一个人肯定抢不到,这个时候就需要打架,收官——这个游戏没有什么收官计算,打架赢了之后占6个locations结束。

然后每个兵技能不一样,类比CS就是,有的兵拿的是mp5,跑得快,擅长抢点,有点兵拿的是狙,擅长防守反击和攻坚。

我打算明天首先收集资料,然后大致立一个计划,算是开题了,这个计划可能日后面目全非。

我每天可能花2-3小时在这个事上,周末多一些。

我不确定要不要写一个界面来展示ai自对弈的过程。

AI逐步实现

首先,所有兵都是白板,但是场上最多四个兵,这样就不需要供应堆、洗牌袋、弃牌堆,而且用穷举法应该就能做。

然后,将兵分为白板A、白板B、白板C、白板D四类兵,因此需要加入洗牌袋,穷举法应该也能做。

然后,引入皇家硬币。

然后,给所有兵设置同一兵种,总共16兵种,因此从1-16逐一实现。

然后,设置多个兵种,这里应该超级复杂。

形势判断指标直觉上应该采用有效行进步数。

因为里面会有各种权重参数,可能这个权重参数需要通过不停自对弈进行迭代计算得出。

我需要看一些象棋和其他游戏AI设计的算法书籍,感觉很有挑战。



War Chest AI编写日记1(序章)的评论 (共 条)

分享到微博请遵守国家法律