关于屏幕弹道曲线算法的几点意见:以下是二维平面弹道曲线计算的几点分析:
^
|
|      *B
|         
|                *A
|___________________________________>由弹道原理,要A击中B,涉及几个量:
1. 力度  2.角度  3.阻尼;
其中,力度和角度都容易控制和计算,唯阻尼系数的影响可以增加监控软件的设计难度。
网络的影响:对于网络,要尽可能少的传递数据,尽可能多的表达信息。客户端根据自身参数重画屏幕,那么,客户端就应该有判定是否击中的函数,这个函数根据射击参数计算弹道和伤害值,并同时重画屏幕和向服务器传输弹道信息,可能由弹道信息可以得到伤害信息,那么就不必传输伤害值。这涉及弹道曲线信息编码;当然,如果弹道只由上面说的三个量决定,那么,显然只要传送这三个量即可。服务器只要得到发射参数,即:炮弹类型(或坦克类型),加强参数,发射参数;炮弹类型参数中应该包含关于这个炮弹是谁的的属性,即,服务器应告诉客户端现在是谁发的弹;
每个客户端都知道所有坦克的位置和类型,这在进入服务器时都应该完全知道;
如果要从外部影响弹道,则可能的一种方案是:
1. 在监控程序域里运行游戏程序,监控程序作为后台进程,游戏作为前台进程;
2. 装一个消息;包含发射参数,当鼠标指定那个作为目标时,自动创建对于指定目标的弹道参数消息;当参数计算完毕,提醒用户将要攻击,用户可以取消,然后重新选择目标;
在编写自动弹道计算模块之前,要完成以下工作:
1. 找到游戏的判击中函数,分析其参数;由发射后无延迟可初步推断客户端必有这个函数;
2. 找到阻尼的类型细节,此步最为困难,它正是游戏加密的一种手段。提供一种方案:通过截获游戏外发的数据包,来分析某些信息;