长距离武器作战,需要考虑如下要素:
一、命中率
如果需要,命中率一般与如下要素相关:
1、AI角色的水平。即武器所有者使用该武器的能力。
2、射程。
3、目标大小。
4、目标的相对位移速度。
5、可见度与覆盖度。其中覆盖度可以与目标大小一起考虑。
6、目标状态。例如如果目标正在进行一些闪躲动作,命中率就会减少;反之如果目标处于一些特殊状态,命中率就会增加。
7、AI角色的水平。同6.实现过程中,可以尝试使AI的状态随时间变化。
二、选择瞄准目标
对于普通的游戏,长武器需要选择射击的目标。而对于FPS类游戏,除了大目标外,还需要选择身体部位目标。
三、命中和错失
很多人只重视命中情况的表现,事实上错失情况的表现也很重要。例如FPS类游戏中,子弹从身边飞过,炮弹在身边爆炸,都会给玩家带来很大的快感。
四、弹道测试
弹道测试的方法,根据弹道的不同而不同,例如射线型弹道和抛物线型弹道就完全不同。弹道测试,主要用来为AI寻找攻击目标。
五、避免误伤
有些游戏中允许误伤己方战友,这种情况下,必须考虑避免误伤的问题。
六、位推测法
对于移动的目标,在进行弹道测试前,需要先为目标预估一个位置才行。
七、半径测试
有两种情况下需要进行半径测试。
1、己方战友与敌人混战时,为避免误伤,需对己方战友进行半径测试。
2、使用范围攻击武器时,为造成更好的杀伤效果,需进行半径测试。
八、碰撞通知
很多时候,发射者需要知道攻击的效果。因此最好子弹保存一个发射者的指针,然后在碰撞时发消息给发射者。
九、武器弹道
对于曲线类型弹道,经常需要进行平方和开根运算。而开根运算是非常消耗时间的,因此最好能找到一些优化的方法。
十、导弹类武器
此类武器比较特殊,不需要进行命中测试,只需要检测从自己到目标之间的直线是否有障碍物即可。