我一直在考虑在多人游戏中实现隐身。这是一个MOBA风格的游戏,因此请考虑英雄联盟(LoL)和风暴英雄(HotS)。多个客户端连接到单个服务器,该服务器将游戏状态广播到所有客户端。客户端将其输入数据发送到服务器,服务器在遇到无效命令时可能会拒绝输入数据,从而使作弊成为不可能(理论上是这样)。
现在,我故意提及这些游戏是因为两者的隐身方式有所不同。大声笑具有两种可能的状态:您要么完全可见,要么完全不可见。另一方面,HotS通过隐约可见的方式实现隐身:
我认为这是一个精巧的技工,因为它提升/奖励关注您周围的环境。但是,这是一款多人游戏,让我意识到这可能很容易利用。
当您以“ LoL”方式实现隐身时,您可以简单地停止将玩家坐标发送给其他客户端。当玩家的角色隐身时,服务器可以再次广播该位置。但是,使用HotS模型,可以在角色正在移动的空中看到微光。这意味着服务器必须将播放器的位置发送给其他客户端。这意味着改变纹理或模型甚至游戏代码本身的玩家可能会使披风技工变得毫无用处。这是 HotS板上的一个线程。
我的问题是,是否有某种方法可以实现隐身(使用“ Shimmer”,即“ HotS”),而不会出现狡猾的玩家可以修改游戏(数据)和“击败系统”的问题。这可能吗?如果没有,采用这种机制的其他多人游戏如何处理呢?唯一的LoL隐身风格无法企及吗?
我曾考虑过让服务器不时地发送虚假的“隐身”位置,但这也损害了只注意的公平玩家,因此不会这样做。