问题标签 [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 投票
0 回答
97 浏览

javascript - 如何使用 socket.io 和 nodejs 动态创建房间?使用 Express 服务器

我对socket.io很陌生。我对套接字如何在逻辑上工作有一个基本的了解,但是当涉及到代码时,我有点迷失了。


目标

我正在创建一个多人游戏。我希望用户能够在主页上创建新游戏并使用指定的用户名。创建游戏后,他们可以共享游戏链接,其他人也可以加入(当他们点击该链接时,系统会提示他们输入所需的用户名)。

如果另一个用户访问该网页并想要创建一个完全独立的游戏,他们可以。

每个不同的游戏都有相同的布局和功能。


额外的

我希望有一个“点击复制网址”来共享游戏,每个游戏都有一个不同的网址,然后是下一个,但实际上页面布局是相同的。


同样,我几乎完全不知道如何做到这一点。如果有人可以用逻辑给出功能的编码示例,我会很高兴。我在谷歌和文档上找到的所有东西在我的脑海中都没有意义。

0 投票
2 回答
90 浏览

node.js - 游戏状态的单一事实来源

我是游戏开发的新手,我想用node.js创建一个多人游戏服务器我想知道,在服务器上保持和更改游戏状态的最常用技术和模式是什么

我的游戏状态大小很小,所以我认为最好的地方是存储它的内存

我想扩大和扩大我的服务器游戏,这样每个玩家都可以连接到不同的服务器

我担心同时发生的事件会改变不同服务器中的游戏状态,因此拥有单一事实来源有点复杂,因为每个服务器上的状态可能会不同步

简而言之,构建多人回合制游戏的常用方法是什么,服务器必须实现一些逻辑来控制游戏流程,例如改变回合,在玩家不活动的情况下改变游戏状态,......

我也不知道如何保护状态不重新启动服务器,可能是一个redis可以保存状态,但是失去控制器后如何控制游戏流程

0 投票
1 回答
183 浏览

node.js - 在多人游戏中更新游戏状态

我正在开发一款多人游戏。每个客户都有一个在共享环境中移动的角色。
我使用socket.io创建房间,使用peer.js在客户端之间创建点对点连接。
我要做的是让每个客户端都能更新他地图中其他玩家角色的位置。
为此,每个客户端都应该知道其他玩家的键盘光标(箭头键)的状态,以便他可以通过行走动画移动其对应的角色。

P2P:我正在考虑在客户端之间创建双工流,以便每个客户端都有其他玩家的键盘光标状态,这样他就可以用适当的动画移动他们的角色......
SOCKETS:我也可以通过使用套接字通过服务器获取信息,但我必须每秒发送 60 次光标状态的更新,因为游戏以 60 fps 运行,这会产生很多套接字消息。我不确定这是处理它的最有效方法

让每个人都了解其他玩家状态的最有效方法是什么?任何建议将不胜感激。谢谢。

0 投票
1 回答
31 浏览

python - 我怎样才能制作多人游戏变量,所以当有人添加一个时,每个人的屏幕都会显示变量(+1)?

我正在尝试制作一个需要多人游戏变量的项目。例如,如果我创建了一个名为“x”的变量,有人说x += 1,那么每个人的 x 都会多一个。有人可以告诉我是否有某种模块可以做到这一点,或者是否不可能?

谢谢

0 投票
1 回答
220 浏览

unity3d - 光子 Unity 中的 CCU 是什么?

我无法理解 Photo Engine CCU 的含义以及如何为我的多人游戏计算它。

谁能解释一下光子是如何计算 CCU 的。

0 投票
0 回答
17 浏览

java - 如何使用 Socket.IO Android 实现基于时间的转弯系统

我正在写在线井字游戏。我正在使用 socket.io。一切正常,但我卡在了基于时间的转弯系统上。

我想轮流给每个玩家 5 或 10 秒的时间。任何人都可以请告诉我我是如何实现这一目标的?

0 投票
0 回答
42 浏览

networking - 通过游戏引擎运行3D游戏的游戏服务器

关于这个问题有一些问题,我无法找到我正在寻找的东西。

  1. 这样的游戏服务器有意义吗,还有3D游戏,通常是mmofps游戏,所以像csgo valorant这样的游戏就用这个方法?

  2. 将这个游戏服务器创建的场景中的对象设计为没有任何纹理会更有益吗?

  3. 这种方法是否可能让我在未来遇到问题或阻止我进行我将要进行的创新?

  4. 此外,使用 .net 核心,这是否有用且高效?

如果有这方面的知识或研究过并使用过的人回答我的问题,他们会在我的脑海中回答我的问题。

0 投票
1 回答
53 浏览

c# - 如何使用 Photon 将播放器添加到人数最多但未满的房间?

如何使用 Photon 将玩家添加到人数最多但未满的房间,我正在开发一个使用 Photon 的多人游戏,我阅读了 Photon 的页面文档,但似乎没有任何详细的信息,我想要的是当玩家点击播放时,它会将他带到一个有大多数人但未满员的服务器,这样可以使游戏更快,他们不必等待其他玩家,有没有关于这个的教程?

0 投票
0 回答
33 浏览

java - 多人实时网络应用程序 java

我正在尝试创建一个 Web 应用程序,其中组中的人(可能是 5-10 人)可以一起编写内容,并将彼此的内容实时显示给每个人。(类似于群组视频聊天,除了将实时显示的文本由用户)。是否有任何可用的库或 sdk 可以加速这个开发过程,我不需要深入节点和套接字,而是我想使用 spring boot 作为后端并作为前端做出反应。此外,firebase 是否能够处理这个问题,如果是,如何处理?

0 投票
0 回答
24 浏览

javascript - 如何在基于网络的多人游戏中添加玩家之间的实时音频聊天?

我有想法构建基于网络的游戏,玩家也可以在其中相互交谈。我喜欢使用deepstream服务器进行基于文本的实时聊天的一种解决方案,但它目前没有由团队维护,所以我决定放弃使用deepstream 服务器的想法。

如果您有任何解决方案可以在基于网络的应用程序或游戏中在用户之间共享实时音频和聊天(与多人游戏 freefire 等相同),请帮帮我。

请确保您建议可扩展的解决方案。