-1

我使用 Unity 和 Lidgren 网络库(服务器 - 客户端架构)来开发具有透视图的游戏,看起来类似于 Diep.io。

我试图让两边的射击都顺利,但是,由于延迟,如果客户端在射击时移动,客户端可以看到子弹是在离玩家更远的地方创建的(服务器从客户端收到的最后一个位置)。

当前射击,客户端向服务器发送数据包,服务器在客户端位置创建子弹。

像 Diep.io 这样的游戏如何在没有明显延迟的情况下处理射击?
你会如何处理类似于 Diep.io 的游戏中的射击?

任何帮助表示赞赏。

4

1 回答 1

0

在多人游戏开发方面没有超过初学者水平的经验,但这是我的 2 美分。

通过遵循本教程中的建议,您可能能够在一定程度上处理子弹延迟。

https://unity3d.com/learn/tutorials/topics/multiplayer-networking/adding-multiplayer-shooting

如果您稍微看一下页面下方的脚本,他们有一部分会说。

// This [Command] code is called on the Client …
// … but it is run on the Server!
[Command]
void CmdFire()

您使用的库可能具有类似的方法,可以在客户端调用但在服务器上运行。

除此之外,我有点好奇你们为什么不使用内置的统一多人游戏功能?它同时具有低级和高级 API。

于 2017-10-10T20:10:37.423 回答