问题标签 [real-time-multiplayer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
82 浏览

java - Vert.x Java 多人游戏

我想做一个带有大厅系统的简单问答游戏。我对在我的系统中使用的架构有一些疑问,我的想法是使用中央服务器来管理大厅,每次创建大厅时,实例化一个新LobbyVerticle的,客户端和服务器之间的通信委托给事件Vert.x总线。游戏必须尊重可扩展性和分布。感谢您的建议。

0 投票
1 回答
25 浏览

unity3d - 开发 Unity 游戏 VR 和非 VR

我是 Unity 的新手,我对如何同时为 VR 和 FPS 桌面开发游戏感到困惑。我该如何处理?

0 投票
0 回答
12 浏览

server - 什么是让机器人在多人在线游戏中四处走动的好方法?

这是交易。我正在制作一个有玩家和机器人的游戏(想想玩家之间自动驾驶汽车的赛车游戏)。每次玩家(比如玩家 A)通过按键改变方向时,都会向服务器发送一条消息,该消息又会发送给所有其他玩家,让所有玩家知道 A 已经改变了方向,并且他们应该通过以下方式计算他未来的位置沿新方向递增。在并行计算中,服务器会计算所有玩家的位置,并且每个客户端都会定期将他们的玩家位置与服务器的位置进行比较,以防客户端以某种方式错误地计算了玩家的位置。到目前为止,一切都很好。

当我实施机器人时,问题就来了。这个想法是他们使用 A-star 算法来计算从 A 到 B 的路径,并将路径存储在直线的步骤中。路径只存储在服务器上,不能发送给客户端,因为它是游戏的重要组成部分,玩家不知道其他哪些汽车是机器人。因此,如果机器人 B 想要从 (0,0) 到 (200,200),它可能首先从 (0,0) 到 (200,0),然后从 (200,0) 到 (200,200)。这个想法是当机器人降落在 (200,0) 时向所有客户端发送“改变方向”消息。但是玩家每帧移动的像素数量取决于帧运行所花费的时间,并且不一定是恒定的,因为客户端必须以与服务器端相同的速度运行,并且存在 s 没有切实可行的方法来确保每个帧在客户端和服务器上完全相同的时间运行。因此,机器人在改变方向之前可能会过冲到 (203, 0),这使其卡在角落等处。它无法在一帧内从 (198, 0) 转到 (200, 3),因为没有客户端在服务器告诉它之前知道要采取什么方向的方法,它只能在机器人到达过去 (200,0) 之后才能执行。我也不能故意低于机器人以适应确切的框架(200,0),因为那样他们会比玩家开得慢,而且他们应该是无法区分的。3)在一帧中,因为客户端无法在服务器告诉它之前知道要采取的方向,它只能在机器人到达(200,0)之后才能执行。我也不能故意低于机器人以适应确切的框架(200,0),因为那样他们会比玩家开得慢,而且他们应该是无法区分的。3)在一帧中,因为客户端无法在服务器告诉它之前知道要采取的方向,它只能在机器人到达(200,0)之后才能执行。我也不能故意低于机器人以适应确切的框架(200,0),因为那样他们会比玩家开得慢,而且他们应该是无法区分的。

关于如何很好地实现这一点的任何聪明的想法?正确完成这部分对游戏很重要。

0 投票
0 回答
21 浏览

unity3d - 与多个玩家共享一台摄像机

我想免费使用 photon pun 2 在统一 3d 中创建一个简单的多人游戏。

我试图实现一个共享摄像头,一个不跟随任何玩家的摄像头,保持静止,每个人都看到同样的东西。

我遇到了只有主客户端看到更改而其他客户端冻结场景的问题,好像相机根本没有为他们更新一样

那么如何解决这个问题,如何让每个人的相机更新,而不仅仅是主机?