游戏开发之AI的编写
关于AI(人工智能)的编写,其实主要是将AI行为分类,然后根据不同情况对不同的AI 实体进行初始化。AI行为通过map来管理。
在对AI 进行初始化后,那么单独用一个线程去跑所有AI,对每一个AI实体保持无限循环的状态(比如巡逻),直到它死亡。
总的来说,就是使用状态机。不同的状态将导致怪物不同的行为。
当有玩家 或者其他怪物进入视野后,需要广播坐标等信息给AI实体,调用AI的状态机入口,让AI实体去判断是否在攻击范围,是否攻击等等。
关于仇恨,当然使用队列来控制。
为了让AI更智能,需要一些概率事件,比如巡逻的范围指定最大和最小坐标,然后每次随机出一个两者之间的范围来巡逻。
再更进一步,BOOS的设置,BOOS会拥有技能。
而技能当然也用队列来控制,这样可以按顺序释放/随机释放/状态机控制施放。
到这里,AI已经差不多了。