这个其实挺复杂的,我也不知道一个回答能不能写的完,我就写简单点
格斗游戏基本不存在目标这回事,就是P1和P2,所以在AI里面都是直接取的,比如直接取P2的state(虽然可以做双人,但是最多也就有一个nearenemy之类的取最近的单位)
底层框架会提供很多接口,用来查询对手与自己的水平、垂直距离,动作状态,state编号,甚至动画播放时间等等
一般所有角色的基础动作都是统一的state编号,比如受击,倒地,站立之类的
然后在这个基础上就可以写AI了
首先有几个基本概念:立回,连段,压制,起攻,插动(自行百度)
搞清这几个基本概念你就基本搞清了什么时候进攻,什么时候防御了
具体实现这些基本概念的方式,就要根据程序引擎的实际情况了,每种都是不一样的
相对比较简单的,AI就是一大段从上到下顺序执行的case(如果XXXX,就XXXXX)
比如连段就是(如果重拳击中,对方处于地面受击,就出前A)之类的
比如防御(如果对方处于下蹲,并且处于动作,并且水平距离小于4个像素,就使用下蹲防御)
如果读state编号和动画时间太猛,会导致AI不可战胜
所以一般会写概率动作,或者难度标识,或者控血,这样AI就不会太IMBA
— 完 —
本文作者:知乎用户(登录查看详情)
【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)
此问题还有 6 个回答,查看全部。
延伸阅读:
有什么好玩的塔防游戏推荐?
塔防游戏的乐趣在哪里?