gpt4 book ai didi

javascript - 在线多人游戏中常见 "tick"怎么办?

转载 作者:行者123 更新时间:2023-11-30 09:34:04 24 4
gpt4 key购买 nike

这是一种情况。假设我正在为浏览器构建一款在线 2 人游戏,目标之一是在同一地点为两个玩家生成一些东西(对象) 在屏幕上,并使其以相同速度沿线性轨迹运动。最好实现“服务器勾选”,它会移动一个或多个对象,使其成为浏览器的工作。我理解将其留给浏览器的不良影响,但我也担心服务器或其他设备上的负载过大。关于通常如何实现的任何想法?

最佳答案

从概念上讲,可以通过三种方法来实现这一目标:

  • 纯服务器端模式
  • 纯客户端模式
  • 混合模式

让我们看一下它们的一些详细信息。

enter image description here enter image description here enter image description here

将其应用于您的案例的三种不同模式意味着:

  • 在纯服务器端模式下,您将轨迹坐标实时发送到两个浏览器。每个浏览器仅接收坐标并在接收到的位置显示对象。您可以看到此方法的一个实例。前往http://push.lightstreamer.com/使用两个不同的浏览器并在右下演示中的 Angular 色周围移动。 Angular 色和球的所有 Action 均由服务器逐个坐标决定,并实时广播给所有客户端。

  • 在纯客户端模式下,您将共享一个初始世界状态,然后每个浏览器将计算自己的世界演变,并可能存在分歧。

  • 在混合模式下,浏览器会进行自己的计算,就像在纯客户端模式下一样,但它们会通过低频服务器端广播定期同步。因此,物理过程在服务器端和客户端上运行。

最简单的解决方案是纯服务器端模式,它非常适合不太复杂的场景。为了使其具有可扩展性和容忍网络延迟,您需要一个特定的服务器,就像这些演示中使用的服务器一样[完全披露:我参与了这样的服务器]

要了解更多详细信息,您可以查看我过去准备的一些资源:

关于javascript - 在线多人游戏中常见 "tick"怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44619418/

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