gpt4 book ai didi

java - 如何同步 Play Services 实时多人游戏

转载 作者:搜寻专家 更新时间:2023-10-30 21:34:43 24 4
gpt4 key购买 nike

我正在使用 Libgdx 开发流行游戏 Pong 的在线版本。我已经开始使用 Google 的实时多人游戏服务在玩家之间发送游戏数据,但我不知道如何解决我面临的同步问题。

此刻发送的信息是玩家的桨,所以当我移动时我将我的新位置发送给对手。在对手收到它时,时间已经过去并且同步丢失。

我知道使用最慢的连接在移动之间应该有一些等待时间,但是我该如何让它看起来流畅呢?

最佳答案

这个问题没有明确的答案,但是人们可以采用各种策略来解决这种情况。

从使用 UDP 协议(protocol)开始(如果您正在使用基于套接字的通信,我会推荐您,因为在实时游戏中每一毫秒都很重要。我认为 google api 具有 UDP,这是不可靠的消息传递。同样,我没有使用 google-realtime- 的经验- api) 用于消息交换到插值、航位推算、客户端预测等的只是少数。

这是一个非常广泛的话题,需要在这里回答。当我制作基于多人坦克的游戏时,我做了一些事情让事情看起来更流畅一些。

  1. 使用 UDP 协议(protocol)向服务器发送 Action 。
  2. 我会在客户端为玩家保留两个条目。一个是当前值,一个是要设置的值。然后我将当前值乘以平滑因子,如 0.3f,直到它不等于要设置的值。 (这有助于减少紧张情绪)
  3. 我会通过 TCP 发送重要消息。

我提到的要点描述了我在游戏中所做的事情,但可以在任何游戏中使用。尽管我建议您阅读本网站上名为 Gaffer on Games 的文章。

同样,这个区域很大,没有任何答案可以帮助您。我就这个话题做了我的论文,但仍然不能给你一个明确的答案。您将不得不阅读大量文章,并根据自己的需要对所学内容进行建模。

关于java - 如何同步 Play Services 实时多人游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43561986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com