问题标签 [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.
android - 创建在线游戏的最佳方法?
我开发了一个基于 Scopy 的简单纸牌游戏。现在我想升级我的 1 对 1 在线游戏的应用程序。我对Java并不陌生,我知道套接字。我想知道是否有更好的方法来开始这项工作。
编辑:这是一个回合游戏,玩家只需交换一个代表一张卡片的字符串。
udp - 网络游戏服务器
我想制作一个多人在线游戏,它需要用户之间进行一些快速的数据交换(这就是我需要 UDP 的原因)。所以,我可能需要一个 UDP 套接字服务器,它会从游戏房间里的玩家那里接收数据,并将这些数据发送给那个房间里的其他玩家。我对吗?我应该为这个服务器使用什么?可能我必须放一些脚本,这些脚本将一直运行并为客户服务。这个脚本应该用 Java、Perl、Python 等编写吗?我只是不想浪费我的时间并选择完全错误的方向,所以我需要一些建议。
谢谢 :)
php - 在线游戏高分列表的 MySQL 性能
我有一个关于制作“高分榜”的问题。
假设我有一个拥有 1.000.000 活跃用户的在线游戏。每个用户都有从 0 到 X 的分数。现在,我想显示一个排名列表。在一页中显示所有百万条目是很疯狂的,因此它被分成 Y 页(每页 100 个条目 => 10.000 页)。
我不确定如何解决它。
1. 最简单的方法是加载所有 1m 条目
在一个 SELECT 中,获取结果并使用 for 循环查找当前用户并显示该特定页面。(但所有其他 999.900 条目将保存在 RAM 中,即使它没有显示出来)。对于页面更改,我可以只使用结果数据而无需第二次数据库调用。(所以我不在乎那段时间的点数变化)
2.我的第二个想法是,单独加载每个页面,但我不知道
2.1 性能是否真的更好 2.2 如何获得正确的起始页,因为我只有用户的积分,而没有真正的他的位置
那么我该如何解决这个问题。我真的不知道mysql可以处理什么。更多的小电话比一个大电话更好吗?我什至可以保存大量结果数据吗?第二种解决方案会在每次页面更改时更新所有更改点,但我更关心性能,然后总是更新列表数据。
谢谢您的帮助!马库斯
c# - 线程局部变量
我正在为多人游戏开发服务器,我想为每个玩家提供自己的 Lua 线程,我想填充一些独特的全局变量,例如玩家的姓名和 ID。基本上,我希望能够从主机应用程序设置线程局部变量,而无需在我正在编写的实际脚本中添加任何额外的代码,然后我可以在播放会话期间使用它,只要我调用一个函数。Lua有可能吗?
更新:我的应用程序是多线程的,多个播放器可以同时运行脚本。我对在 Lua 中设置函数环境的理解是它会全局更改它,这在我的情况下不起作用。
design-patterns - 在线游戏中处理的成就使用了哪些设计模式/架构
一直让我好奇的一件事是,网络游戏如何能够实时处理真正新颖或独特的成就,并立即给你一个徽章。
像获得 10 次击杀或完成一个关卡这样简单的事情似乎很容易,但是像在跳跃时将剪辑中的每颗子弹射向一个人这样的事情 - 或者类似的事情似乎对编程来说非常疯狂。
他们是否只有一个大处理器,可以读取所有活动的实时日志并不断计算每个成就——或者成就是否被编程到游戏本身,进入游戏逻辑?后者似乎并非如此,因为游戏的新成就相当频繁地出现。
这种事情是否有完善的模式或架构?
html - 禁止在 HTML 页面中复制和“搜索”文本
我有一个简单的在线游戏,人们必须回答问题。他们最多有 30 秒的时间来回答,我发现大多数人使用“复制和粘贴”来简单地将问题复制到谷歌搜索并在互联网上找到答案。或者他们也可以使用“选择文本”并使用人民币菜单项“在 Google 中搜索”。
我正在寻找的是一个很好的保护。鼠标按钮禁用无效,我不想限制复制其他内容。
我最好的想法是使用混合字符的字体。我只会用这种字体来提问,他们可以复制和粘贴用这种字体写的问题,但是当他们把它放到谷歌搜索行时会看到一团糟。
你认为它会起作用吗?或者你可以提出更好的想法?如果您认为混合字符字体是个好主意,我该如何制作这种字体?有什么工具可以做到这一点吗?
谢谢!
python - 3个或更多用户的多人游戏参与者匹配
我正在建立一个小型的业余爱好网站,主要在后端使用 Python 和 SQL,但我不确定如何从概念上解决问题。
在多人游戏中让三个或更多玩家匹配的有效方法是什么?我最初计划通过 SQL 语句完成大部分操作,其中每个活跃玩家都被输入到一个 SQL 表中,我们称之为活跃游戏表,当他们表示他们想玩游戏时。之后,我打算让 SQL 活动游戏表执行触发功能,其中,当指定数量的玩家进入该表时,他们都被分配了一些 game_ID,指定他们将被分配到特定的游戏. 然后,此 game_id 用于确保所有操作在这些成员之间唯一发生。最重要的是,如果队列太长,则需要为活跃玩家设置超时触发器。
这是处理此任务的有效方法吗?我担心这是大量的 SQL 数据库命令。我最近还听说,对经常使用的命令使用 SQL 触发器通常是不受欢迎的。如果这不是解决此问题的明智方法,那么有哪些更有效/可扩展的方法来处理多人匹配的用户匹配?请尽可能详细地介绍算法步骤。考虑到多人游戏的数量,这似乎很频繁地进行,但我真的很难找到有关如何处理它的材料或任何其他指导来源。
编辑:相关参数主要是将人们分组到他们选择的游戏中。其他对匹配用户感兴趣和重要的可能是技能水平,其中可以根据三个用户的赢/输记录来衡量三个用户被分配到同一场比赛的可能性。
现在,我想知道如何处理将三个玩家准确分配到游戏中。我很好,并且仍然会发现它非常有用,如果即使在不考虑用户技能水平的情况下描述算法,那么任何一种类型的描述都会非常感激。
javascript - 在php中使用多个参数调用js函数
大家好,我尝试编写一个 php 游戏,我的问题是我想在我的 php 代码中调用调用 js 函数,我写了
我的js代码是
什么时候不工作请帮帮我
`
routes - 收到后是否有其他方法可以路由数据包?
所以我正在为我的一个项目(一个游戏,如果这些信息是相关的)开发网络系统。我正在使用 tcpip v6,我已经决定基本上将数据包的格式设置为
我认为拥有 65k 个不同数据包的选项给了我足够的回旋余地,我无法想象数据包会变得比这更大(在游戏中,这有点愚蠢。)
目前,我有一个将 int 映射到函数对象的无序映射:
在处理数据包时,我基本上会这样做:
是的,错误检查有点轻。这只是演示的示例代码。
但是,是的,还有其他方法可以根据 ID 路由数据包吗?即使它们在技术上不是更好,即使只是为了教育目的,即使知道替代方案也是整洁的。
networking - 如何在 Unity 中更改在线多人游戏中玩家的回合
我是 Unity 的新手,我正在尝试创建一个在线多人游戏。这场比赛是一场坦克大战。坦克是预制的,它被称为创建两次。当您按空格键代码时,坦克会发射子弹。我已经完成了所有的网络连接,但现在我想控制玩家的转向。例如,如果 localPlayer 射击一次,则必须轮到第二个玩家,依此类推。
任何人都可以帮助我吗?