问题描述:
多人游戏适用于某种网络,在游戏中很少有玩家互相射击,子弹飞行的速度不是很快,慢到足以让你看到它们。
问:
谁应该计算飞行子弹位置并击中目标(对手玩家)服务器或客户端?
到目前为止我想到的最佳解决方案:
客户端向服务器发送初始位置和方向向量。然后服务器计算子弹定位和命中。
还考虑了与确切的服务器时间同步并将数字发送到客户端(子弹初始位置,方向向量和时间),然后客户端计算命中。但是存在问题 - 服务器和客户端时间不匹配。
请向相关文章/书籍解释或指导。
答案 0 :(得分:2)
你所寻找的是有点模糊,但希望我能指出你正确的方向。
These articles给出了在游戏中创建网络多人游戏的诸多方面的非常好的描述。
您似乎主要是在权威服务器模型或非权威服务器模型之间做出决定。我不确定您使用的语言或开发环境,但Unity 3D为每个模型提供了非常好的overview,以及它们可能带来的好处/缺点。
希望这会有所帮助:)