我想从头开始构建一种小的(非常小和简单)的MMORPG游戏,在给定的网格内点击移动(类似在线口袋妖怪游戏)。当我单击一个单元格时,播放机将移动到指定区域(使用路径查找算法(如A*) )。但是,我不知道如何建立移动系统的网络协议。而且,在谷歌上搜索主题似乎对我没有多大帮助。我需要做一个选择:要么我每次从一个单元移动到另一个单元时向服务器发送一条消息(这根本没有效率,因为如果我们处于一个100 on的延迟网络中,我只能感觉到10次/秒的移动,如果我要求服务器确认移动,它只能执行5次/秒的移动)--或者每次玩家想改变它的方向时,我都会发送一条消息(它点击另一个单元)。客户端定期将其位置发送到服务器,并检查其是否与目标一致。
第二个解决方案看起来比第一个要好得多,我认为真正的游戏系统必须执行这个策略。我说错了吗?
此外,我们如何构建基于该解决方案的系统,该解决方案不允许被修改(被黑客攻击)的客户端能够发送假位置和传送他们想要的任何地方?真正的系统是否实现了像一个“不连贯的发送位置”系统,试图检测和解决这些问题?
或者,是否有更简单的实现?非常感谢
发布于 2016-05-18 20:41:39
在一个实时游戏中,我会创造一个泛化技工。我会使用一个公式,如:速度*时间=距离。
现在,如果您在客户机和服务器中运行相同的逻辑,那么您只需要在开始时发送移动逻辑,当距离被移动时,服务器可以使用finish消息进行应答。(最后比较,以防止作弊。)服务器总是赢的)
现在,如果客户取消了去其他地方的移动,您就会发送一个取消的内容和您所旅行的时间。同样的情况也发生在改变泛物时(在这种情况下,您会发送一条新的路径,盯着一个新的时间和地点)。
https://stackoverflow.com/questions/37309421
复制相似问题