在类似于Diep.io的自上而下的多人游戏中处理射击的最佳方式?

时间:2017-10-10 17:51:02

标签: c# unity3d networking unity2d lidgren

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

我试图让双方的拍摄顺畅,但是,由于延迟,如果客户端在拍摄时移动,客户端可以看到子弹是从玩家进一步创建的(服务器从客户端收到的最后位置)。

目前要拍摄,客户端将数据包发送到服务器,服务器在客户端位置创建子弹。

像Diep.io这样的游戏如何处理拍摄而没有任何明显的延迟?
你会如何处理类似于Diep.io的游戏?

感谢任何帮助。

1 个答案:

答案 0 :(得分: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,也有高级API。