Unity完全自制游戏纸箱战争项目记录(20180704)
发表于2018-07-04
今天设计完成了初代版本的AI制作,先命名为AI1.0。
在AI1.0中,初步实现了控制AI程序对个体AI发布指令的功能,随着时间的发展和目标点占领状态的不同,管理AI会发布不同的AI指令给个体AI,个体AI则会遵照指令行动,经过一段时间的测试,初步达成了既定的目标,对目前的设计还算满意。
在早期版本中,因为个体AI挂载在模拟士兵单位的方块上,方块带有碰撞和刚体,运动显得有些不正常,锁定了刚体的轴向限制后就产生了图二中的效果。
另外,在测试中发现了一个控制点的Bug,不知道为什么在昨天的测试中没有发现,检查代码后发现在设计控制点算法的时候,考虑到了在控制点周围的如果没有士兵的情况,为了节省代码的运算量,算法被设计成控制圈内物体数量发生变化时才进行后续的计算。
这样的话就出现了一个问题,在昨天的设计中提到了一个“目标滑向阵营”函数,如果目标点中的人数始终不发生变化的话,那么“目标滑向阵营”函数就不能重新赋值。
所以目标点的占领数值在降到0之后会错误的把目标点的阵营规划到“目标滑向阵营”的数值,在改变算法之后,把整体算法封装成一个方法,使用重复计数器重复调用函数,这样也能做到节省程序计算步骤,同时又可以对“目标滑向阵营”进行赋值。