如果要训练AI当策略游戏的平衡还有拿来当AI的思维:
先分类型 规则多的或者数值多的
规则多的基本上必须以decision tree为主的方式去设计AI
数值多的话则很好套用hidden layer的概念
当然是建议规则类型能减少就减少,毕竟越多规则会造成复杂的程式码
魔法风云会就是规则多 然后多到还有官方出被自己方官方禁卡的智障行为
写成程式当然也是超级麻烦
训练过程可以定义方向会方便很多,比如战棋或者卡牌或者RTS有"胜负"
因为可以定义胜负了,所以可以采用强化学习(Reinforcement learning)去让AI左右互搏
学到一定程度之后,检查"strategy space" 和 "strategic depth"
如果Strategy Space太小就是平衡太差,
好的平衡就是尽可能扩大Strategy Space 从这个定义可以看出训练上的困难,
因为AI训练是要找一个最好可以收敛的方向,比如胜率最终双方会趋于50:50
(一般来说通常有先发优势,可能是55:45,举例来说,麻将就是25:25:25:25,四个高手
一起打就是平均值在平手。)
问题是我们想要并不是一个收敛的结果,而是尽可能发散的Strategy Space。
反向传播(Backpropagation)训练AI是只能往收敛走,无法往发散走的。
从AI概念可以推论出真把平衡做好的很难
玩游戏也可以看出这种天生的非对称性:
策略游戏玩家经常可以找到较好的策略,甚至因为某几招特别好用,大家都用同一招了
策略游戏制作团队却难以找到好的平衡,
比如Blizzard遇到平衡问题,就是先nerf再说"我们觉得这样很cool。"