问题标签 [online-game]

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 回答
697 浏览

php - 2人在线游戏的简单匹配算法

我正在为 2 人在线游戏寻找一个简单的配对算法。哪个性能更好?(我使用 vps、centos 和 php)

  1. 用户一向服务器发送游戏请求,因为那里没有先前的请求,它将他的用户名放入缓存变量中。然后用户二发送请求并读取缓存的变量,因此用户二为下一个请求清理该变量并与用户一开始游戏。

算法 1 的缺点:在同时请求中,两个用户可能会选择同一个用户。

  1. 所有用户都被添加到队列中。然后每秒执行的脚本与用户匹配。

算法 2 的缺点:每秒执行一次,可能会导致性能问题。

  1. 有更好的算法吗?
0 投票
1 回答
97 浏览

android - 查看用户是否在 android 应用程序中在线的最佳方法

我正在制作一个游戏,玩家可以通过互联网一起玩游戏,所以我想检查其中一个是否离开了游戏,所以我通知另一个玩家。

目前我已经编写了一个代码,它每秒在客户端运行并向服务器发送一个请求,但是当它停止 2 秒时,玩家将被视为“离开游戏”,另一个玩家将得到来自服务器的响应告诉它游戏停止了,所以你可以看到有很多从 android 客户端到服务器的请求正在发生。

有没有办法做得更好?有人告诉我套接字编程可能会有所帮助,但它适用于这种工作吗?我真的习惯于使用 android 的 volley 库并为请求唱歌

0 投票
1 回答
77 浏览

unity3d - 使用网络管理器中内置的统一有什么缺点?

为什么 Unity 游戏开发者自己实现服务器而不是使用 unity 内置NetworkManager

貌似用 .js 可以轻松开发多款网络游戏NetworkManager,但为什么开发者自己用 node.js 等实现服务器呢??

0 投票
1 回答
99 浏览

tcp - 持续在线连接到服务器

所以,我一直在研究在线游戏,我想知道他们是如何设法与服务器建立如此快速、看似持续的连接的。我已经尝试过只发送一堆XMLHttpRequests,但这些往往很慢。我也尝试过研究,但大多数关于该主题的文章都谈论 web sockets、tcp 和 udp 之类的东西,我根本不理解这些概念。我也在尝试在不从外部源导入代码的情况下完成这一切,这样我可以更好地理解它是如何工作的。如果可以的话请帮忙。谢谢!

0 投票
1 回答
86 浏览

php - Update database when user is no more online

I am currently working on a Javascript multiplayer game.

When users want to play, they enter a waiting room where they wait for players to play with.

It is stored in a SQL database this way : I have a table named USER with some data on the players, and another table named WAITINGROOM which associates the id USERID of the user waiting for a game with other infos.

When players leave the waiting room or close their browser, I delete the row with their id in table WAITINGROOM.

But let's suppose the user loses his internet connection while looking for a game. How can I know he is offline so I can remove the row containing his id ?

The player is offline so it is definitely not client side I can deal with this. Maybe server side in PHP ? Or directly in the database using timeouts or something...

0 投票
2 回答
1755 浏览

javascript - 使用 Node.js 和 Socket.io 管理多个游戏

我是 node.js 和 socket.io 的新手。所以我做了一个小项目,用一个小的实时聊天测试了一些东西,效果很好。但我问我,用 node.js 和 socket.io 管理多个游戏的最佳方式是什么?

比方说,我想创建一个包含一些简单的多人纸牌游戏的网站。每个游戏都应该是一个窗口,有自己的聊天/房间、玩家列表和游戏更新历史。

将每个游戏的所有功能设置在一个大server.js文件中还是在服务器上的自己的进程上运行每个游戏更好(game1.js... game2.js)?

0 投票
0 回答
104 浏览

unity3d - 如何制作像 Mobile Legends 或其他 MOBA 游戏一样的“Find Match”?

我正在尝试创建一个大厅系统,可以像其他 MOBA 游戏一样找到匹配项。就像当 10 名玩家在寻找比赛时,它会开始游戏,当只有 9 名玩家时,系统仍然会等到它变成 10 人。

我使用了 Photon PUN 2,但现在我使用 UNet 来实现这一点。提前致谢。

0 投票
0 回答
101 浏览

oop - 使用 redis 进行面向对象编程

我创建了一个用面向对象编程和 node.js 编写的在线游戏。集群后,我决定使这些集群无状态并将游戏对象保存在 redis 中。如何保持我的游戏类不变?只需将游戏对象及其方法和道具保存在 redis 中,并使用这些游戏对象方法来更新和读取这些游戏对象属性。我已经阅读了有关 ORM 的信息,但我想我必须更改我的游戏类才能实现这一点?

0 投票
1 回答
71 浏览

html - 带有 Canvas 的 HTML 问答游戏

嗨,我正在尝试用画布创建一个 html 问答游戏,但我对这个东西很陌生,我没有找到任何关于这个特定东西的文档。

游戏总结

游戏设置为5个场景,每个场景都是一个时间段(史前、古罗马等),背景中只有一个静态图像,带有一些闪光点。当用户点击那个点时,游戏会放大它,并出现一个问题。当用户回答问题时,场景缩小,他可以点击下一个问题。当用户回答了该场景中的所有问题后,游戏将进入下一个场景。

我的问题

我找不到关于此的有效文档,我真的不知道从哪里开始。我的想法是使用引导程序并包含一些插件来执行此操作,但我没有找到任何人。我知道有更好的框架,比如 Angular 来做这种游戏,但我真的没有时间学习那样的东西。

有人知道更好的方法吗?

0 投票
1 回答
317 浏览

javascript - 与javascript协调缩放图像

我正在尝试开发的是一种在线迷你游戏,但我被困在缩放部分。在我的例子中,会有一个带有散落鸡蛋的 html 图像,这将是图像的一部分。玩家必须点击彩蛋,在 javascript 端,我必须在图像上彩蛋的精确位置放置一个事件监听器,然后放大该位置。

我的问题有两个:首先,我必须找到一种方法将事件侦听器放在图像的一个点(所以我猜是坐标)上,如果调整窗口大小,该点将保持不变;然后我必须找到一种方法来放大 javascript 中的那个点。我找到的所有指南都仅解释了如何使用鼠标滚轮进行缩放,而不是通过单击该特定点来进行缩放。

有什么想法?

这是我的游戏图片