问题标签 [mmo]

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 投票
3 回答
3775 浏览

python - 用于设计 mmo 的好的 python 库?基于演员的设计

我正在尝试使用python设计一个mmo游戏......

我已经评估了stackless,因为它不是一般的python而且它是一个fork,我不想使用它

我正在尝试在 pysage candygram Dramatis 和 parley 之间进行选择

有人尝试过这些库中的任何一个吗?

非常感谢您的回复

0 投票
4 回答
2336 浏览

linux - 使用 Linux 虚拟服务器对 MMO 游戏中的区域进行负载平衡

我是 MMO 游戏的开发人员,目前我们在我的公司面临一些可扩展性问题,我认为这些问题可以通过游戏世界的适当集群来解决。

我真的不想重新发明轮子,这就是为什么我认为 Linux 虚拟服务器可能是一个不错的选择,尤其是使用一些 7 级负载平衡技术。

我目前正在将ktcpvs视为一种负载平衡解决方案,并想知道它是否是一个正确的选择。

主要思想是在专用服务器上运行多个区域(就我的游戏而言,“位置”)。当玩家决定去某个特定位置时,负载均衡器决定哪个区域服务器将实际为玩家服务(这实际上是我需要 7 级负载均衡器的原因)

大家觉得上面说的怎么样?

更新:我向 LVS 用户邮件列表发布了同样的问题http://marc.info/?l=linux-virtual-server&m=124976265209769&w=2

更新:我也在 gamedev.net 论坛http://www.gamedev.net/community/forums/topic.asp?topic_id=544386

0 投票
3 回答
1362 浏览

iphone - iPhone mmorpg 中的高延迟

现在我正在尝试为 iPhone 制作一个 mmorpg。我已将其设置为 iPhone 每秒多次请求播放器位置。它是如何做到这一点的,客户端使用异步 NSURLConnection 向 php 页面发送请求,该页面从 mysql 数据库加载位置并以 json 形式返回。但是,从请求位置到实际加载位置大约需要 0.5 秒。这似乎真的很高,是否有任何明显的事情可能导致这种情况?

此外,这也会导致客户端上的玩家移动也非常不稳定。是否有任何算法或方法来减少玩家运动的不连贯性?

0 投票
2 回答
15194 浏览

php - 寻找 php 游戏引擎/框架

我正在寻找 php 游戏引擎/框架。免费或便宜,最好是开源的(但这不是必需的)。如果没有类似的东西,我会修改一些开源游戏......

我非常喜欢《绿龙传说》(简单但有趣的游戏:),但它的使用条款非常有限——它们不允许您在游戏中放置广告、将捐赠按钮更改为贝宝以外的其他东西等。 .

0 投票
3 回答
12109 浏览

game-engine - 网络游戏客户端如何能够如此快速地通过互联网交换数据?

让我们想象一下非常简单的游戏......我们有一个迷宫和两个玩家试图通过互联网实时找出出口。

每次移动游戏客户端都应该将玩家的坐标发送到服务器并接受另一个客户端的当前坐标。怎么可能使这种交换如此之快(就像所有现代游戏一样)。

好的,我们可以使用 memcache 或类似的技术来减少服务器端的数据挖掘操​​作。我们也可以使用最快的网络服务器等,但我们仍然会遇到时间问题。

所以,问题是...

  1. 游戏客户端通常使用什么协议与服务器交换信息?
  2. 有哪些服务器技术可以解决这个问题?
  3. 什么算法适用于游戏中的延迟战斗等。
0 投票
5 回答
1118 浏览

php - 如何使 javascript/php 聊天室在加载时间和 sql 通信方面更高效

现在我的 javascript 聊天设置可以正常工作,就像

在函数中,我将使用 JQuery 进行获取帖子以从 php 脚本中检索消息,这将 1. 启动 SQL 连接 2. 通过 SQL 验证它是合法用户 3. 自上次用户访问后仅检索新消息 4 . 关闭 SQL

这很好用,聊天也很完美。我担心这是打开和关闭大量 SQL 连接。它非常快,但我现在想制作一个小型 javascript 多人游戏,并每秒 3 次传输用户坐标以及其他数十个变量,其中我每次打开和关闭 sql 连接并提取信息每次从众多表中提取的效率可能不足以顺利运行,并且可能对服务器造成太大压力。

有没有更好更有效的方式来传达我应该知道的所有这些变量,这些变量在我的服务器/数据库上并不难?

0 投票
1 回答
3709 浏览

python - 我正在寻找一个 Python 多人游戏服务器项目

我正在寻找一个 python 多人游戏服务器项目。我只是想了解更多。

0 投票
1 回答
1078 浏览

actionscript-3 - 用于虚拟世界的开源多人 Socket 服务器

是否有任何可用于虚拟世界开发的开源多人套接字服务器?我一直在看 SmartFoxServer 和 Electroserver,但那里非常昂贵。

0 投票
4 回答
1588 浏览

save - 在 MMO 中保存数据

您对在 MMO 游戏中保存数据(例如角色统计数据、成就、物品)有何看法?显然,如果(当)服务器由于某种原因出现故障时,您希望尽可能少地丢失数据。

  • 每当有重要事情发生时保存角色?看起来神经兮兮的,性能方面?
  • 每隔 X 小时保存一次?导致几秒钟的冻结,但可能伴随着一个很好的“世界正在拯救”消息。
  • 也许每个角色都有一个保存计时器,您可以在其中将角色排队等待每隔一段时间保存一次,并且服务器在不忙时会在此队列上工作?

在这三个中,我认为最后一个是一个很好的解决方案,但我可能忽略了一些东西。但是你的想法是什么,“大男孩”是如何做到的?

0 投票
1 回答
246 浏览

time - 基于时间的引擎中的非线性事件

在简单的“基于步骤”的图形引擎中,对象移动直接与帧速率相关联。这在 1980 年代硬件相同时很好。

多年来,发动机一直“基于时间”,d=s/t。这意味着无论计算机的帧速率或功率如何,一个对象从 A 到 B 都需要相同的时间。

如果一切都是基于时间的,我们如何执行角色被 NPC 击中时生命值减少 x 的动作?“命中”可能是每 5 秒一次。

据我所知,这 5 秒的延迟称为“心跳”。许多 MMO 使用这样的心跳,这对于很多动作都是全局的。

在基于时间的引擎中,“心跳”是用于非线性事件的最佳方法吗?

更新:

感谢您的详细回复。如果可能的话,我会尽力澄清。我正在尝试决定 MMO 服务器使用哪些选项在内部模拟它控制的世界。

据我了解,系统中有 3 个主要的“刺激”会导致对象发生变化: 注意,这些仅在服务器内部。

  1. 线性集成操作。这些都是在游戏循环中完成的。例如 NPC 从 A 到 B 的移动。

  2. 客户端事件。就服务器而言,这些发生在看似随机的时间。例如用户点击开火。

  3. 基于时间。这些以心跳间隔发生。例如,检查任何空闲的 NPC 并给他们一些事情做。

第 3 步是我正在努力解决的问题,并希望澄清这种方法是否正确。我希望这能澄清我的问题。