我使用Unity与Lidgren网络库(服务器 - 客户端架构)开发透视游戏,看起来与Diep.io类似。
我试图让双方的拍摄顺畅,但是,由于延迟,如果客户端在拍摄时移动,客户端可以看到子弹是从玩家进一步创建的(服务器从客户端收到的最后位置)。
目前要拍摄,客户端将数据包发送到服务器,服务器在客户端位置创建子弹。
像Diep.io这样的游戏如何处理拍摄而没有任何明显的延迟?
你会如何处理类似于Diep.io的游戏?
感谢任何帮助。
答案 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。