我正在使用Libgdx开发流行游戏Pong的在线版本。我已经开始使用谷歌的实时多人游戏服务在玩家之间发送游戏数据,但我无法弄清楚如何解决我面临的同步问题。
此刻发送的信息是玩家的划桨,所以当我移动时,我将新位置发送给对手。在对手收到它的时候,时间已经过去并且同步丢失了。
据我所知,使用最慢连接的动作之间可能会有一些等待时间,但是如何让它看起来更平滑呢?
答案 0 :(得分:1)
这个问题没有明确的答案,但人们有各种策略可以解决这个问题。
使用UDP协议(如果您使用基于套接字的通信,我会推荐您,因为每个ms在实时游戏中都很重要。我认为google api有UDP,这是不可靠的消息。再次,我没有google-realtime的经验 - api)用于插值,航位推算,客户端预测等的消息交换只是少数。
这是一个非常广泛的主题,可以在这里回答。当我制作基于多人坦克的游戏时,我做了一些事情让事情看起来更顺畅。
我提到的要点描述了我在游戏中所做的一切,但可以在任何游戏中使用。虽然我建议你阅读这个名为Gaffer on Games
的网站上的文章此区域很大,没有答案可以帮助你。我做了关于这个主题的论文,仍然无法给你一个明确的答案。您将需要阅读大量文章并根据您的需求对您学到的内容进行建模。
答案 1 :(得分:0)
你需要使用某种类型的Animation Interpolation
,这意味着划桨不会传送"收到新职位后,在新职位上慢慢开始移动。