跟诸子学游戏 游戏中常用的人工智能算法

2018-03-30  本文已影响29人  诸子百家谁的天下

有限状态机:

①:最简单的有限状态机实现是在类似update的方法中调用switch方法,判断状态,调用不同的方法,在方法中切换状态.

②:复杂的有限状态机实现,是有一个FSM虚类,生成一个继承自FSM的子类,将一个状态封装成为一个类,把这些类装载到继承自FSM的子类的属性(一个容器)里面,进行灵活的状态类调用.状态有初始状态,删除状态,从任意状态切换成为其他状态,通过条件判断转换成为其他状态.有时候也将状态和状态之间的切换关系用属性(一个容器)装载起来,进行灵活的调用.

随机和概率

击中概率(命中率),损害概率(是否受伤,装备损坏),性格概率(决定行为),角色能力(使用技能的成功率),状态转移,适应力 - 游戏动态人工智能.等等

感知系统

①根据碰撞盒/碰撞机(collider)(ps吐槽:有些人竟然不知道碰撞盒的意思,简直有杀人的心了.)进行感知.一部分感知,给原有物体添加一个子物体,这个子物体的形状就是不规则的部分(需要美术单独做出来),给这个不规则的部分添加碰撞盒,就成为这个物体的部分感知了,如果一个物体需要在某个点触发某件事,将碰撞盒多添加几个,摆放合理的位置进行操作.

②另外一种就是根据距离,某个点,某个向量进行判断,位移,旋转,缩放等操作,超过,小于,等于多少距离时候,做什么动作.

群体行为

主要是flocking算法,一个领头的,后面跟一群物体,进行徘徊

避让障碍物

https://www.jianshu.com/p/370f3d751b27

寻路算法

①   https://www.jianshu.com/p/5557501295ca 

②  NAV Mesh

路径追踪

在寻路算法中,起始点到目标点中间一段一段的去追踪,不是直接从起始点到目标点追踪.

ps:有待以后补充,欢迎在下面评论常用智能算法.

上一篇下一篇

猜你喜欢

热点阅读