游戏中的AI设计有很多大师以及作品,不过因为在下很懒没能读完一本,惭愧QAQ,在此稍微抛个砖引个玉,说点简要的模式描述吧
因为不太清楚题主所要设计的AI的层次,所以在这里两个都说一下。
行为模式
首先是AI整体实现的方式,可以使用状态机或者决策器。不管哪一种实现方式,最终玩家感受到的都是怪物的一套“行为模式”。
状态机的实现方式中,游戏角色有多种行动模式,在每种行动模式中会采取基本固定的行动策略,而这种行动模式在满足一定条件时会转换。例如,怪物A拥有攻击模式和逃跑模式,在攻击模式中,怪物A的基本行为规则是:
1. 尽可能接近离自己最近的角色;2. 尽可能使用威力最大的方式攻击。
而当怪物A的生命值降低到30%以下时,怪物A将切换至逃跑模式。在逃跑模式中,怪物A的基本行为规则是:
1. 尽可能远离离自己最近的角色;2. 尽可能提高自己的速度。
这样可以让怪物在不同的条件下表现出不同的行为,看上去似乎还算“智能”啦。
另一种方式是采用决策器的方式,简单的说,就是提出多个方案,然后根据决策部分来决定听谁的(有点像EVA中的超级计算机)。
例如,怪物A有三个决策核心(中二一下),分别是杀戮核心,生存核心和恐惧核心。其中杀戮核心总会选择能最快杀死敌方角色的方案,生存核心总会选择提高自身安全的方案,而恐惧核心总会选择逃离目前最强敌人的方案。这时候,三个核心通过对周围环境的计算来对方案进行投票,选择出最终要执行的方案。当自身生命值较低时,生存核心的比重会上升。当周围敌人较弱时,杀戮核心的比重会上升,而如果情况相反的话,恐惧核心的比重会上升。利用这样的决策装置,能让怪物看上去更有智慧一些。
除此之外还有其他的方式,并且这些方式还可以共同使用,例如在不超出一定范围的条件下,怪物采用常规的状态机模式来应对战斗,但是一旦出现“超规格”情况,那么怪物会切换到决策模式来面对挑战(是不是感觉更有智慧了)。
具体规则
如果要精确到每一条规则的设计,又有几个需要注意的地方。第一,一般来说规则描述需要让程序员(也可能是自己)明白具体要做什么,也就是说,应该是切实可行的,准确的方案。
使用程序的语言来讲,至少是在有限的时间内可以遍历出来的方案才可以。
第二,如果还想要结合剧情和角色的扮演,那么角色的行为应当是能体现出角色特点的设计。例如勇敢的角色对自身受伤或者对方威胁考虑的权重应当减小。
第三,设计可以让一条规则中产生分歧,例如“如果对方的物理抗性较高,使用法术攻击。如果对方的魔法抗性较高,使用物理攻击”。不过要注意这样的设计会让结构变得复杂起来,一般来说,分支结构和状态转换选择其一即可。
更有甚者?
如果对这些还不满足,还可以尝试用机器学习的方法,用训练的方式来更改AI的思考权重(例如每次战斗之后根据结果对自己的行为模式打分,然后试着调整权重),不过对这个领域并不熟悉,而且这个离SRPG确实有点远了(
回到最简
其实大多数游戏,只要设定一种行为模式就可以啦,例如“接近最近的敌人,然后使用威力最大的招式”。这样既简单又好做,只是怪物傻傻的(
SRPG 的 AI 設計有沒有什麼規則或範例可以參考?
0 条评论