网络流量,MMO塔防

时间:2014-01-20 01:04:47

标签: networking traffic mmo

我正在编写一个MMO塔防游戏(客户端服务器架构)。由于作弊保护,服务器需要具有逻辑。但我有真正的设计问题。当让我们说10人对抗死亡对抗时,每个塔射击都需要计算并发送给玩家。当建造许多塔时。 (如10名玩家* 10塔= 100塔)交通非常高。 (一个玩家每秒导致许多消息)我该如何解决这个问题?

服务器是用Java编写的(Smartfox 2x) 客户端是用C#(Unity 3d)编写的

提前致谢。

2 个答案:

答案 0 :(得分:0)

  

由于作弊保护,服务器需要具有逻辑。

这是一个错误的假设。服务器需要有足够的逻辑来运行游戏逻辑,并确保所有玩家的行为都有意义,但不需要发回结果。客户端可以并行运行相同的逻辑并自行计算结果。

答案 1 :(得分:0)

在服务器上使用强大的简化单位和战斗规则。如果有人踩到塔周围的“损坏区域”,只需通过影响连续损坏来编制你的伤害算法。

你可以在服务器上使用拖曳立体战场,所有单位和塔楼以及损坏区域都只是圆形或者是圆形和圆形。你还可以使用几个伤害环,每秒伤害在外圈较低,在防守塔周围的内圈较高。

你可以使用队列来管理单个目标伤害/多目标伤害和区域伤害。如果单次射击,队列中的第一个受到伤害区域的影响,只有第一,第二和第三个受到多次射击等的影响。

如果塔每5秒发射一颗子弹并且每个子弹造成40点伤害,你只需在服务器上计算每个目标位于“伤害区域”或“伤害圈”的每秒8点的伤害。

在客户端,你可以做所有的事情,比如飞子弹,击球,喷射,飞溅和焰火等等。

但是在服务器上通过进入伤害区域然后每秒受到伤害来做所有的事情。 (抱歉英语不好)