问题标签 [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.
html - 全屏按钮创建
我使用 iframe 插件嵌入 swf 文件以在我的网站上玩游戏。但我想在这个游戏的下方显示一个全屏按钮。我该怎么做?我使用 WordPress。我的网站http://www.dewdropzone.com我使用这种类型的嵌入代码。
database - 海量连接和并发写入选择什么数据库(网络游戏)
我正在为即将到来的大型在线游戏收集信息。我在 MEGA MASSIVE 类农场游戏(数百万 dau)方面拥有丰富的经验,而 SQL 数据库是很好的解决方案。我还使用过使用 NoSQL 数据库的大型在线游戏,而这个特定的数据库(Mongo)并不是最合适的——当大量连接和大量并发写入发生时很糟糕。
我正在寻找有关现代大型在线游戏的事实、基准、演示以及有关其后端基础架构(尤其是数据库)的技术细节。
例如我感兴趣:
- 它可以管理数千个连接吗?可能是一些外部工具可以提供帮助(例如 pgbouncer for postgres)。
- 它可以管理数以万计的并发读写吗?
- 磁盘空间碎片怎么办?可以在不停止数据库的情况下进行优化吗?
- 一些智能复制呢?当 master 失败时,它可以告诉副本中缺少一些数据吗?我可以安全地将奴隶传播到主人并确切地知道缺少哪些数据并采取适当的行动吗?
- 它可以优雅地失败吗?(例如 postgres for ex。)
- 在生产中使用的好评
javascript - 检查一个点是否穿过一条线
我正在用 HTML5 画布编写游戏。如果一条线触及自己或对手线的任何点,则该线停止移动。我写的函数如下。
它大部分时间都有效。但在某些特殊情况下(如下图所示),它根本无法返回 false。
任何人都可以帮助我改进此功能,使其完美运行吗?
java - 联网。通过网络跟踪多个敌人位置
我正在用java开发一个项目,并成功地制作了一个游戏,当你在给定的半径内时,你跑来跑去射击僵尸AI,直接走向你的玩家。现在我的游戏框架已经设置好了,下一步我正在考虑一种将它联网以供多人游戏的方法。我了解基本网络并且已经拥有服务器和客户端,但想知道如何在不完全滞后服务器的情况下跟踪玩家和僵尸的位置。一次可以有大约 100 个僵尸,我担心不断发送 X,Y 位置会真的减慢服务器。他们有什么选择吗?Halo 之类的游戏如何如此出色地在线跟踪敌人?
java - 在线游戏:使用增量或新状态更新客户端
我正在为 Android 实施在线国际象棋,我有一个关于如何用其他玩家的动作更新玩家的问题。
例如,假设 Player1 将他的塔从 a1 移动到 a7。
我应该怎么办?
- 发送给 Player2:“a1 到 a7”(带有某种全板校验和以避免错误)
- 将最多 32 个棋子的完整棋盘发送给玩家 2
ios - 挑战在线 Xcode
我已经准备好用 Xcode 制作我的第二个应用程序了。首先我使用了 cocos2d,一个简单的游戏。现在我想创建一个两个玩家可以挑战的应用程序,例如 RUZZLE。玩家注册我的应用程序并与其他玩家一起玩。
我可以这样做吗?我需要服务器吗?我需要使用应用程序或苹果的api代码吗?我可以使用脸书吗?我可以使用我的网站吗?
所以,我不知道如何开始。cocos2d 中有我可以使用的插件吗?我没有找到任何关于这个的教程。
PS:我不想使用游戏中心。
mysql - 在线通讯应用
我正在尝试制作一个允许100-200人操作的小型在线游戏(就像一个聊天工具,但主要是点击用户终端上的按钮)。
我有用户终端 UI,它与我的数据库(我的服务器上的 MySQL,一个免费服务器)进行通信。目前,我可以在我的 UI 上进行操作,我的应用程序可以正确地将信息发送到我的服务器并将数据保存到我在服务器上的帐户中。
我想知道如果两百人同时操作,这个应用程序是否会工作?我无法测试它,因为我没有这个人群来帮助我。有没有人有这方面的经验?如果我需要我的服务器根据所有用户的数据进行计算,会发生什么?我是否需要添加队列之类的东西来根据接收时间按顺序处理信息?
提前致谢。
ios - 如何将“非消耗品购买”与“在线多人游戏服务器”同步
我们正在为 iOS 平台开发一款在线移动多人游戏。
在我们的游戏中,玩家可以购买并激活“PRO”模式以获得一些额外的好处。
因此,我们创建了一种“非消耗性”类型的应用内购买。因为,“PRO”模式是一种一次性购买,永久激活的物品。我们将激活它并将必要的数据存储在服务器上,但我们还需要有关“谁刚刚从 iTunes 游戏商店购买了此项目”的信息。
我的问题是:我们如何同步用户的appleid和服务器游戏帐户?appleid 是我们无法从 SDK 中获取的私有变量。
我们也不能使用identifierForVendor,因为有人可以在同一设备上使用不同的帐户登录和注销。
这种情况有什么解决办法吗?还是您建议我将此项目更改为“消耗性”类型并处理服务器端的所有工作?(我想这种情况将来也可能会造成某种麻烦)
编辑:我怎么能检测到:有人删除了应用程序,重新安装,用不同的帐户登录游戏服务器并为这个帐户恢复 PRO 模式(他可以很容易地做到这一点,可能他的很多玩游戏的朋友)我想知道,如何在这种情况下我可以匹配 appleuser <==> gameuser吗?
android - 安卓二人游戏,在线玩
我有一个简单的两人安卓游戏(如国际象棋),我想添加一些功能让用户在线对战。我宁愿让这个尽可能简单(所以没有复杂的网站让用户互相见面并保持评级等;相反,只是能够以某种方式“查找”你的好友并与他进行快速游戏或她)。
首先,有没有办法做到这一点?从我的研究来看,似乎没有,或者至少没有“简单”的点对点方法。诚然,我已经有一段时间没有对 Android 的 p2p 进行过多研究了……
那么另一种方法是设置服务器,但我不知道如何做到这一点。有没有人有一些关于如何设置一个简单的服务器来启用这样的在线游戏的链接、信息等?
谢谢!
javascript - 为什么我缩放的 HTML5 画布上的“像素”奇怪地对齐?
我目前正在编写一个类似于经典诺基亚 Snake 的基于 HTML5 画布/JS 的小蛇克隆。(这是我的第一款 HTML5 canvas/JS 游戏,也是我的第一款游戏,我还是个新手程序员;))
为了简单起见,我决定让蛇和樱桃的每个部分都只有 1 个像素,但这通常会导致蛇和樱桃非常小!;) 所以我决定用 .scale(8,8) 缩放画布,这样每个像素都是 8*8。
但出于某种奇怪的原因,这些“大像素”(8*8 缩放像素)似乎相互重叠。可以在这里看到:
不幸的是,我完全不知道为什么会发生这种情况,因为正如我之前提到的,我对 HTML5 canvas/JS 的东西还是很陌生,我以前只用 Qt/QML/C++ 和 Python 编程过。我在 Firefox 26(在 Linux 上)和 Konqueror(在 KDE 4.11 上)(WebKit)中都尝试了我的游戏,这两个浏览器似乎都有问题,所以我认为它与 Gecko 无关。