我正在编程一个MMO塔防御游戏(客户端服务器架构)。由于欺骗保护,服务器需要有逻辑。但我有真正的设计问题。当我们说有10个人在进行死亡对决时,每一次塔式射击都需要被计算并发送给球员。当许多塔楼建成的时候。(就像10名玩家* 10座塔楼= 100座塔)交通非常繁忙。(一位玩家每秒会产生多条消息)我如何解决这个问题?
服务器用Java ( Smartfox 2x)编写,客户端用C# (Unity3D)编写
提前谢谢。
发布于 2014-03-08 14:12:55
在服务器上使用强大的简化单位和战斗规则。只要编程你的损害算法,影响持续的损害随着时间的推移,如果有人正在进入“损害区域”周围的塔。
你可以使用服务器上的二维战场,所有的单位、塔和伤害区域都是圆圈或圆点和圆圈。U还可以使用几个伤害环,每秒伤害在外圆较低,在防御塔周围的内圆较高。
U可以使用队列来管理单个目标伤害/多目标伤害和区域损伤。单次射击只影响队列中的第一次,第一次、第二次和第三次受到多次射击等的影响。
如果一个塔每5秒发射一颗子弹,每颗子弹造成40点伤害,你只需在服务器上计算,对站在“伤害区域”或“伤害圈”的每一个目标每秒造成8点伤害。
在客户端,你可以做到所有的事情,如飞行子弹,击中,飞溅,飞溅和烟花等。
但是在服务器上,通过进入伤害区域来完成所有的工作,然后每秒得到伤害。(抱歉英语不太好)
发布于 2014-01-20 01:11:43
由于欺骗保护,服务器需要有逻辑。
这是一个错误的假设。服务器需要有足够的逻辑来运行游戏逻辑,并确保所有玩家的操作都是合理的,但是它不需要发送结果。客户端都可以并行运行相同的逻辑,并自行计算结果。
https://stackoverflow.com/questions/21224739
复制相似问题