0

我正在用java开发一个项目,并成功地制作了一个游戏,当你在给定的半径内时,你跑来跑去射击僵尸AI,直接走向你的玩家。现在我的游戏框架已经设置好了,下一步我正在考虑一种将它联网以供多人游戏的方法。我了解基本网络并且已经拥有服务器和客户端,但想知道如何在不完全滞后服务器的情况下跟踪玩家和僵尸的位置。一次可以有大约 100 个僵尸,我担心不断发送 X,Y 位置会真的减慢服务器。他们有什么选择吗?Halo 之类的游戏如何如此出色地在线跟踪敌人?

4

1 回答 1

0

大量的计算是在客户端进行的,而不是动作游戏中的服务器。

客户端跟踪位置,采取的行动,受到的伤害等。每隔一段时间(实际上并不长),一些数据会发送到服务器。

当前位置,从某个位置攻击的敌人等。

然后服务器的信任级别启动。您必须确定客户端声称已采取的操作是否可行。他能否在过去 5 秒内穿越地图并爆头 50 个僵尸……例如。

在“声明检查”和仅从客户端发送更多数据之间存在权衡。在某个时刻,您的服务器可能正在执行过多的计算,而通过网络进行的通话不足。

于 2013-05-01T02:36:34.050 回答