|
我们在做的手机格斗游戏,就是两个人一左一右那种,但不是碰撞检测,而是直接使用状态检测,而且没有位移,只有攻击/闪避/防御等状态。
目前使用的就是 TCP连接,运算都放在客户端,服务器只广播两个人命令,固定帧同步。
可现在的问题就是,我们的判定帧只有一帧,所以比如闪避这种行为,根本无法完美同步,比如在攻击方击中的前一帧才按下闪避,应该是闪避成功的,可是收到命令的一方哪怕延迟小到只有1帧,还是无法正确判定闪避,因为攻击判定帧已经达到是击中的状态。
格斗游戏的行为也不像MMORPG这样可以预测,或者强制拉回,总不能画面上已经出现击中受伤动画,突然又切到了击空与闪避的动画。
如果说延长判定帧的时间,怎么也要延长到 帧同步的帧数以上吧,以我们游戏动作来看应该是不允许的。。。
换UDP也许会快点,可就算再快,也快不过一帧的时间啊。
现在实在想不到什么好的办法了,求各位大牛给点解决思路吧。 |
|